Commit Graph

450 Commits

Author SHA1 Message Date
Mark Kim
7adac0459c Use a separated flag for archiving feature in Settings
The new flag will replace the current PM-flag eventually, once they reach the same rollout status. Until then both flags are kept concurrently, to avoid a rollback of the feature.

This is done to reduce risk and potentially enable an isolated rollback
of Settings related logic, while keeping system logic intact.

Additionally, fix bug by replacing `System.getProperty("pm.archiving.enabled")` to `SystemProperties.getBoolean("pm.archiving.enabled", false)`

Test: InstalledAppCounterTest, AppButtonsTest, HibernationSwitchPreferenceTest
Bug: 323164382
Change-Id: I44a41d6a43a12134c4e3aa5df8ad6a9eb91758d4
2024-02-02 17:16:47 +00:00
Joanne Chung
8541c6c4ef Merge "Allow uninstallation of current home app" into main 2024-02-02 05:02:50 +00:00
lpeter
b3e2179531 Allow uninstallation of current home app
Change the behavior to allow uninstallation of the current home app
if it is a non-system app and/or there are other candidate apps
available.

Bug: 131721576
Test: atest com.android.settings.applications.appinfo.AppButtonsPreferenceControllerTest
Test: atest com.android.settings.spa.app.appinfo.AppButtonRepositoryTest
Change-Id: I556966894240aaf91c0e6424dce514b6a35d1001
2024-02-01 23:57:15 +00:00
Faye Yan
97e198b096 Revert "Add the second toggle for the egress data permission on voice activation"
This reverts commit a0f67e8591.

Reason for revert: Fedhot team cancel the egress data permission

Change-Id: Ib740896b41dc3eea1d196eecaf0abe13eff842a4
2024-01-26 18:36:23 +00:00
Faye Yan
68bc311bec Merge "Revert "Fix the op mode dependency for the second toggle:"" into main 2024-01-26 18:35:41 +00:00
Faye Yan
19a0292230 Revert "Fix the op mode dependency for the second toggle:"
This reverts commit 78f99c6a67.

Reason for revert: The Fedhot team cancel the egress data permission

Change-Id: I57c2fad0450f5f5ad36a5ff8a39ed42603b09d49
2024-01-26 04:23:30 +00:00
SongFerngWang
685befa86a SIMs page enhancement
This is for the Sim onboarding UI enhancement
- create new SIMs spa UI
- hide the Call & SMS when flag is on

Bug: 318310357
Bug: 298898436
Bug: 298891941
Test: munally test

Change-Id: Iaecb8fe435b26f2952263024c93c8719feda96a4
2024-01-26 04:20:01 +00:00
Anubhav Kakkar
1a2774e3d8 Add trunk flag check to prevent changing the special app access settings for 'Change media output' for direct intent based entry when trunk flag is not enabled.
Bug: 321905521
Test: Ensure trunk flag is disabled > Open app specific settings for 'Change media output' > Ensure that settings should not be changeable
Change-Id: Iedfd82d97eb49fc65c56d332bde815ff41e24736
2024-01-23 16:43:16 +00:00
mxyyiyi
8dccd6947f Migrate battery optimization mode app list to SPA.
Bug: 284033422
Bug: 304923046
Test: manual
Change-Id: I7549b8a95508500bce098b42da04036869431060
2024-01-23 14:54:20 +08:00
SongFerng Wang
4601261f81 Merge "Add the UI of dual sim onboarding" into main 2024-01-22 08:40:49 +00:00
SongFerngWang
4713fd6baa Add the UI of dual sim onboarding
This is the first version.

Bug: 318310357
Bug: 298898436
Bug: 298891941
Test: Build pass
atest SimOnboardingLabelSimTest
atest SimOnboardingPageProviderTest
atest SimOnboardingPrimarySimTest
atest SimOnboardingSelectSimTest

