Set a content description for each app entity.
If app is a work profile, then talkback says "work" app name.
Test: Rebuilt rom and talkback speaks correct description.
Bug: 127602715
Change-Id: I1952b77a18a884a887d912fb7edc44a12be70ad4
For mainline module apps, user can not install them from the play store.
We should not provide the play store link for them in app info page.
Therefore, we decide to hide their app details preference which is to
provide the play store link from the app info page.
Bug: 152718521
Test: visual and robotests
Change-Id: I46b64be0d725740c2b80a5251a42e9fc834e4596
- Here these pages include AppInfoDashboardFragment, ConnectedDeviceDashboardFragment,
DevelopmentSettingsDashboardFragment, NetworkDashboardFragment, ConfigureNotificationSettings.
- The TimeSpentInAppPreferenceController use the LiveDataController.
Fixes: 135299529
Bug: 137558156
Test: compilation
Change-Id: I455a16536c9966184f1b2bd81d1f1217f3e09f9d
It occurs NPE in invoking refreshUi() of AppButtonsPreferenceController
when user fully install the instant app from google play and then
directly open app info from the shortcut suggestion in launcher.
Root cause:
AppButtonsPreferenceController.refreshUi() will be invoked when user
directly open app info from the shortcut suggestion in launcher. In
refreshUi(), we will update the information of button preference, but
the preferences will not be initialized if device existed an instant
version for the app.
Solution:
Check button preference and initial them if need in refreshUi().
Fixes: 137854835
Test: visual, robotests
Change-Id: Id5c3e53b9db2683cab970c10eace7925d889eea3
* I1f7cccf0558960f867a8bf2d0ee14dc5ec9fd7a9 fixes the text but
there is no more icon for "manage space". Preserve the old
icon.
Change-Id: I3256f176b861cfa88780dfcbc54c6e38aac87c8b
- This special app Google Play services will change its hasLauncherEntry
value after receiving the MSG_LOAD_LAUNCHER.
- Update the summary while SpecialAppAccessPreferenceController is
receiving the onLauncherInfoChanged callback.
Fixes: 150480524
Test: manual test
Change-Id: I26b99fce54606644ee5603b4ca4730267c0f7ce5
- Use the AppInfoWithHeader to replace the DashboardFragment.
- It provide the AppHeader controller and handle the app update/remove event.
Fixes: 147996227
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.applications.OpenSupportedLinksTest
Change-Id: I1633c39fc926805a379c5c31845897914e5181a6
- Add interfaces to set/get metrics category in BasePreferenceController
for descendants having a chance to get it.
- Set metrics category in DashboardFragment
- Automatically log metrics in onPreferenceChange of
TogglePreferenceController
- Add support for TwoStateButtonPreference in TogglePreferenceController
to make the preference generic
Bug: 137559984
Test: robotest
Change-Id: Ia7e0d24a3db1991b18e0286d9894570fa71247a3
Apps that have implemented a managed space activity
gets the wrong label in Settings../App info/"Storage & cache"
Test: manual
Bug: 111674319
Change-Id: I1f7cccf0558960f867a8bf2d0ee14dc5ec9fd7a9
Also changed the install banner to not say "Tap to
install" if the intent to redirect to Play is missing.
Bug: 149774826
Test: tested manually that the metrics are being reported by running
./out/host/linux-x86/bin/statsd_testdrive 103
Change-Id: Ieebda237748b5dbff8e974465c5d67b147d92077
Fixed a crash in App info page that happens when
no work profile exists, also fixed some unit tests.
Fixes: 152933121
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesSettingsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesDetailsTest
Change-Id: I7a1e5857cb1e10b96b33abd64359ba30459b1b13
Some apps have pre-grant permissions, so when they get disabled and then
enabled again, those pre-granted ones will come back automatically. This
CL handles this kind of cases by listening to permission changes and
update the summary accordingly.
Fixes: 142053555
Test: robotests
Change-Id: I75b010139657ec3b4ff875de77573a46387e42c8
show all apps that requested the permission, show the admin
restricted dialog if the app is not whitelisted by the admin,
and show a link to install the app if the app is missing in one
of the profiles.
Bug: 149742043
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesSettingsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesDetailsTest
Change-Id: I2bc86b9966a2e14a12ee8f4b7f1b75f866ed98e3
noteOp should only used if the data protected by the app-op was
accessed. If you only want to know the state, use checkOp.
Test: TH
Bug: 136595429
Change-Id: I2b53ad413c10a71feb9c94848aef2f9f38f851d8
* isSystem was not being mocked.
* The tests where isSystem should return true
were not being tested properly.
Bug: 151569506
Test: atest com.android.settings.applications.appinfo.AppButtonsPreferenceControllerTest
Change-Id: Ib4249bca8f3c0321d0b64b4dbd4c4e5fc29586e1
* For an organization-owned device, the DPC should be able to
be uninstalled in the personal profile. Previously, the
observed behaviour was that the uninstall button in the App
Info Screen was being greyed out.
* This was because the previous logic did not allow for
uninstalling any app which has a profile owner or device
owner on *any* user.
* This CL updates this logic, such that, for non-system apps
uninstalling is blocked only if the app has a profile owner
or device owner for the current calling user.
Bug: 149381804
Test: Manual testing
atest com.android.settings.applications.appinfo.AppButtonsPreferenceControllerTest
Change-Id: Ifaf03daa41724dbbd869c7e1371a77cc39d15ac7
We previously changed ManageExternalStorageDetails to use
AppOpsManager#setUidMode instead of AppOpsManager#setMode, but forgot to
update the relevant unittest. This CL changes that unittest.
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ManageExternalStorageDetailsTest
Fix: 150914062
Change-Id: I2cfe7e7a19f2422474d11fb946089a6847b36b12
* For a work profile on an organization-owned device,
no explanation was being shown to the user as to
why the work profile cannot be removed.
* This CL adds a policy transparency dialog when the
'Remove work profile' option is selected in the
'Device Admin' Settings screen.
Bug: 149391073
Test: Manual testing
atest com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminAddTest
Change-Id: I8221973ed16fcc7c79f5897c3bea063050ae00a6
Security related app-ops should be set with AppOpsManager#setUidMode
instead of AppOpsManager#setMode.
Test: manual - toggle All Files Access for a test app, reboot device and
observe in /data/system/appops.xml that the mode was for UID instead of
package
Test: ensure that the right state is reflected in the relevant Settings
activities
Bug: 146425146
Merged-In: ac8aba0c4a
Change-Id: I261953ff88bc049cf0a2f04f8caac00b8cc6f704
(cherry picked from commit ac8aba0c4a)