Commit Graph

2959 Commits

Author SHA1 Message Date
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
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
Hani Kazmi
05427e6903 Merge changes from topics "ecm-manager", "ecm-tests" into main
* changes:
  Replace ECM AppOps call with service
  Wired remaining SpecialAppAccess for ECM.
2024-02-21 19:29:04 +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
josephpv
62df3efdd7 Handle listing of PS apps in Apps > Special App Access > Device Admin Apps
Currently Device Admin Apps page shows apps from Private space even
when PS is locked.  This change takes care to hide PS apps from the list
when private profile is in quiet mode and on disabling quiet mode PS
apps are shown in the list.
Also takes care to update the active apps summary count to not include
PS apps when private profile is in quiet mode.

Recording link : b/324311892#comment2

Bug: 324311892
Test: Manual
Change-Id: If4199ecad0a228c8e491778fb62c09c8b3f20604
2024-02-19 23:00:19 +00:00
Becca Hughes
62fa76f719 Merge "Hide "additional services" if there is only a single primary services" into main 2024-02-15 23:54:59 +00:00
Hani Kazmi
96ab2b9e25 Wired remaining SpecialAppAccess for ECM.
This change enables the remaining settings for ECM, and adds tests for
both this and previous ECM changes.

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: I73d39d765dba0c1a75111c37b29ccf1c85d2cdd8
2024-02-15 15:15:23 +00:00
Becca Hughes
74f8cb6eeb Merge "Update button strings for new design" into main 2024-02-14 20:42:38 +00:00
Becca Hughes
797694855f Update button strings for new design
Updates the positive button strings see
mocks here:

https://screenshot.googleplex.com/6hLciwYTPMsYytt
https://screenshot.googleplex.com/ASAotxvEHnrDodq

Implementation:

https://hsv.googleplex.com/4658122816749568
https://hsv.googleplex.com/5590705238966272

Bug: 322074376
Change-Id: I8488d4b9414448bfbfc9462fe5450681bfbbfbdb
Test: flash device
2024-02-14 18:00:32 +00:00
Becca Hughes
7046a96c9a Merge "Update "none selected" state to align with mocks:" into main 2024-02-13 20:15:18 +00:00
Becca Hughes
c627cdbdba Hide "additional services" if there is only a single primary services
There is a case where there is a single primary service (e.g.
a fresh device) and we should hide additional services in that
case.

Test: unit + manual
Bug: 325077523
Change-Id: I9efb785ac3f7a328fdccd138e585f766d46fa282
2024-02-13 19:06:07 +00:00
Becca Hughes
5cbc60dcf3 Merge "Fix bug where maximum provider limit was not being reflected" into main 2024-02-13 18:52:59 +00:00
Becca Hughes
f368299931 Fix bug where maximum provider limit was not being reflected
The limit of 5 providers had two issues, one it did not
reserve one slot for primary which meant that you could
enable 6 and also even though it wouldn't save and would
show an error when you hit that limit the toggle was not
reset which made it look like it was enabled.

Test: on device + unit
Bug: 324426504
Change-Id: Ibec4efd6394835729869194181161fe8ae743e76
2024-02-12 23:45:35 +00:00
Becca Hughes
6cca4f32e6 Update "none selected" state to align with mocks:
Mocks:
https://screenshot.googleplex.com/BYsmSRcRL5dhjve

Implementation:
https://hsv.googleplex.com/4797150908121088

Change-Id: I47e8f784fa850da4271170d44b3eb770721c3e8b
Test: on device & unit
Bug: 322074376
2024-02-12 23:29:27 +00:00
Manish Singh
8498f83141 Fix Apps storage page to show apps for selected user only
Currently only the personal and managed profile filters for the
respective profiles. And there's no filter to filter out the apps for
the private profile. This cl adds that filter and sets it for the
private profile user.

Bug: 317159160
Test: manual
Change-Id: Ia19171b1be73a061a598c2365c88e91ad2f8fec8
2024-02-09 11:29:58 +00:00
Becca Hughes
3aa7212b26 Merge "Fix enterprise settings bug" into main 2024-02-06 22:35:07 +00:00
Becca Hughes
401ebcb53d Fix enterprise settings bug
This fixes a bug where the picker
is not using the correct user id
and also ensures that the settings
activity uses the correct user when
launched.

Test: flash & test w/ work profile
Bug 322071206