Change-Id: I195bd6b03ab0e881fdd67272c2476ef2b1fcd3ed
2024-01-22 07:47:51 +00:00
Chaohui Wang
5255867976 Migrate AppPermissionSummary to flow
Bug: 321163306
Test: manual - on App Info
Test: unit test
Change-Id: I36f6a479d530fc646a55f68fbaf681b72eff00dd
2024-01-19 15:33:06 +00:00
Mark Kim
420625217c Merge "Add visibility for the user during app restoring" into main 2024-01-19 14:13:33 +00:00
Chaohui Wang
739f6ff69a Merge "Avoid empty line for storage summary" into main 2024-01-19 03:06:14 +00:00
Mark Kim
fad6a491d0 Merge "Remove flag parameter from requestArchive method" into main 2024-01-18 17:19:15 +00:00
Chaohui Wang
ca0542d2d7 Avoid empty line for storage summary
Bug: 292036686
Test: manual - on All Apps
Test: unit test
Change-Id: Id5069b8172191f3277b825f82407551f6eb4e202
2024-01-18 17:00:07 +08:00
Faye Yan
78f99c6a67 Fix the op mode dependency for the second toggle:
If OP_RECEIVE_SANDBOX_TRIGGER_AUDIO is toggled to deny,
OP_RECEIVE_SANDBOXED_DETECTION_TRAINING_DATA is set to deny and toggled.

If OP_RECEIVE_SANDBOX_TRIGGER_AUDIO is toggled to allow,
OP_RECEIVE_SANDBOXED_DETECTION_TRAINNING_DATA is unchanged.

Bug: 309677007
Test: presubmit
Change-Id: I83bbfdb71ad1aa0e29c55275948ec88fc7f83c6a
2024-01-18 06:44:28 +00:00
fayey
a0f67e8591 Add the second toggle for the egress data permission on voice activation
apps toggle page.

Bug: 309677007
Test: presubmit
Change-Id: I219f67bd55d3a38b6e026698ce4cbf24c6fbe503
2024-01-17 07:17:47 +00:00
Mark Kim
f1587da7af Remove flag parameter from requestArchive method
Test: AppArchiveButtonTest
Bug: 315967626
Change-Id: I7cb40304aae19a3deaac72ae8a4d613ff6c255ec
2024-01-16 17:38:39 +00:00
Mark Kim
23c5574e01 Add visibility for the user during app restoring
When the app is restoring the button's text will be constantly updated
until the app is restored.

Test: manual

Bug: 304255818
Change-Id: Id5da0923e5f9f3e45889e10c017a3f3dc3f8bd95
2024-01-15 16:55:51 +00:00
Mark Kim
043c06fabd Show restoring toast message only after Play Store responded
successfully

Test: n/a

Bug: 317130255
Change-Id: I4250689f761c86655861c0d04cd1d67e4407c5e3
2024-01-12 05:36:05 +00:00
Mark Kim
ee1491c811 Merge "Get and save app label before archiving the app" into main 2024-01-12 04:12:29 +00:00
Mark Kim
5e5f1dd724 Get and save app label before archiving the app
Test: manual

Bug: 317125320
Change-Id: I34763106f669e3f2c0f349cdec977ceb57291e01
2024-01-11 12:17:33 +00:00
Chaohui Wang
52ebf58566 Show policy transparent of "Force stop" when no DO
PackageManager.isPackageStateProtected() is moving to permission based,
so force stop button can also be protected when no DeviceOwner.

The ActivityManger side has already handled correctly, no Settings UI
side need to show a device policy transparent dialog.

Fix: 319579347
Test: manual - Force stop on AppInfo
Test: unit test
Change-Id: I4432dcb798a0cfcbb6bfc8b30c9191dd91b980a2
2024-01-11 17:05:26 +08:00
Fan Wu
2370adbbce Update Usage statistics string to avoid confusion
Bug: 314134835

Test: manually by typing *#*#4636#*#* on phone
Change-Id: Idac3f58f8c21ff5ecf6a1b7e9d686d770e2e09ba
2024-01-08 18:30:15 +08:00
Julia Reynolds
2890ac7101 Hide spinner options for locked users
'Most Recent' and 'Most Frequent' depend on usagestats data, which
is only available for unlocked users. Hide them if the user is
currently locked

Test: turn off work profile and view app notification list, primary &
work
Test: turn on work profile and view app notifications list, primary &
work
Fixes: 195092949
Flag: none

Change-Id: Ia87b2b64824dff645286ea8910bcd2c412d070ae
2023-12-28 14:11:27 +00:00
Graciela Wissen Putri
480d523a0c [3/n] Pre-select fullscreen option if overridden
Settings > Apps > Aspect ratio (experimental)

