Commit Graph

169 Commits

Author SHA1 Message Date
Julia Reynolds
15930b1b61 Reenable (no longer) failing test
Test: ApprovalPreferenceControllerTest
Fixes: 339550695
Flag: android.app.modes_api
Change-Id: Id71a17edd3fa1e9a03df3947c159161eee4dcd1a
2024-06-03 18:13:13 +00:00
Fan Wu
f44ea077d6 Ignore existing failed tests and promote SettingsUnitTests to Presubmit. Exclude a few tests from Presubmit as they are failing in Presubmit but can pass locally.
Bug: 339533415

Test: atest and presubmit
Change-Id: Icdc94195f3b4dda4e523d4b7498698a5ada198ea
2024-05-11 01:37:13 +00:00
Wesley Wang
9b68d1b5fb Fix AppStateAppBatteryUsageBridge test fail
- Remove mock context to fix the component cast issue

Bug: 337417563
Fix: 337417563
Test: atest SettingsUnitTests
Change-Id: I2d375a4828d2a7b020f15535383c07e4f017bb84
2024-05-07 16:38:12 +08:00
Becca Hughes
1c3fb49913 Fix bug where empty section is sometimes shown
There is a bug where the empty section is
sometimes shown for additional providers. This
is because the logic for calculating the
visibility gets the providers and then the
logic for displaying the list gets the providers
and can result in getting out of sync. This aligns
both sets of logic to use the same data.

Test: ondevice & unit
Bug: 330163369
Change-Id: Icf71c78d67d55c929476f8e699d5893e60a49776
2024-04-18 19:52:15 +00:00
Manish Singh
55e9f41bda Return true only if the userManager belongs to private profile
The existing code asks the main user's userManager if there's a
private profile belonging to it. If a private profile exists then the
answer to that question will always be true. So, we always end up
showing the apps from the private profile for the personal case.

We should instead ask the userManager if it belongs to the private
profile or not.

Bug: 327598131
Test: manual
Change-Id: I7bc9d58c371341235579d3456b54ea85f598892b
2024-03-04 18:26:58 +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
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
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
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
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
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
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
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
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
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
Graciela Wissen Putri
3ced0bd60d Enable all aspect ratio options in UserAspectRatioManagerTest
testGetUserMinAspectRatioEntry fails for foldables and tablets due to
some aspect ratio options being disabled. Mock Resources to return all
default aspect ratio options and strings to make test device agnostic.

Clean up unused variables and remove getLauncherApps in
UserAspectRatioManager.

Add more tests in UserAspectRatioManagerTest.

Fix: 304685321
Test: atest SettingsUnitTests:UserAspectRatioManagerTest
Change-Id: I6f4bbd60863be0c66139955507157619a5fc6662
2023-10-26 12:55:12 +00:00
Graciela Putri
39386158b7 Merge "Remove 4:3 aspect ratio option for foldables" into udc-qpr-dev am: 2147c152ac am: 94f7219937
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/25007832

Change-Id: I08c0fcfe2c81b9c36b63165233e844e975bf93e4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-12 10:00:30 +00:00
Graciela Wissen Putri
e6c4beca80 Remove 4:3 aspect ratio option for foldables
Bug: 304260896
Test: atest UserAspectRatioManagerTest
Change-Id: I8a745c90e45e8776eef082e01dc2155fe6b353b6
2023-10-10 17:18:48 +00:00
Eghosa Ewansiha-Vlachavas
2c50be71c5 Fix testGetUserMinAspectRatioEntry for both tablets and foldables am: 136bd906da am: 933b2431fb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24879571

Change-Id: I1a08e894582e04583bb2f1e26945cae85f1b4fc4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-29 21:51:22 +00:00
Eghosa Ewansiha-Vlachavas
136bd906da Fix testGetUserMinAspectRatioEntry for both tablets and foldables
Tabelts and foldables now have different aspect ratio values in their
config, so we need to test the devices separately as we shouldnt test for
values that are not in the config of the device the test is run on.

Fixes: 302155585
Test: atest SettingsUnitTests:UserAspectRatioManagerTest
Change-Id: I78fa3020501a4be992bb90fea16a6fec4f37594b
2023-09-28 13:23:11 +00:00
Eghosa Ewansiha-Vlachavas
5f624b70ba Merge "[1/n] Aspect ratio settings app list refinement" into udc-qpr-dev am: a3108d5b14 am: 2595f32076
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24854937

