Commit Graph

265 Commits

Author SHA1 Message Date
Chris Antol
22306eb982 Add Special App Access page for WRITE_SYSTEM_PREFERENCES permission
Bug: 374848822
Flag: com.android.settingslib.flags.write_system_preference_permission_enabled
Flag: com.android.settingslib.flags.settings_catalyst
Test: in-app test
Change-Id: I8116e40108175d2606b0c24655d457c1f04afc35
2024-11-15 01:36:04 +00:00
Treehugger Robot
115f4a804e Merge "[expressive design] Migrate App info page." into main 2024-10-17 09:32:23 +00:00
Yuchen
29a163888f [expressive design] Migrate App info page.
Test: visual
Bug: 360916599
Flag: EXEMPT bug fix
Change-Id: Icd98e1616288606b629cae7f9d9232a6efbfcaf3
2024-10-17 06:02:48 +00:00
mxyyiyi
7bfa060c5f Take as Unrestricted Mode in the UI if current Mode is Unknown.
- Battery usage mode MODE_UNKNOWN is (1) apps in allowlist and (2) app's OP_RUN_ANY_IN_BACKGROUND = MODE_IGNORED.
For this case, mode should be displayed as Unrestricted on UI since it is in allowlist; and should be logged as unknown mode for the potential compatibility issues.

- After Backup & Restore, the MODE_UNKNOWN will be reset to Optimized(Default) Mode on target device.

Bug: 372831500
Test: manual
Test: atest BatteryOptimizeUtilsTest
Test: atest AppOptModeSharedPreferencesUtilsTest
Flag: EXEMPT for simple fix
Change-Id: Ic18e026f71a4a50ffa1711e2ca0782aeb8b33076
2024-10-15 15:53:29 +08:00
Chaohui Wang
426cbd623d [Safer intents] App Time Spent Preference
Set package com.android.internal.R.string.config_systemWellbeing to the
intent.

Fix: 356117796
Flag: EXEMPT bug fix
Test: manual - on App info
Test: atest AppTimeSpentPreferenceTest
Change-Id: I2af7b53a75fe5c6915dd9781406039822789c18c
2024-09-04 11:18:28 +08:00
Steve Statia
2a3e96b4b5 Fix to hide Display over other apps permission setting for the Scone
application.

Flag: EXEMPT bugfix

Bug: 349195999
Test: manually testing that the setting is removed from Adaptive
Connectivity Services advanced settings page.

Change-Id: I3f306d24040f500c7fed4f44309e9f58f5f766be
2024-06-28 22:12:50 +00:00
Chaohui Wang
f557b1f45b Merge "Move logic about hide system / root UID apps" into main 2024-06-05 04:00:16 +00:00
Chaohui Wang
942622575a Disable "Reset app preference" during call
Reset app preference will dismiss all the notification, disable
"Reset app preference" during call so in call notification not get
dismissed.

Fix: 342627537
Test: manual - try "Reset app preference" during call
Change-Id: Ida9961ca30dc80c05d4de5bc9faac3203967f3d3
2024-05-30 05:44:14 +00:00
Amith Yamasani
5953a3386c Merge "Add a source parameter for resrictions logging" into main 2024-05-23 18:54:49 +00:00
Amith Yamasani
8b37c093b7 Add a source parameter for resrictions logging
Modify existing callers to use the new parameter

Bug: 341112680
Test: statsd_testdrive 866
      Manually change battery restriction level for an app
Flag: android.app.app_restrictions_api
Change-Id: I66f23341b90f96eb3091b94ab6db512570988643
2024-05-22 16:15:29 +00:00
Chaohui Wang
162796b6fe Merge "Create AppForceStopRepository" into main 2024-05-22 05:53:39 +00:00
Chaohui Wang
e5c231f8a9 Move logic about hide system / root UID apps
Same logic moved to super class.

Bug: 340413642
Test: manual - on toggle permission pages
Change-Id: I5c2796c69f9481255551c3aa191738875cf003f3
2024-05-21 05:42:21 +00:00
Chaohui Wang
e0d86be017 Fix default mode for AlarmsAndRemindersAppList am: 83aeb45f3c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/27391745

Change-Id: Ib16f3abadd2428f090ff9f28c9ea5045f64897be
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-21 05:35:34 +00:00
Chaohui Wang
83aeb45f3c Fix default mode for AlarmsAndRemindersAppList
When app ops permission's app ops mode is default, should check if
permission is grant.