Pre-select the fullscreen option if all are true:
- device manufacturer has overridden app to fullscreen
- app has not opted out of orientation override
- app has not opted out of user's fullscreen option
- user has not set any aspect ratio (USER_MIN_ASPECT_RATIO_UNSET)

"App default" will have a new value of USER_MIN_ASPECT_RATIO_APP_DEFAULT
if device manufacturer has overridden app to fullscreen, which will
behave the same as USER_MIN_ASPECT_RATIO_UNSET without the
device-applied fullscreen override.

Bug: 310816437
Test: atest UserAspectRatioDetailsTest
      atest UserAspectRatioManagerTest
      atest UserAspectRatioAppPreferenceTest
Change-Id: I6be634bb4369292687b865ce30d902540419183c
2023-12-22 13:15:56 +00:00
Mark Kim
5528e94455 Update archive's button enable property whenever hibernation toggle
has changed its value

Test: AppArchiveButtonTest

Bug: 304257274
Change-Id: I95b8a2219a7d04437b5c7d217a520e8c8b05d395
2023-12-19 14:11:16 +00:00
Jakob Schneider
e06d787e2a Add temporary system property checks in addition in addition to flag checks.
This was agreed on to enable dogfood testing on P9 without enabling the full
feature in QPR3. https://docs.google.com/document/d/1ZItkXfyKO2e235-EdisHASE6Dcl2hqATnieo6aJrsbY/edit?tab=t.0#bookmark=id.64wdrt989i3r

Test: manual
Bug: 315461548
Change-Id: I2ef71fd40d4afb83b9b73a977856e2912a5c87be
2023-12-15 13:23:10 +00:00
Mark Kim
f1dd128c45 Make stable enableability of AppPermissionPreference, HibernationSwitchPreference buttons when app is archived
Test: n/a

Bug: 315770669
Change-Id: I0b4a1f8a2d3bbe9c6e8b59b5b1e16c606d26e8ed
2023-12-12 18:10:12 +00:00
Mark Kim
deca917b44 Merge "Reload buttons on App Info page after app archiving." into main 2023-12-12 14:38:50 +00:00
Mark Kim
4345908c39 Merge "Add 'Restore' button to AppInfo screen" into main 2023-12-12 10:42:10 +00:00
Jakob Schneider
2368e260fe Merge "Change the strings on the opt-out toggle to also account for archiving." into main 2023-12-12 10:28:53 +00:00
Mark Kim
e3b456ef3e Add 'Restore' button to AppInfo screen
Test: AppButtonsTest, AppRestoreButtonTest

Bug: 304255818
Change-Id: Ica9055d8ee5603e4bb682e9b5d90a225c839002a
2023-12-11 22:07:03 +00:00
Mark Kim
d1a58b9b41 Reload buttons on App Info page after app archiving.
Most of the buttons should become disabled after app archiving.

Test: n/a

Bug: 315770669
Change-Id: Ib94f8bbf94bb75e3ea9e09f6308a02e825317b52
2023-12-11 13:21:27 +00:00
Chaohui Wang
c69eb48807 Add HideNonSystemOverlayMixin for SpaActivity
Fix: 315473158
Test: manual - try overlay on SpaActivity
Change-Id: I67f30f6aa0adb22f891683a6d603fb6cb146b4f1
2023-12-09 00:08:17 +08:00
Jakob Schneider
b842ce9d4b Change the strings on the opt-out toggle to also account for archiving.
These have been confirmed over email by UX & PMs

Test: N/A
Bug: 304257274
Change-Id: I47634e56ccb3ebaa122176c83805cd0802debc08
2023-12-08 12:08:11 +00:00
Mark Kim
d17b1a3816 Merge "Add 'Archive' button to AppInfo screen" into main 2023-12-08 10:25:58 +00:00
Mark Kim
63f48ad2c6 Add 'Archive' button to AppInfo screen
Disable 'Archive' button whenever 'Uninstall' button is disabled.

Test: AppArchiveButtonTest, AppButtonsTest

Bug: 304256700
Change-Id: I9671905eca2cb71a5bf30bf29be83e5305a48ef4
2023-12-07 20:21:40 +00:00
Hani Kazmi
291e6043bf Update Special App Access Compose Components for ECM
This is the first in a series of changes to wire up all app settings to
be ECM restrictable. We introduce a new method in
RestrictedLockUtilsInternal which determines whether or not a setting is
restricted based on a passed in key. It currently duplicates the current
implementation, but will eventually be replaced by a call to permissions
mainline.