Change-Id: I846593ff9ae320d9bb774e3e79ed9ef41f101ff5
2024-02-05 10:58:09 -08:00
Mark Kim
6b64e92fc8 Merge "Use a separated flag for archiving feature in Settings" into main 2024-02-05 10:55:37 +00:00
Becca Hughes
d8a82105e0 Merge "Fix settings flakiness bug" into main 2024-02-03 00:15:57 +00:00
Becca Hughes
7df4f0f4bd Fix settings flakiness bug
The flakiness was caused by mVisibility
being out of sync and resulting in the
preference being hidden / shown incorrectly.

Test: manual & unit tests
Bug: 322072349
Change-Id: I588da2100b8f2cea38f2bdb63af4e8d19d0efd0b
2024-02-02 22:43:30 +00:00
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
Becca Hughes
09fa333f47 Add try/catch to handle invalid settings activity
Change-Id: I20d9480fd3bfe14fe4e85ed2937aaba3df09302d
Test: make
Bug: 322287971
2024-01-26 17:51:55 +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
Becca Hughes
87117b0183 Merge "Add buttons for new settings design" into main 2024-01-19 22:05:14 +00:00
Becca Hughes
782fcb9bd5 Add buttons for new settings design
This adds a new class called PrimaryProviderPreference
which is responsible for laying out the old cog view if
the feature is disabled and the new button view if it
is enabled.

Screenshots:
https://hsv.googleplex.com/5109836204212224
https://hsv.googleplex.com/5574754636398592
https://hsv.googleplex.com/6737135727017984

Change-Id: I1ad0c59a4afc5be3694b499f66bbd7306dfbee69
Test: Manual test with flag on + off & unit tests
Bug: 300979487
2024-01-19 19:42:14 +00:00
Becca Hughes
2417c84a77 Update strings for new settings design
This updates the strings for the new settings
design as per the new spec.

Screenshots:
https://hsv.googleplex.com/5257279109595136
https://hsv.googleplex.com/5049022822744064
https://hsv.googleplex.com/6177842804031488

Change-Id: I6ff705d2bfab9de4ca2e8d49763b5405e3d2d2c3
Test: Manual test
Bug: 300979487
2024-01-16 18:13:32 +00:00
Chris Antol
5245ebfd4a Merge "Prevent the disabling of specified apps" into main 2024-01-12 18:54:58 +00:00
Becca Hughes
42bcdcfdfd Merge "Make provider icon sizes consistent" into main 2024-01-12 17:23:03 +00:00
Becca Hughes
7dca691308 Make provider icon sizes consistent
Fixes an issue where the icons under "additional providers"
are not the same size. Also, fixes the unit tests for
CredentialManagerPreferenceController.

https://hsv.googleplex.com/4797855484084224

Test: unit tests and manual on device tests
Bug: 278772478
Change-Id: I88d8694189a7529ccc2d92bf1b74bb5bf2268f46
2024-01-12 16:19:47 +00:00
Hani Kazmi
4e0fc12d05 Merge "Enable ECM restrictions for Usage Access and Device Admin" into main 2024-01-11 13:26:43 +00:00
Sunny Shao
bee65b4109 Merge "Revert^2 "Nullability Annotations replacement"" into main 2024-01-10 08:35:06 +00:00
Sunny Shao
076ed573eb Revert^2 "Nullability Annotations replacement"
This reverts commit 19d1d3d15d.

Reason for revert: revert it because this is not the root cause.

bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
2024-01-10 07:34:01 +00:00
Edward Savage-Jones
03bde3d8c6 Prevent the disabling of specified apps
Prevent the disabling of specified apps, avoiding cases
where disabling the app may result in an unusable system.

Bug: 200043113
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ApplicationFeatureProviderImplTest