Change-Id: Iaa9687110887498c26d246dfed086eb1f8d529af
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-28 12:13:01 +00:00
Eghosa Ewansiha-Vlachavas
6bd9bff2e2 [1/n] Aspect ratio settings app list refinement
All apps list for work profile currently only shows work apps that are
also installed on the normal user. Update filter for list to show all
launcher apps for both users in their respective lists.

Fixes: 301373413
Test: atest SettingsUnitTests:UserAspectRatioManagerTest
Test: atest SettingsSpaUnitTests:UserAspectRatioAppPreferenceTest
Change-Id: Ia0bf15340d1b37dcd926d81598d3e94f448a46fc
2023-09-27 17:30:23 +00:00
Becca Hughes
d7c780aac7 Add missing divider to credman settings
Test: ondevice
Bug: 274126440
Change-Id: I3ba68a749899840c6ed646793e1d65725f10cce8
2023-09-06 10:45:50 -07:00
Graciela Putri
ab7f57b17c Merge "Add opt-out properties for aspect ratio settings" into udc-qpr-dev am: 83c8f47ddd am: 725efb1a5a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24309274

Change-Id: I5cdb28b8929b0ab8dba829ee6e12d880ca6cc27b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-16 07:04:50 +00:00
Graciela Wissen Putri
08983e8e63 Add opt-out properties for aspect ratio settings
Don't display aspect ratio options if app has opted out. If app has
opted out only for fullscreen, other aspect ratio options should still
be shown.

Bug: 292583399
Test: UserAspectRatioManagerTest
Change-Id: Ia0b223536407f703826d775468c8f8a0b4822e23
2023-08-15 09:14:21 +00:00
Graciela Putri
677c476a2c Merge "[4/n] Add fullscreen option in user aspect ratio settings" into udc-qpr-dev am: 1f1c2a7db9 am: c97131b90b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24213103

Change-Id: I079c6d10edbba5635e095a29067f21e22945bf85
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-28 19:32:58 +00:00
Graciela Wissen Putri
fa945cc808 [4/n] Add fullscreen option in user aspect ratio settings
Apps > App Info > Advanced > Aspect ratio

Adds fullscreen option to aspect ratio settings gated by fullscreen
build time and runtime flags. If fullscreen option is disabled, return
app default option.

To enable feature:
adb shell device_config put window_manager
enable_app_compat_user_aspect_ratio_settings true
adb shell am force-stop com.android.settings

Bug: 291900454
Test: All Settings CUJs passed
      atest SettingsUnitTests:UserAspectRatioManagerTest
Change-Id: I8f8d0c08ac81f088d6c25e8dfb3550f807f336b6
2023-07-28 10:09:56 +00:00
Graciela Putri
8dffd59e3d Merge "[2/n] Add aspect ratio app list page under apps" into udc-qpr-dev am: 4e86d0d6b3 am: dc86dbe24b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23819684

Change-Id: If7c6f4fa26ea014e40e737f07daae8b72481e2c2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-21 22:58:58 +00:00
Graciela Wissen Putri
b4c4f6cbe6 [2/n] Add aspect ratio app list page under apps
Apps > General > Screen Size

To enable feature:
adb shell device_config put window_manager enable_app_compat_user_aspect_ratio_settings true
adb shell am force-stop com.android.settings

Fix: 287448088
Test: Manual
      atest AspectRatioAppsPageProviderTest
      atest AspectRatioUtilsTest
      All CUJs passed in go/settings-cujs
Change-Id: I4de6c3cbdbdfbc79ed839ec149fb633344dcd3a7
2023-07-21 08:02:09 +00:00
Matías Hernández
412fc3e2c4 Merge "Settings: don't try to allow NLSes with too-long component names" into udc-dev am: 4d34eb2c7a am: 143d105dc9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23726247

Change-Id: I71f428e90b132c4282827b698623ee1d43c0f7c1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-28 18:35:53 +00:00
Matías Hernández
027f0a46ae Settings: don't try to allow NLSes with too-long component names
* NotificationAccessConfirmationActivity (triggered through CompanionDeviceManager) -> Don't show the dialog, bail out early similarly to other invalid inputs.
* NotificationAccessSettings (from Special App Access) -> No changes, but use the canonical constant now.
* ApprovalPreferenceController (used in NotificationAccessDetails) -> Disable the toggle, unless the NLS was previously approved (in which case it can still be removed).