The settings under SpaPrivileged are then updated to have a new
BlockedByEcm which is decided by the RestrictedLockUtilsInternal call.

Bug: 297372999
Test: Manually tested on device. Automaated tests to follow
Change-Id: Ic295bdb41270b0f18f2ba3dffdffc062d532cabe
2023-12-07 15:59:52 +00:00
Anubhav Kakkar
86b5a0afc1 Merge "Implement special app access settings for MEDIA_ROUTING_CONTROL app-op." into main 2023-12-07 10:58:40 +00:00
Anubhav Kakkar
642bc5a6bc Implement special app access settings for MEDIA_ROUTING_CONTROL app-op.
Bug: b/307632045
Test: Pair a watch with companion app > Settings > Apps > Special app access > enter "Change Media Output" > Find the companion app > Ensure the special app access is Allowed > ensure companion app is able to call remote media routing APIs > come back to the settings > revoke the access > ensure that now companion app is NOT able to call the remote media routing APIs.

Change-Id: I35487660365ef05f3b998e8ecf13aaed7ba844a9
2023-12-07 09:12:08 +00:00
Chaohui Wang
b0cf27abbd Update the App Info Settings when package archived
Listen to the following actions,
- Intent.ACTION_PACKAGE_CHANGED for App enabled / disabled
- Intent.ACTION_PACKAGE_REMOVED for App archived
- Intent.ACTION_PACKAGE_REPLACED for App updated
                                     App updates are uninstalled
- Intent.ACTION_PACKAGE_RESTARTED for App force-stopped

Also,
- Prevent AppInfoSettings flaky, by moving package info null into
  RegularScaffold.
- Offload uninstallButton's enabled from main thread.

Bug: 314562958
Test: manual - All apps > app detail
Change-Id: Iaf210eb9e9b4ace1aa9079cdbb2d7430de4dd75f
2023-12-06 15:31:14 +08:00
Chaohui Wang
6adf1bad31 Let SpaBridgeActivity support HIGHLIGHT_MENU_KEY
Also the SpaAppBridgeActivity.

Could be tested by,
adb shell am start -n com.android.settings/.ManageFullScreenIntent

adb shell am start \
  -a android.settings.MANAGE_APP_USE_FULL_SCREEN_INTENT \
  -d package:com.android.settings

adb shell am start -n com.android.settings/.UsageStatsActivity

Bug: 309075424
Test: manual - on tablet
Test: unit test
Change-Id: I778443e9d21d165904e415c66c03aafc7ac81372
2023-12-05 11:43:31 +08:00
Chaohui Wang
5e85aa3b07 Eagerly load PackageInfo to avoid flaky
Bug: 314562958
Test: manual - All apps > app detail
Change-Id: Ic225818299f5b38e2a94020a04fccc4005f95158
2023-12-04 13:23:50 +00:00
Chaohui Wang
de3fe3744f Refresh the App Info Settings
When apk upgraded or downgraded.

And only close the page when the package is fully removed.

Bug: 314562958
Test: manual - on App Info Settings
Test: unit test
Change-Id: Ifdff714da99e31f9c5f237a0c3342de7a0797ec4
2023-12-04 01:43:11 +00:00
Charlotte Lu
7f1536d87b Merge "Add System update for Software Update." into main 2023-11-13 07:54:16 +00:00
Charlotte Lu
0c5ab9a633 Add System update for Software Update.
Fix: 309916180
Test: Unit Test
Change-Id: I19eff364d9bb2d447f3580916393b5f8a34e0bd2
2023-11-10 13:13:08 +08:00
Chaohui Wang
0739b5edd1 Use MobileDataEnabledFlow in BillingCyclePreference
To easily collect the mobile data enabled setting changes.

Bug: 308903704
Test: manual - on Mobile Settings
Test: unit test
Change-Id: Ic449ce14fad38513b1e13facc6a192d30318c7b0
2023-11-10 10:33:46 +08:00
Chaohui Wang
62e64c592e Merge "Let SpaBridgeActivity support ActivityEmbedding" into main 2023-11-09 09:39:36 +00:00