Permissions handling

A brief explanation of Android permissions

The Android system conditionally allows apps to access various resources or features based on permissions. For instance there are permissions to use the camera, make a phone call, access the location, and so on.

As any other third party apps, Lightning Launcher needs your agreement to activate permissions and access some protected features. This is usually a seamless process, and apart a few dialog boxes requesting your consent from time to time, you won’t have to worry about the details.
There are however two situations (explained below) where you may need to take manual actions.

1) The special “READ_CALL_LOG” and “READ_SMS” permissions

Lightning supports badges (aka dynamic texts) that display the number of missed phone calls or unread SMSes. This feature needs two permissions “READ_CALL_LOG” and “READ_SMS”.

Until January 9th 2019, third party apps were allowed to request these permissions and you were able to accept or deny the use of this feature. However, changes in Google policy make that launchers are not allowed anymore to request these permissions. This is not a change in the Android system but a change in the policy regarding the distribution of apps through the Google Play Store.

Technically it means that apps using these features can still work on your device, but cannot be published on the Play Store. Google forbid the use of these two permissions for most apps, in particular launchers. The consequence is that the app need to stop using the “READ_CALL_LOG” and “READ_SMS” permissions (and for Lightning it means no more badge displaying these data) otherwise the app is automatically removed by Google from the Play Store (but not from your device).

Fortunately, Lightning has a solution. While the app conforms to Google rules and doesn’t include anymore the aforementioned permissions, it is still possible to manually install them through additional packages.

To sum up: the “READ_CALL_LOG” and “READ_SMS” permissions were previously built into the app to support badges. Now you need to install them separately due to Google policy changes. Please follow the procedure at the end of this page for llx-permission-read_call_log.apk and llx-permission-read_sms.apk.

2) Extend the app feature through scripting

As Lightning Launcher allows users to write powerful scripts, it may be that these scripts want to access resources for which the app doesn’t natively request the permission. Instead of modifying the app to regularly add permissions, it is possible to install additional permissions packages as needed.

How to install a permission package

  • Go to https://www.lightninglauncher.com/permissions/. This page lists the available permissions. If you need a permission that is not listed here, feel free to request it by sending an email to the author.
  • Download then install the APK for the permission you need
  • Very important: enable the permission by toggling it in the Android screen dedicated to apps permission (look under “settings / apps”). You may need to enable it in both the main Lightning Launcher app AND the permission package.