Fix: 339846642
Test: manual - on AlarmsAndRemindersAppList
Test: unit test
Change-Id: Ia0f05211f5774637304502ead79dd98a1cf89886
2024-05-21 03:37:47 +00:00
Chaohui Wang
7a8d8fd091 Reapply "Migrate AppOps"
This reverts commit 19b01bd68b.

Bug: 341016088
Test: manual - on Special app access
Change-Id: I000274ae9c725f848e1c8910120ba886fcc5be95
Merged-In: I000274ae9c725f848e1c8910120ba886fcc5be95
2024-05-21 03:20:04 +00:00
Faye Yan
a7065f4d36 Revert "Add Voice activation apps into Settings->Apps->Special a..."
Revert submission 25108596-va-special-access

Reason for revert: voice activation is not going in V

Reverted changes: /q/submissionid:25108596-va-special-access

Bug: 306447565
Bug: 393727896

Test: presubmit

Change-Id: I4977e7d543cb800fc9fb6962bba3afebb9480dcc
Merged-In: I4977e7d543cb800fc9fb6962bba3afebb9480dcc
2024-05-20 11:56:48 +08:00
Faye Yan
f6b5904511 Revert "Add Voice activation apps into Settings->Apps->Specific app->AppInfo->Voice activation apps"
This reverts commit 7f2fbc2e4c.

Reason for revert: voice activation is not going in V

Test: manual - on Special app access
Change-Id: Idfabfd48f45d2ace7de9f8498181f281ad0358a1
Merged-In: Idfabfd48f45d2ace7de9f8498181f281ad0358a1
2024-05-20 11:56:47 +08:00
Chaohui Wang
fb48926fe8 Reapply "Migrate AppOps"
This reverts commit 19b01bd68b.

Bug: 339846642
Test: manual - on Special app access
Change-Id: I000274ae9c725f848e1c8910120ba886fcc5be95
2024-05-20 10:39:30 +08:00
ELIYAZ MOMIN
67c0cd96d9 Revert "Migrate AppOps" am: 19b01bd68b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/27382787

Change-Id: Iaa26113d70e2ee8792aa75bc625b2c68bc50f81d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-17 14:52:17 +00:00
ELIYAZ MOMIN
19b01bd68b Revert "Migrate AppOps"
Revert submission 27392016-cherrypick-AppOpsController-AppOps-w48m53c1or

Reason for revert: <Potential culprit for b/341210811- verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.>

Reverted changes: /q/submissionid:27392016-cherrypick-AppOpsController-AppOps-w48m53c1or

Change-Id: Ib9813a48170f4ef38de9eee811c677ad75f5401e
2024-05-17 10:48:57 +00:00
Chaohui Wang
d5d70536e8 Migrate AppOps am: 4573df2aaf
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/27378716

Change-Id: I2f099b8dd3c205f1eb467b3fc3d03a19cc978b74
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-17 06:31:51 +00:00
Chaohui Wang
4573df2aaf Migrate AppOps
Bug: 339846642
Test: manual - on Special app access
Change-Id: I988bdf85036478d8e6d87a3b5a1a46a35df38422
2024-05-17 02:57:31 +00:00
Song Chun Fan
4c02f29871 Merge "[Install-unknown-apps] Hide apps of system or root UID" into main 2024-05-14 03:04:13 +00:00
Chaohui Wang
298b738171 Create AppForceStopRepository
Use Intent.ACTION_QUERY_PACKAGE_RESTART for more accurate app state.

Fix: 340150349
Test: manual - on App info
Test: unit test
Change-Id: I1fb634b3fbee200f2251afa37ef2cba88ff58fe0
2024-05-13 19:21:39 +08:00
Chaohui Wang
7ca1ceb722 Use DataUsageFormatter to format app data usage
Use the new unitsContentDescription from Formatter.formatBytes()

Fix: 318780411
Test: manual - on AppDataUsage
Test: unit test
Change-Id: I55079c83db2e46a48f49f746f2371825ec0bb029
2024-05-13 12:41:27 +08:00
Song Chun Fan
f6bbda8984 [Install-unknown-apps] Hide apps of system or root UID
This also reverts ag/27176160, which handled apps like Settings but missed pre23 apps. A better solution would be hide apps that are of system or root UID.

BUG: 338066634
Test: manual