(cherry picked from https://android-review.googlesource.com/q/commit:e6279dd6a20ee254bab9a66e545b9dbaf1895db0)
Change-Id: I0b298af76cec20e4f31ec7411bbf3200a2869035
2024-01-09 21:21:34 +00:00
Omer Ozer
ea4ca29090 Add logic to redirect default payment setting
to default wallet selector.

Bug: 283989236
Bug: 313968146
Test: Manual
Change-Id: I984497baa1689d1b31eedd6a4f9ab453b10dd93c
2024-01-09 18:00:05 +00:00
David Liu
38ce956b72 Merge "Fixed logging ACTION_SETTINGS_DISABLE_APP with package name" into main 2024-01-04 08:11:02 +00:00
Sunny Shao
946f52b2a1 Merge "Revert "Nullability Annotations replacement"" into main 2023-12-29 03:18:24 +00:00
Sunny Shao
19d1d3d15d Revert "Nullability Annotations replacement"
This reverts commit cf0501e4d7.

Reason for revert: b/317462033, it seems a flaky but revert it first.

Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
2023-12-29 02:28:24 +00:00
sunnyshao
2ff71edc1c Disabled the "Double-tap to activate"
- disabled the listview in the createVerifiedLinksDialog

Fixes: 242822432
Test: manual test
Change-Id: Iee884691d5900ff016f41a9ca120604d52dfc362
2023-12-25 14:00:38 +08:00
Kevin Jeon
dc8508293e Merge "Hide Memory usage UI fields if flag is enabled" into main 2023-12-22 17:39:09 +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
Kevin Jeon
55c8c9b86c Hide Memory usage UI fields if flag is enabled
This change updates the Memory use UI in developer settings to hide
memory fields by default if the AppProfiler PSS deprecation flag is
enabled. A toggle is provided to resume PSS profiling and reinstate the
memory fields, and shows a dialog to reboot if the toggle is updated.

The summary for the "Memory" button in developer settings will show
"Memory profiling disabled" instead of "Avg X GB of Y memory used" if
PSS profiling is not enabled.

Test: With the flag enabled, flash and verify that:
      - The memory fields are hidden by default, and the summary shows
	the expected "Memory profiling disabled" text
      - Clicking the toggle shows the reboot dialog, which will
	correctly change the setting and reboot if accepted, and keep
	the setting and not reboot if denied
      - Check that AppProfiler correctly profiles PSS or RSS based on
	the state of the toggle, which persists across reboots
      - Included UI test for Memory page elements based on flag value.
Bug: 296454553
Change-Id: Ie21791502445a321446cb8110e5800089f47ac58
2023-12-22 01:15:04 -05:00
David Liu
fcb6e1a5ac Fixed logging ACTION_SETTINGS_DISABLE_APP with package name
Bug: 317386395
Test: fixing metrics only + local build pass
Change-Id: I6bac53d3219315f9d225bfe367c7b3bdc423ca7c
2023-12-21 19:49:27 +00:00
sunnyshao
cf0501e4d7 Nullability Annotations replacement
-- Replace the android.annotation.Nullable / android.annotation.NonNull
   with androidx.annotation.Nullable / androidx.annotation.NonNull

Bug: 316867690
Test: build pass
Change-Id: I0c1da55dfb09ece855151c47e0492d6f46538621
2023-12-20 08:50:09 +08:00
Matías Hernández
c76c679f63 Merge "Tag Zen operations from Settings as coming from the user" into main 2023-12-18 22:57:58 +00:00
Matías Hernández
907b47105b Tag Zen operations from Settings as coming from the user
Bug: 308670715
Test: atest ApprovalPreferenceControllerTest
Change-Id: Id118f867e84f3d742db6b12eab0f34df1357d178
2023-12-18 13:32:32 +01:00
Ziad Youssef
e41e5444e9 Block the disable option for WebView Default package
Test: atest ApplicationFeatureProviderImplTest

Bug: 308907090

Change-Id: I21785975b965b04895849d2df71fa2f2b4cb4b2d
2023-12-13 12:43:19 +00:00
Hani Kazmi
05f85914d8 Enable ECM restrictions for Usage Access and Device Admin
This commit continues the work to make all special app access
permissions ECM restrictable. Some implementation notes:

1. The FilterTouchesSwitchPreference and AppSwitchPrefernce components
   are replaced with RestrictedSwitchPreference. afaict this is a
   superset - it still filters out obscured touches and shows the app
   icon.

2. I'm treating this as mostly a refactoring, and so do not have a
   feature flag around most of the changes. Enabling ECM for them /is/
   behind the feature flag in RestrictedLockUtilsInternal.

3. app_ops_permissions_details.xml is currently only used by
   UsageAccessDetails.

Bug: 297372999
Test: Manually tested on device. Automated tests to follow
Change-Id: I65fe7ec099582de19192a77ad2e41c1558761502
2023-12-07 15:59:52 +00:00
Hani Kazmi
ded1cd59c9 Update existing ECM settings to use new infrastructure
1. Update Notification Listener and A11y settings to call
   RestrictedLockUtilsInternal rather than checking appOp themselves

2. Rename ecm related methods to include Ecm rather than AppOp -
   implementation details are being moved to permissions module and may
   change.

Bug: 297372999
Test: Manually tested on device. Automaated tests to follow
Change-Id: Ie3e16b502993b21a7e34eab0d661f98814b3cfd5
2023-12-07 15:59:52 +00:00