Fixes: 260570119
Fixes: 286043036
Test: atest + manually
Change-Id: Ifc048311746c027e3683cdcf65f1079d04cf7c56
2023-06-21 17:02:32 +02:00
Becca Hughes
1c5bfbeafd Merge "Align settings with new mocks" into udc-dev am: 21733fa106 am: 1022918da5
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22912923

Change-Id: Ica4092467ac4a290b5f1a5ec0f7c7905e3928755
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-03 17:36:09 +00:00
Becca Hughes
b21df6c5fc Align settings with new mocks
Test: ondevice
Bug: 278919696
Change-Id: I274126bce3616596c4a81dd3385f0844d8bdbf71
2023-05-02 23:50:22 +00:00
Becca Hughes
428811be05 Fork autofill default app selection am: ddf359d0f8 am: 270b54d8a5
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22912922

Change-Id: I63239ddc7d287a32afc9b686fe83d1aefef8587b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-02 23:49:18 +00:00
Becca Hughes
ddf359d0f8 Fork autofill default app selection
We are merging the default app selection for autofill
with credman so this forks the existing UI (so we can
flag it off).

Test: ondevice
Bug: 278919696
Change-Id: I96bcf1ff86b169a182b9974f7384c45b474c3d5d
2023-05-02 20:31:14 +00:00
Becca Hughes
7fdbfc7b0e Revert "Rollback decision to merge by package name"
This reverts commit ca542c90cd.

Reason for revert: product changed mind

Change-Id: Ic4b9275e8f19bf2b3e3e51f09162fb6d45e6a5bf
2023-04-28 21:06:00 +00:00
Becca Hughes
99f1d5448d DO NOT MERGE Hide provider from this list if autofill provider
Since we are merging the two lists we should
hide the provider from this list to avoid
duplicates.

Test: local & unit
Bug: 279205251
Change-Id: I70ec4a4bda13bdcd5fd8f82f6ba6045e94d5daa9
2023-04-26 21:23:30 +00:00
Becca Hughes
02ca65edaa Hide provider from this list if autofill provider
Since we are merging the two lists we should
hide the provider from this list to avoid
duplicates.

Test: local & unit
Bug: 279205251
Change-Id: I70ec4a4bda13bdcd5fd8f82f6ba6045e94d5daa9
2023-04-26 16:19:51 +00:00
Philip Junker
9e34ccd80f Merge "List apps which requested the TURN_SCREEN_ON appOp permission" into udc-dev am: 134bea1957 am: a9e09ac0ce
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22724663

Change-Id: I5d184e66b6581e5eeb6620ed0d17fc493384e602
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-21 10:37:38 +00:00
Philip Junker
134bea1957 Merge "List apps which requested the TURN_SCREEN_ON appOp permission" into udc-dev 2023-04-21 10:07:47 +00:00
Becca Hughes
d8b74b5c39 DO NOT MERGE Live update cred man settings
This CL will enable live update of credential
providers if any are added/removed.

Test: atest
Bug: 264420106
Change-Id: I14804bac17a4efe5eccd3c5824558eace18da186
2023-04-19 22:06:15 +00:00
Becca Hughes
7039cdb12a Live update cred man settings
This CL will enable live update of credential
providers if any are added/removed.

Test: atest
Bug: 264420106
Change-Id: I14804bac17a4efe5eccd3c5824558eace18da186
2023-04-19 16:19:28 +00:00
Philip Junker
ded7f45e6a List apps which requested the TURN_SCREEN_ON appOp permission
This reverts commit 94f08e4ba1.
Reason for revert: Re-land with fix (b/278739832#comment8)

Bug: 272053372
Change-Id: I945e543b6e17b682bc88e9e9b0a79775a71dd6f7
Test: manually installed an app which requests the permission and verified it shows up correctly in Settings > Apps > special app access > Turn screen on
Test: atest AppFilterRegistryTest
Test: atest TurnScreenOnDetailsTest
Test: m -j RunSettingsRoboTests
Test: adb shell am start -a android.settings.TURN_SCREEN_ON_SETTINGS
2023-04-19 11:59:19 +00:00
Becca Hughes
ca542c90cd Rollback decision to merge by package name
At the moment settings aggregates by
package name and it has been decided that
we should do per-service instead.

Test: atest & manual
Bug: 278598419
Change-Id: I6b7c8adac4957f1c3382044208e1642d0b6e3fab
2023-04-18 22:15:50 +00:00