Change-Id: Ia1c3f50dd7c5edb718c695737db589ef55173682
2024-05-08 19:24:01 +00:00
Song Chun Fan
ba39bd6edd [Install-unknown-apps] not include all the apps that have OP_REQUEST_INSTALL_PACKAGES granted
Due to a recent change in AppOpsService, apps that share system_uid have all the appops granted. However, we don't want them to be listed under "Install unknown apps" if they don't explicitly declare the permission usage of REQUEST_INSTALL_PACKAGES in their manifest. This CL fixes that.

Change-Id: I025bc17c335093ae5d3b15a3bef67d659c8f790f
BUG: 338066634
BUG: 336677341
FIXES: 338066634
Test: manual by checking the Settings page
2024-05-03 21:48:16 +00:00
Ivan Chiang
dade97f27c Merge "Add the different summary for the app store details" into main 2024-04-29 04:26:18 +00:00
Manish Singh
544fa52e1a Merge "Don't show uninstall for all users" into main 2024-04-25 09:30:05 +00:00
Ivan Chiang
6afb9ece62 Add the different summary for the app store details
When the initiating package is different from the installing package,
show the different summary. E.g WebApk

Test: atest AppInstallerInfoPreferenceTest
Bug: 329140383
Change-Id: Icd5559bce06c059844269d70926b3c0b39589edb
2024-04-25 02:41:33 +00:00
Manish Singh
9229860d60 Don't show uninstall for all users
when the only profiles that have the package are hidden in quiet mode

Fix: 334041279
Test: atest AppInfoSettingsMoreOptionsTest
Test: manual
Change-Id: Ic8e594eb1db5bed926783a244a24e24c4435f04e
2024-04-23 16:54:09 +00:00
Varun Shah
74668d1e7e Merge "Remove RUN_BACKUP_JOBS special app access page." into main 2024-04-19 17:41:28 +00:00
Jason Chiu
8d3d975795 Merge "Remove the package name restriction of ACTION_UNINSTALL_PACKAGE" into main 2024-04-18 01:49:09 +00:00
Jason Chiu
5d82f6a648 Remove the package name restriction of ACTION_UNINSTALL_PACKAGE
PackageInstaller has protected the intent action by setting
"android:priority=1".

Test: manual
Fix: 332228634
Change-Id: If0794e5957366d8b26acd0362b59c6c9076a0c4f
2024-04-17 16:26:52 +08:00
Amith Yamasani
7676217e4d Call noteAppRestrictionChanged when toggling restrictions/exemptions
This is to log the reasons for restriction level change and force stop

Bug: 333882527
Test: statsd_testdrive 863
      Toggle battery restrictions manually for an app and verify logging
      of reason
      atest BatteryOptimizeUtilsTest
Change-Id: Ifcc99efc1b6acc5a992f7d952967210b07319f2e
2024-04-16 21:58:40 -07:00
Varun Shah
321e08e538 Remove RUN_BACKUP_JOBS special app access page.
Bug: 333624438
Test: visual
Change-Id: Ib01bd6556768a943ae7fae013c6ccb82b1b96697
2024-04-16 01:02:49 +00:00
Mark Kim
88dc6c43c3 Handle PackageManager.NameNotFoundException thrown from
`PackageManager.isAppArchivable` as false

Test: AppArchiveButtonTest
Bug: 333465028
Change-Id: I4ecbdabbf3869615834eda5c3fbe489c5ad9eadb
2024-04-15 20:05:03 +00:00
Song Chun Fan
844d2f4c67 [Settings/Archive] remove all checks for the archiving system property
No longer needed

BUG: 331165939
Test: builds
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:6ae958abd26ed77ecd4d3fb1720bb912553da2ea)
Merged-In: I24bc9a3d7503da1606d29eb3dfa963b0e6bf9d3e
Change-Id: I24bc9a3d7503da1606d29eb3dfa963b0e6bf9d3e
2024-04-09 18:08:41 +00:00
Song Chun Fan
6ae958abd2 [Settings/Archive] remove all checks for the archiving system property
No longer needed

Change-Id: I24bc9a3d7503da1606d29eb3dfa963b0e6bf9d3e
BUG: 331165939
Test: builds
2024-04-08 18:16:11 +00:00
Faye Yan
c00b3c7775 Merge "Revert "Add Voice activation apps into Settings->Apps->Special a..."" into main 2024-04-04 22:30:06 +00:00
Faye Yan
b5aab77162 Revert "Add Voice activation apps into Settings->Apps->Specific app->AppInfo->Voice activation apps"
This reverts commit 7f2fbc2e4c.

