Commit Graph

434 Commits

Author SHA1 Message Date
Riley Jones
178bdd4c60 Cleanup of AccessibilityUtil#hasValueInSettings
Settings should now be able to directly use the equivalent ShortcutUtils functions,
so the unnecessary code is being removed from AccessibilityUtil.
This does cause much behavior to depend on A11yManager instead of Settings.Secure,
so several tests need their conditions updated.

Test: atest com.android.settings.accessibility
Flag: EXEMPT internal refactoring
Bug: 367414968

Change-Id: I95f81f7d78b074def0fe2d1e01f60ceb7e142dac
2024-12-17 20:03:16 +00:00
Daniel Norman
4c3473134c Hides the Edit Shortcut top preference when empty.
This fixes an issue where this page was presenting an inaccurate
preference list count to TalkBack because it was including this empty
preference.

(Uses the same flag as other fixes for this same bug, even though the
flag name doesn't make sense here.)

Test: atest EditShortcutsPreferenceFragmentTest
Test: Confirm preference invisible when editing a single feature,
      opened from the Settings app
Test: Confirm preference invisible when editing a single feature,
      opened from the FAB Drag-to-Edit
Test: Confirm preference still visible when editing multiple features,
      opened from the FAB Drag-to-Edit
Test: Confirm TalkBack announces correct item counts in both cases,
      including when editing Magnification which has an "advanced"
      preference that gets replaced with the triple-tap shortcut.
Bug: 318607873
Flag: com.android.settings.accessibility.toggle_feature_fragment_collection_info
Change-Id: I2e1eb7f66022c1a47d1f96a914294fd8da25549c
2024-10-18 00:18:54 +00:00
Daniel Norman
c38fd822ba Stops hiding a11y services with the same package+label as an activity.
Bug: 353700779
Test: atest AccessibilitySettings, ensure new test passes
Test: revert AccessibilitySettings.java change, ensure new test fails
Test: Install poc APKs from the bug, observe issue not reproducible
Flag: NONE security fix
Change-Id: Ie680e80169aa734f2559fe50ef06e4d1eae46779
2024-08-14 22:48:06 +00:00
Ram Peri
34152fae41 Merge "Robolectric upgrade" into main am: 71b2be5571 am: 119d1e9f43
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3185301

Change-Id: Ide8c2fe010260f3ae172c0b2537d6d879212b333
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-23 01:25:50 +00:00
Ram Peri
119d1e9f43 Merge "Robolectric upgrade" into main am: 71b2be5571
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3185301

Change-Id: I9469f534e375c589f0a7dbac20f185f61ae69295
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-23 01:08:54 +00:00
Ram Peri
f5b58ea3be Robolectric upgrade
Test: atest SystemUIGoogleRoboRNGTests
Flag: TEST_ONLY
Change-Id: I833ac67223875480994f947907754290bb25c946
2024-07-22 13:48:09 -04:00
Pat Manning
1257610b0e Update Touchpad settings page to include mouse.
Make each setting conditionally available based on touchpad or mouse
connected to device.

Bug: 269100659
Test: TrackpadBottomPreferenceControllerTest
Test: TrackpadReverseScrollingPreferenceControllerTest
Test: TrackpadTapToClickPreferenceControllerTest
Test: TrackpadSettingsControllerTest
Flag: android.view.flags.enable_vector_cursor_a11y_settings
Change-Id: I601c29e20d69227779481c0a491256e36cfd268f
2024-07-11 13:32:44 +00:00
Xin Li
f0e00b8bf7 Merge Android 24Q2 Release (ab/11526283) to aosp-main-future
Bug: 337098550
Merged-In: I96574a79eba581db95d387f0d9c9fde2e004c41c
Change-Id: Ib9f2c742f8aa72651ef9eca80a716dd94b9041ea
2024-05-23 14:12:07 -07:00
Eric Biggers
9ab4bf20f7 Merge changes I20f2330d,Iaca5b20c into main am: 790e28c431 am: 231766c463
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3061866

Change-Id: I66a91364d8211acf73310d55997bd5f6d08e2ae8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-06 18:09:47 +00:00
Eric Biggers
f56ead496e Remove unused class ShadowKeyStore
Since the class android.security.KeyStore is going away, remove the
unused test utility class ShadowKeyStore that references it.

(ShadowKeyStore was originally used by a test, but
https://r.android.com/1353609 deleted that test.)

Bug: 326508120
Test: build
Flag: TEST_ONLY
Change-Id: I20f2330dee171a0bfe860a1318dc2f962a80bd19
2024-04-25 19:46:54 +00:00
Chun-Ku Lin
3aee92e2e8 Update a11y edit shortcut screen's text and tutorial text
Bug: 323792194

Test: manual
Test: atest com.android.settings.accessibility
Test: atest com.android.settings.accessibility.shortcuts

Flag: N/A simple string changes

NO_IFTTT=Introduce new IfThisThenThat lint

Change-Id: I7ba4096d669453c33257880407e85ffe76d358f8
2024-03-25 22:19:10 +00:00
Chun-Ku Lin
8b67c17a7b Show QS shortcut option if the a11y feature provides a tile.
Bug: 314852953
Test: atest com.android.settings.accessibility
Test: atest com.android.settings.accessibility.shortcuts
Test: manual
Flag: ACONFIG android.view.accessibility.a11y_qs_shortcut STAGING
Change-Id: Id7a6b3adfd4c4f3cb2b9f7fe15269b57a3d00543
2024-03-06 20:26:28 +00:00
Yiyi Shen
42b8fbb74f [Audiosharing] Impl audio sharing feature provider in Settings
Add createAvailableMediaDeviceGroupController interface to provide
different controller in Settings and SettingsGoogle.

Bug: 324023639
Test: atest
Change-Id: Ibf2ea2620c878e609eb937ff6947f5aaa0b89e7a
2024-02-24 07:25:36 +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
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
Fan Wu
96d8953e15 Merge "Updaing ShadowAccountManager to extending from official shadow library" into main 2024-01-24 03:52:17 +00:00
Fan Wu
576acec126 Merge "Update ShadowSecureSettings to extend from robolectric library" into main 2024-01-24 02:44:28 +00:00
Fan Wu
e4ebee595d Update ShadowSecureSettings to extend from robolectric library
Bug: 320820008

Test: atest SettingsRoboTests
Change-Id: I278b2013e3876c461beedce7c29189df63375171
2024-01-19 08:00:43 +00:00
Fan Wu
825bb2d367 Update ShadowStorageManager
Bug: 320820008

Test: atest SettingsRoboTests
Change-Id: I550bcade31f5d9ed8d2d9dd5be3a6c1eed5f1f0b
2024-01-19 12:11:02 +08:00
Treehugger Robot
6daeeeec92 Merge "Remove unneeded custom shadow of PowerManager" into main 2024-01-17 09:06:11 +00:00
Fan Wu
aaa9ef4086 Merge "Update ShadowNotificationManager to extend from roboletric shadow library" into main 2024-01-17 08:42:19 +00:00
Fan Wu
65e9804dbb Remove unneeded custom shadow of PowerManager
Bug: 319052511

Test: atest
Change-Id: I6150ce86c909abf3cb33cdbedba102e53db0d4d4
2024-01-17 15:24:52 +08:00
Fan Wu
a98cc6a5dd Update ShadowNotificationManager to extend from roboletric shadow library
Bug: 319052511

Test: atest
Change-Id: Ic89f7ef69ade4e4497f4b92e292e297e3c1e7bdc
2024-01-17 12:29:45 +08:00
Fan Wu
79b289b71e Updaing ShadowAccountManager to extending from official shadow library
Bug: 319052511

Test: atest SettingsRoboTests
Change-Id: I53ec4261351f49305bb90ff10a6c00549a31e428
2024-01-16 01:57:59 +00:00
Fan Wu
4d005993f6 Update ShadowParcel to extend from org.robolectric library
Bug: 319052511

Test: atest SettingsRoboTest:com.android.settings.development
Change-Id: I751df93cfc9970279e9fd9872f988dff58f989d6
2024-01-15 16:58:19 +08:00
Fan Wu
23d57e8c8a Remove unnecessary custom shadow of android.system.Os
Bug: 319052511

Test: atest SettingsRoboTests
Change-Id: Ie551e6f3b3884a505f60acc5874b439010d43533
2024-01-12 07:52:21 +00:00
Fan Wu
2db3415b2e Merge "Update ShadowContentResolver to extend from the official shadow package. Also removes redundant API" into main 2024-01-12 07:01:24 +00:00
Fan Wu
48bb9fe8e2 Update ShadowContentResolver to extend from the official shadow package. Also removes redundant API
Bug: 319052511

Test: atest SettingsRoboTests
Change-Id: I88ccbb5ca8c239f42c8bc6bb3a875bb4c503bdc9
2024-01-12 11:40:16 +08:00
Zhen Zhang
bd9f09003e Update shadow class method name
The method name was updated in ag/25864369
Bug: 302296979
Test: atest SettingsRoboTests

Change-Id: Ib3fa0f6e36135831e2ece6e483f3a8c089ffc076
2024-01-11 15:27:04 -06: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
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
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
Chun-Ku Lin
9a0c7ba7da Fix AccessibilitySettingsTest
**Root cause**
- We can no longer mock the fragment.getActivity method because it's a
  final method.
- We need to use custom shadows to implement the method we use but not
  shadowed in Robolectric. (e.g. ColorDisplayManager's
  isReduceBrightColorsActivated method)

Bug: 300157873
Test: atest AccessibilitySettingsTest
Change-Id: Ia7d039dd2e31e6b4a7b9382827f9006d4133ca1d
2023-10-13 21:55:22 +00:00
Chaohui Wang
51e1576c34 Status header not clickable in DataUsageSummary
Status header (DataUsageSummaryPreference) is not clickable in the
DataUsageSummary.

So remove the legacy logics, to unblock unified default template.

Bug: 234104784
Test: m RunSettingsRoboTests
Change-Id: I3dddf4ec3f84d53fd07afbb62d171942a6acce5d
2023-10-09 16:51:18 +08:00
Chris Göllner
f09a5ce94c Start logging rotation lock history + include caller information
There have been a few reports on foldables where rotation lock suddenly
changed, without user interaction.
Adding these logs will make it easier to debug the issue.

Bug: 289023967
Bug: 289534937
Bug: 279685215
Test: Manually - Change rotation lock and check logs in dumpsys
Change-Id: I2a877e7b47c863871a2c6ba29ce46e63d28c8008
2023-09-25 17:55:06 +01:00
Yiyi Shen
791e8b8dfb Move ShadowBluetoothUtils.java to tests/robotests/testutils.
This is to solve presubmit issue of ag/24820489

Bug: 296507968
Test: build
Change-Id: I44df560f30245ab4d98a3bedf40d9e5707e82189
2023-09-22 14:01:58 +08:00
Holly Sun
0ec3b5035b Move ShadownDeviceConfig.java to tests/robotests/testutils.
This is to solve the presubmit issue of ag/24543390.

Bug: 294858168
Test: build
Change-Id: I40c2ed7134676490d52aa63189dc16b3a7668a71
2023-08-31 21:07:25 +00:00
Rex Hoffman
3c961e1c0e Setup external/robolectric for SettingsRoboTests
Current failing tests: ab/I64100010182936387
Had to Ignore some of com.android.settings.accessibility tests, which will be fixed separately

Bug: 261728063
Test: atest SettingsRoboTests -- --test-arg com.android.tradefed.testtype.IsolatedHostTest:java-flags:-XX:CompressedClassSpaceSize=3g

Change-Id: I4a0cb992db924936826e0c9808accc78dddb5f30
2023-08-17 22:33:20 +00:00
Treehugger Robot
b01d241023 Merge "Gray out the "Remove account" button when there's a restriction" into main 2023-08-17 09:22:10 +00:00
Jason Chiu
b6c2108c93 Gray out the "Remove account" button when there's a restriction
Fix: 243011338
Fix: 288887119
Test: robotest, manual
Change-Id: Ie3d6607f69a5e7c66bb750febc4d526d6d209ac6
2023-08-17 16:30:11 +08:00
Chaohui Wang
2cab62254c Use resource processor for Settings
Bug: 293810334
Test: m Settings
Test: robotests
Change-Id: Ie515e137648eddfdfcab5e8095f5be99721d9e1b
2023-08-11 22:39:08 +08:00
Treehugger Robot
67a6f4bada Merge "Guard slices from being requested by guest user" into udc-qpr-dev am: 9718f0e04f am: 068edcc9ec
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23578868

Change-Id: I2f514b0c50f853e0ab83104c6abe1add06b7790a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-16 02:47:37 +00:00
Mill Chen
d4eecf6132 Guard slices from being requested by guest user
According to patch of A-231987122, AOSP restricts app to modify relevant
mobile settings when user is a guest. This change intends to prevent the
slices related to mobile settings from being requested by guest user.

Bug: 278616139
Bug: 277333776
Bug: 262244832
Bug: 278616520
Bug: 278615120
Test: robotests
Change-Id: I4dc4bbfdb5cf76e188e6f62ebfd74ef6fa2fe33b
2023-06-15 14:29:01 +08:00
Chun-Ku Lin
f4d7518710 Clean up test with Robolectric's way to launch a fragment with an
activity.

Robolectric has shadows for many Android framework's code. With the help
of Robolectric, We don't need
to use mock the return value of every method Activity or Fragment has.

Bug: 283885638
Test: atest AccessibilityDetailsSettingsFragmentTest

Change-Id: I77dfa755e3a1b6a240a06f74b5a6c5984534c831
2023-05-23 19:06:33 +00:00
Eric Biggers
795a02c92a ShadowLockPatternUtils: remove patternEverChosen methods
These methods are being removed from LockPatternUtils because they are
no longer used, so remove them from ShadowLockPatternUtils too.

Bug: 270013005
Change-Id: If196bbef4755c644b3188043ed47e99817bf1856
2023-05-03 00:34:48 +00:00
Christian Göllner
b613cc4a17 SettingsRoboTests: fix device state rotation related tests
Fixes: 280015539
Test: atest SettingsRoboTests
Change-Id: I0a3cc713f8df0477a172665a60551b456691b17c
2023-04-28 15:26:32 +02:00
Milton Wu
cdaf1091d1 Merge "Launch Face Settings when device enrolled face" into tm-qpr-dev am: 1d68fbf007 am: 544feb9013
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21294281

Change-Id: I748aafeb257bfc6325f5e3a0ef724dbd0e36d697
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-22 01:33:58 +00:00
lbill
c7dd729a43 Launch Face Settings when device enrolled face
In legacy flow FaceEnrollIntroduction check maxFacesEnrolled()
then update introduction description and prevent user go to next
enroll step, the CUJ was not good to user, instead bring user
to Face Settings and let user decide the next action(Delete face or
change config) is more make sense.

As any applications could broadcast intent(android.settings.FACE_ENROLL)
to bring FaceEnrollIntroduction up, we add a check in onCreate() and check
if device has been enrolled max face, launch FaceSettingsInternalActivity.

In addition, skip to register any posture change callback when
maxFacesEnrolled() during activity onStart().

Test: atest SettingsGoogleUnitTests
Test: m -j SettingsGoogleRoboTests RunSettingsGoogleRoboTests
Test: m RunSettingsRoboTests ROBOTEST_FILTER= \
      "FaceEnrollIntroductionTest"
Test: m RunSettingsRoboTests ROBOTEST_FILTER= \
      "FingerprintEnrollIntroductionTest"
Test: Manual enrolled face, unfold device, launch Tips Security page
and click "Set up Face Unlock", device launch Face Settings insteand of
posture guidance page.

Bug: 263830403
Change-Id: Ied8b92259810f954ce6b2daaa9b87fc996ad752a
2023-03-21 19:10:57 +00:00
Brian Lee
d4f8e5802e Support remote device credentials validation in UI.
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.password
Test: Manual
Bug: 258505917

Change-Id: Ifb9f15728eb8396b34c844d28f71a8e6e1aad837
2023-02-15 23:23:17 -08:00
Tsung-Mao Fang
4175f40fca Check current user owns a frp credential
In Android U+ tablet device, Android introduces headless mode which
running on a main user instead of system user. Therefore, device throw
a security error in HSUM build now.

For now, we check whether current user owns a frp
credential instead. This way also works on non HSUM build.

Test: robo test + run FRP mode in Suw flow.
Fix: 262438904
Change-Id: Ie4c7c470b13b9de8d532e61e9984521cebe7adff
2023-02-08 13:27:32 +08:00