summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Remove Permissions Hub."Luca Stefani2019-09-041-0/+47
| | | | | | This reverts commit 5747740517e37ebe05209fde129cc776af4c2127. Change-Id: Ic38e77e8b11baa2dded3593089720d6592d8ddb6
* Add logging to PermissionAppsFragmentStanislav Zholnin2019-06-211-0/+44
| | | | | | Test: make statsd_testdrive && ./out/host/linux-x86/bin/statsd_testdrive -p com.google.android.permissioncontroller 218 Bug: 133401502 Change-Id: I51d8d1eed099fa17d2e8b6726cd174436a4c457e
* Creation of sessionId and passing it between PermissionController fragments.Stanislav Zholnin2019-06-061-5/+17
| | | | | | | | | SessionId will be used in logging of user interactions with PermissionController Test: Tested locally with log statements added to each activity. Bug: 133401502 Change-Id: I04dd387421017b1e663d5933ad37ef24e21ec38a Merged-In: I04dd387421017b1e663d5933ad37ef24e21ec38a
* Remove Permissions Hub.Joel Galenson2019-05-301-47/+0
| | | | | | Bug: 132292477 Test: View all related screens. Change-Id: I23aecd976b51d864b198c39994736060fc7a0785
* Use the full permission label to avoid truncation in some locales.Joel Galenson2019-05-081-1/+1
| | | | | | | | Fixes: 131630237 Fixes: 131837398 Test: View PermissionAppsFragment and AppPermissionFragment in English and Spanish. Change-Id: I9ac6dafb564566edfd9fe1b5ffd69a9137acdca3
* Fix minor Talkback issues.Joel Galenson2019-05-061-0/+3
| | | | | | | | Fixes: 132047086 Fixes: 132050707 Test: Select non-linkable preferences with Talkback. Test: Click on clickable icon in header with Talkback. Change-Id: I9362b10b6dfc90b8a05ec0456c0ebae3ed98ae41
* Improve links in AppPermissionFragment.Joel Galenson2019-05-061-1/+2
| | | | | | | | | | | Show the links when Permissions Hub is disabled. Disable a link if it would take us back to the caller. Fixes: 131923747 Test: Open screen from four callers and see correct links with Permissions Hub enabled and disabled. Change-Id: I421ccce14e5880b308a5ad079645fd2ca0b2631b
* Merge "Show non-work apps before work apps." into qt-devTreeHugger Robot2019-05-031-1/+7
|\
| * Show non-work apps before work apps.Joel Galenson2019-05-031-1/+7
| | | | | | | | | | | | Fixes: 131907428 Test: View PermissionAppsFragment with work profile. Change-Id: I153a077232b28a23acc48b9d1e0b5539e025e8e1
* | Support multiple profiles in AllAppPermissionsFragmentJoel Galenson2019-05-031-2/+2
|/ | | | | | | | | | | | | | | | | | | This required changing a number of callsites. In addition, I fixed SettingsWithLargeHeader's icon to be clickable, although it's only used in one place. And I disabled that place to be consistent with Settings' app info, which makes it non-clickable. Fixes: 131859961 Test: Open work app's AppPermissionsFragment, select "All Permissions", see work profile icon, click info button, see work profile icon. Test: Do the same for non-work app and see unbadged icon. Test: Grant permission through the dialog. Test: Click on AppPermissionsFragment's header for work/normal app when coming through AppPermissionFragment. It worked before I disabled it. Change-Id: I14e05b40e77b3949f5e5535070da9f1c524fef5a
* Do not show multiple footers if no usages are available.Joel Galenson2019-04-171-1/+4
| | | | | | | | | | | | We show a footer in PermissionAppsFragment if no permission usages are available. If you go to such a screen, click on an app, and go back, a second footer appears. This fixes that bug. Bug: 129536503 Test: Go to page with no usages, see one footer, click on an app, go back, still see one footer. Change-Id: I8dd7741134f4fe007c6cd07b2549d6a94b4cbca4
* Add function to control for which permissions to show usages.Joel Galenson2019-04-021-0/+12
| | | | | | | | | | | | | | | Add a function to control whether or not to show permission usages for each permission group. If we do not want to show them, we do not return the usages or show them in the UI. We also show a special string explaining it in AppPermissionFragment and PermissionAppsFragment. Note that we currently show usages for all groups, so this is currently a no-op. Fixes: 129536503 Test: Temporarily disable a permission's usages and inspect screens. Change-Id: Ic3482c1cee5d6aac5802be7d761974326f121624
* Tweak Permissions Hub style.Joel Galenson2019-03-271-2/+2
| | | | | | | | | | | | | Make the gear icon gray instead of blue. Reduce the space between the permission icon and its label. Make the permission icon smaller when it's in the header of Permissions Hub and PermissionAppsFragment. Bug: 128439459 Test: View screen. Change-Id: Ie6596175d7351aaf4d2042eb5e81d06df7412686
* Update strings for denied permissions.Joel Galenson2019-03-261-6/+17
| | | | | | | | | This clarifies that denied permissions that have been accessed are only currently denied. Fixes: 129347610 Test: View screens. Change-Id: Ieebe4eba6a6f11bb6bdb5feaa3734e1f72364cd5
* Change PermissionAppFragment's header for Location to "Allowed all the time"Joel Galenson2019-03-251-0/+8
| | | | | | Fixes: 128514107 Test: View PermissionAppFragment for multiple permissions. Change-Id: I1149a665f905a77eca8ff7e154a93f6dd087c538
* Implement dual storage permission modelPhilip P. Moltmann2019-03-201-2/+1
| | | | | | | | | | ... and remove old special handling of storage permissions. Test: - Looked at UI with apps in different quadrats of the storage permission model - Tried to revoke permssion of grandfathered Q app Bug: 126785920 Change-Id: I1ed80a4d1f681820711796cf2265615261491892
* Add a header showing the permission name, icon, and description to ↵Joel Galenson2019-03-191-5/+14
| | | | | | | | PermissionAppsFragment. Fixes: 124677177 Test: Open screen and see description. Change-Id: Idbc2bc041bf4792a99d7d34fe0eaf3bf866f6f62
* Merge changes from topic "userSensitive"Philip P. Moltmann2019-03-081-5/+1
|\ | | | | | | | | | | | | * changes: Make permissions settings UI respect user sensitive. Update the policy to match the consensus Introduce and populate PackageManager.FLAG_PERMISSION_USER_VISIBLE
| * Make permissions settings UI respect user sensitive.Philip P. Moltmann2019-03-041-5/+1
| | | | | | | | | | Test: Looked at UIs and saw flag honored Change-Id: Id349c7498ff4e6036edd00418b2aa6754c85a2fb
* | Do not show "never accessed" when Permissions Hub is disabled.Joel Galenson2019-03-071-1/+1
|/ | | | | | | | | Ensure that AppPermissionsFragment and PermissionAppsFragment do not show the "never accessed" subtitle for unused permissions when Permissions Hub is disabled. Test: View them with it enabled and disabled. Change-Id: Idbaba53a118b62e14fd73098280fe398e925c46c
* Do not show usage information for custom permissions.Joel Galenson2019-02-271-0/+3
| | | | | Test: View these three screens for custom permissions. Change-Id: Ie3c55860beec1655a05dcd294c60eec718a0d18b
* Add a never accessed subtitle to permission screens.Joel Galenson2019-02-191-0/+2
| | | | | | | | | Modify PermissionAppsFragment and AppPermissionsFragment to print out a string when a permission was never accessed. Fixes: 124768207 Test: View screens. Change-Id: I34afda527e0ae2366a6f183ac2d20fea208bd2ac
* Update PermissionAppsFragment and AppPermissionsFragment.Joel Galenson2019-01-171-3/+40
| | | | | | | | | | | | | | Show a subtitle with the last time each app used a permission in PermissionAppsFragment. Use absolute time instead of relative time. Add an "allowed only while in use" header to PermissionAppsFragment. It is only shown when there are elements for it (i.e., only for location). Test: Open PermissionAppsFragment. Change-Id: I4c65d34da60255712c7975fd2559e88fd68b4977
* Update PermissionController to use the new historical ops APISvet Ganov2019-01-091-1/+2
| | | | | | | | | | | | | | | | The historical ops API changed and we had to update the code to use the new APIs. The new APIs now read history from the disk which would be a problem with the current impl where we make multiple calls into the app ops manager - one per app. It is more efficient to make a single call for all data we care about. This change adds a new mechanism to load the data once and off the main thread as the IPC would hit the disk. Test: manual bug:111061782 Change-Id: I86113929fdd4a80fe620ed3eccd591712de30f47
* Fix crashes when entering battery saver mode.Joel Galenson2018-12-141-1/+1
| | | | | | | | | | A number of the Permissions Controller screens crash when enabling battery saver mode while they are open. This fixes them by properly checking for a null Activity. Change-Id: I147028bd3cfaaf28cd3a68c8c9c51a05756fc199 Fixes: 117661500 Test: Enable Battery Saver mode in many screens and see no crash.
* Do not use truncated app label when there is room.Joel Galenson2018-12-121-3/+1
| | | | | | Change-Id: I3e2de3e446fe0ae7c2c7bd7b5df8d8a56354b105 Fixes: 120872584 Test: See app label without truncation.
* Clean up and rename PermissionUsagePreference.Joel Galenson2018-12-101-15/+6
| | | | | | | | | Clean up PermissionUsagePreference by adding some utility methods. I also renamed it since it hasn't had a usage object in a while. Test: Open various Fragments and see everything as expected. Change-Id: Ic1b3effd7cfda6f5afa9eb82758d87f3202530bd
* Show message when no apps/permissions are allowed/denied.Joel Galenson2018-12-101-0/+11
| | | | | | | | | | Instead of showing an empty allowed/denied header, we now show a message saying that nothing is there. Change-Id: I6e8ccd31c4af9f9ef6a0f699bc91fd7fd732e52b Fixes: 120675937 Test: See messages when no apps/permissions are allowed/denied. Test: Ensure message appears/disappears as I toggle permissions.
* Avoid abbreviating package names unnecessarily.Joel Galenson2018-12-101-2/+6
| | | | | | | | This ensures package names fill up the full width. Change-Id: I87711d7460b39f10e918fc968517291347fdf843 Fixes: 120661355 Test: See package names ellipsized at the end.
* Show correctly-sized app icon.Joel Galenson2018-12-101-1/+1
| | | | | | | | | Previously the app icon was a bit larger than it should be. This fixes it so that it is more in line with the permission icon. Change-Id: I2f89b07e0818b8c365b59b87667cf5507f226e55 Fixes: 120632634 Test: View screens.
* Show only while in use subtitle for location permissions.Joel Galenson2018-12-101-2/+17
| | | | | | Change-Id: I35139f9e7b7a6d5d53d4dc8b11103ebc9435c4b8 Fixes: 120629996 Test: See subtitle change correctly as I toggle permissions.
* Ensure apps and permissions are correctly sorted by the locale.Joel Galenson2018-12-061-45/+35
| | | | | | | | | | | | | | | | This modifies PermissionAppsFragment and ManagePermissionsFragment to sort the list of apps and permissions in a locale-sensitive way using a Collator. AppPermissionsFragment was already correct because AppPermissionGroup's compareTo method uses a Collator, but at Philip's suggestion I modified the UI element to sort as well to avoid that hidden dependence. Test: See alphabetical ordering of apps and permissions in English and in Spanish for the modified fragments. Change-Id: Ifaaaad711314f755ce23ed911385f083cae8e2b7
* Correctly sort PermissionAppsFragment when toggling system apps.Joel Galenson2018-12-051-0/+3
| | | | | | | | | My previous commit accidentally modified the behavior so that showing system apps would add them to the bottom of the list. This restores the old behavior of keeping things in sorted order. Test: Show/hide system apps, see alphabetized list. Change-Id: I1a8f65c76b92a49c7ecf427a7c8165653e21a4e4
* Have most uses of PermissionPreference go to AppPermissionFragment.Joel Galenson2018-12-051-77/+51
| | | | | | | | | | | | | | | | | | Part of the Permissions Hub redesign modifies the existing AppPermissionsFragment and PermissionsAppFragment screens to contain links to the new AppPermissionFragment instead of the inlined toggles of PermissionPreference. This implements that change. In addition, I added the subtitle for individually-controlled preferences to AppPermissionFragment and updated to the latest mocks, which show the most recent usage in the subtitle in AppPermissionsFragment. Bug: 63532550 Test: Open both fragments, change a permission, verify that the preference is moved to the proper segment. Change-Id: I7001e76532426f58581ba7000846117d07cff043
* Warn every time when revoking default granted permissions from list ofPhilip P. Moltmann2018-10-251-3/+2
| | | | | | | | | | | | | | | | | | | | | | | apps (1) When looking at a list of apps and revoking permissions it is not clear which permissions are granted by default and which are not. Hence we should warn before a user revoked permissions that are granted by default every time. (2) This is different from looking at an app. In this case permissions are usually all granted by default or not granted. Hence in this case we only warn once and not when the user revoked the second permission. We used to only show the warning once in the first case, but should not. This changes fixes that. Test: Revoked granted-by-default permissions from list of all apps and from list of all permissions of a app. Change-Id: Ie0481a8c3936b82934b534ff172ff03d10e715c5
* Add settings search button to permission UIPhilip P. Moltmann2018-10-011-2/+2
| | | | | Test: Went through all permission settings UI and pressed the new button Change-Id: Icfd702d82d53a62746ed1bcf3341f051de9c2d80
* App icon in PermissionController should be as large as in SettingsPhilip P. Moltmann2018-09-251-1/+1
| | | | | | | | | .. hence force the icons to be the same size (i.e. dimens/secondary_app_icon_size) Test: Looked at permissions settings before and after Change-Id: I2ed9c3bc03ef744160af4be71686ddd6d7a9a3bb Fixes: 116364655
* Use system API to get network location providerPhilip P. Moltmann2018-09-061-1/+1
| | | | | | | | | | | | The PermissionController app wil become a mainline app. Hence it cannot use internal APIs anymore. Hence use the newly added LocationManager system-api to get the location provider. This forces to pass through the context everywhere. Test: Built Bug: 110953302 Change-Id: Id7685198da08d3e888169a6d6e8f09b0d909dff9
* Use androidx.permissions in permission controller handheld settings UI.Philip P. Moltmann2018-08-281-21/+18
| | | | | | | | | This allows the Permission Controller app to use the same theme as the main settings app. Fixes: 73776685 Test: Looked at permission related settings UI Change-Id: I2d946a53bcec628ee9f4f1bc4358dfb1577a7855
* Split PackageInstaller app into installation and permissions managementPhilip P. Moltmann2018-07-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The two components were mostly independant for a long time. Since I1e80a3f5e63d02b3859ecf74af21ca4c61f96874 the installation flow does not grant any permissions anymore and the last connection between these parts was broken. The new app "com.android.packageinstaller" in frameworks/base/packages/PackageInstaller will only handle (side load) package installtion and uninstallation. The exisiting app will be renamed to "com.android.permissioncontroller" and only handle permission granting and permission management. This change does only minimal cleanup cleanup. In particularly it does not move any files in the old permissions controller. This is to not disturb other features currently in development. This change set also updates the make files to install the two apps on the appropriate devices. Test: Granted permissions + managed permissions atest PermissionsHostTest atest CtsPermissionTestCases atest CtsPermission2TestCases Change-Id: I86d764d9fa2a0d5225276ecd383e68e33b0c22dc
* Simplify title for manage-actvityPhilip P. Moltmann2018-07-121-1/+1
| | | | | | | | | The old title was hard to translate and just showing the permission label is descriptive enough Change-Id: Ie025d23d4901b7187b6e4ce29a6980d5d2a1a2ba Fixes: 78331133 Test: Looked at permission UI and saw simplified strings
* Permission settings controls permission tri-statePhilip P. Moltmann2018-06-271-2/+9
| | | | | | | | | Amend PermissionPreference to show if a permission is always/only in foreground/never granted. Test: Looked at permission management UI Bug: 78788390 Change-Id: If0095f473ef81a80b7aa85696a56e0d0c303e6f8
* Extract common components in Permission settingsPhilip P. Moltmann2018-06-201-109/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (1) Extract PermissionPreference AppPermissionsFragment shows all permission groups per app and PermissionAppsFragment shows all apps per permission group. Hence they show the same data bu the entries are labeled differently. Still they should behave the same otherwise. The common code was extracted into PermissionPreference. State that is common among all preferences is handled via callbacks. DialogFragments cannot have references to the preference. Hence they have to call into the fragment and then the fragment has to call back into the preference. (2) Use one shouldShowPermission method The AppPermissionGroup are all permissions of a single group a app requests. Hence it contains a reference to the package. Hence there is no need to pass the package name into shouldShowPermission. Further there is no need for two separate shouldShowPermission. Actually the removed one checked less and thereby the UI showed slight inconsistencies (3) Simplyfy safetynet logging Safety net logging is meant to capture the event that a user changed the permissions an app can have. There was the assumption that togging the grant state of a permission group twice reverts the effect. This is actually not true as a group could have been partially granted --(toggle)--> fully revoked --(toggle)--> fully granted. This change removes this flawed double toggle logic and logs a group as soon as was toggled at least once. It some cases more than one permission group was toggled, sometimes from more than one app. This logic is now moved into the SafetyNetLogger so that the Fragments don't have to deal with that Bug: 78788390 Test: Toggled permissions and - checked the grant state of the permissions - chcked the safety net logging Change-Id: I5665938f5fe46cf7cd7f5229af032aaec9eb40d5
* Remember if the system is shown during lifecylePhilip P. Moltmann2017-02-241-2/+18
| | | | | | Test: Repeated steps mentioned in the bug Fixes: 35351771 Change-Id: I95803c2391cf4dda8c63d4b2ab1f5dacb4ee8ed7
* Polish permissions review UI.Svet Ganov2016-09-211-1/+2
| | | | | | | | | | | | | | | | | | | This change adds a more info button to the permission grant UI and the permission review UI which sends the user to the all permissions screen. It also adds UI to manage all permissions in the SMS group individually. Now tapping on the switch in the app permissions screen toggles the permission group and tapping on the permission name sends the user to the detailed permission-level management UI. Lastly, this change adds management controls to each SMS permission in the all permissions screen where tapping on the switch toggles the permission and tapping on the name as before shows a detailed description. Change-Id: I1d6cbc478c789e7680f41b92b9f3fa2504576ecd
* Merge "Fix the visibility for disabled apps in settings"Lei Yu2016-08-241-0/+4
|\
| * Fix the visibility for disabled apps in settingsjackqdyulei2016-08-221-0/+4
| | | | | | | | | | | | | | | | Bug: 30770664 Don't show disabled app in the PermissionAppsFragment. Change-Id: I0d97f7011c13c9a78e988901285f10ca9e5b2cd8
* | Fix the sorting bugs for system appsjackqdyulei2016-08-171-0/+2
|/ | | | | | | | | Bug: 30770664 Now the system apps and user apps are merged and sorted by alphabetic order. Change-Id: I45c933f9be30f138085f46f9515c38bf998bfb9a
* Don't offer menu items it they are no-opSvet Ganov2016-06-291-8/+19
| | | | | | | | | | | In the permission apps screen we have a menu item to show/hide system apps. It is possible that no system app uses the permission making the menu item do nothing. We don't add the menu item if no system app uses the permission. bug:29395895 Change-Id: I1756981b2f711fc7a886bd4227196fef1a3cea03
* Cleanup of the PackageInstaller API - PackageInstallerSvet Ganov2016-04-211-1/+1
| | | | | | | | | The PackageInstaller app manages side-loading apps as well as permission management. It should be updatable, hence should rely on system APIs to talk to the platform. This is the first step of defining an API boundary. Change-Id: I37aea1e5cc3195b8b636af6790af45fe5a9765cd