Reason for revert: voice activation is not going in V

Change-Id: Idfabfd48f45d2ace7de9f8498181f281ad0358a1
2024-04-04 21:02:46 +00:00
Faye Yan
d0b0881810 Revert "Add Voice activation apps into Settings->Apps->Special a..."
Revert submission 25108596-va-special-access

Reason for revert: voice activation is not going in V

Reverted changes: /q/submissionid:25108596-va-special-access

Bug: 306447565
Bug: 393727896

Test: presubmit

Change-Id: I4977e7d543cb800fc9fb6962bba3afebb9480dcc
2024-04-04 18:50:57 +00:00
Songchun Fan
faeaa7650e [Settings] fix Settings crash on App info for archived apps
For archived apps, isClearRestrictionAllowed (introduced in ag/26048774)
can throw NameNotFoundException, which causes Settings app to crash if
uncaught. This CL fixes that.

Test: manual by archiving an app and then try to go to it's app info
page
BUG: 332397754

Change-Id: I49a39dba36261f36215f0389ffe41523e8a2f4e8
2024-04-02 22:09:57 +00:00
Jason Chiu
071dfe8691 [Safer intents] Applications
To avoid implicit intents, make intents launch explicitly.

Test: build, robotest
Bug: 323061508
Change-Id: I9bf4eb102550f4afd8d14a6799940d37fc0ab9a7
2024-03-28 04:13:47 +00:00
Varun Shah
a5593de4c5 Hide the Perform Backup Tasks Settings page.
Since we are now hiding the new RUN_BACKUP_JOBS permission, hide the
associated special app access page in Settings.

Bug: 331272951
Test: BackupTasksAppsPreferenceControllerTest
Test: visual (Settings pages)
Change-Id: I875b286798f48ee4e94d5e37c1b21bb84acf390d
2024-03-26 02:43:30 +00:00
Graciela Wissen Putri
a0f573a35e Follow config overlay's order of aspect ratio options
Fix flaky UserAspectRatioAppsPageProviderTest by using advanceUntilIdle
to make sure all coroutines are finished before asserting.

Bug: 325911424
Test: atest UserAspectRatioDetailsTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:32815ad699448c5c5b1f38df6d2d2a881d4251c1)
Merged-In: I83e9a7f31536c1a006789722b0310f3364d14337
Change-Id: I83e9a7f31536c1a006789722b0310f3364d14337
2024-03-05 17:11:59 +00:00
Varun Shah
646d052228 Merge "Add new Special App Access screen for Backup Tasks." into main 2024-02-22 21:46:53 +00:00
Hani Kazmi
206300962f Replace ECM AppOps call with service
A new ECM service was introcuded in changeId
I831391e4437b51b3312b5273a2360bd029a3d8ee.

We begin calling it, and update/cleanup method signatures to match.

Note: There are two feature flags:

1. enhancedConfirmationModeApisEnabled - read only, protects the
   mainline API.

2. extendEcmToAllSettings - runtime - gates calls to the above APIs.

We use both so we can ramp up in teamfood as needed.

Bug: 297372999
Test: Tested on device
Test: atest SpaPrivilegedLibTests
Test: atest com.android.settings.applications.specialaccess.notificationaccess
Test: atest com.android.settings.datausage
Test: atest PremiumSmsAccessTest
Test: atest RestrictedPreferenceHelperTest
Change-Id: I945ec51df5cd63de548a8ffdd1acc4f09f2301e5
2024-02-21 14:43:02 +00:00
Varun Shah
a00a81cc1c Add new Special App Access screen for Backup Tasks.
This new screen shows apps that hold the new RUN_BACKUP_JOBS permission.

Also add a reference to this screen in an app's info page under the
"Advanced" section for apps that have requested this permission.

Bug: 320563660
Test: BackupTasksAppsTest
Test: BackupTasksAppsPreferenceControllerTest
Test: visually via the Settings page

Change-Id: I7136fc74f3b0d0124889e7cf9e1234f917346432
2024-02-17 21:54:12 +00:00
Mark Kim
6b64e92fc8 Merge "Use a separated flag for archiving feature in Settings" into main 2024-02-05 10:55:37 +00:00