Commit Graph

419 Commits

Author SHA1 Message Date
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
George
2c5d1f8d29 Adding Nfc Tag App Preference setting to special_access settings
In the settings app, allow users to change the preference of the Nfc Tag apps.

Bug: 244272155
Test: make RunSettingsRoboTests ROBOTEST_FILTER=NfcTagAppsPreferenceControllerTest
Change-Id: I28903fae8935613a0e8618da21ca44e98b8801d5
2023-02-01 14:10:04 +08:00
Tetiana Meronyk
ff36d54d2c Add UI metrics for granting admin rights from User Switcher
Bug: 260697326
Test: manual
Change-Id: Ia4f3053bb84c5daaedb9a471b8a8f5dbaad66dba
2023-01-18 17:46:09 +00:00
Florian Mayer
8b9d792692 [MTE] allow device policy to control setting
Test: unit tests
Test: TestDPC with COPE and DO
Test: make RunSettingsRoboTests
Bug: 244290023
Change-Id: I0e03d0dbe44ef595d813652f85529c1fe5fd6cec
2022-12-14 00:54:46 +00:00
Rupesh Bansal
bc255db77a Remove VR features from apps
Bug: 260555143
Test: atest com.android.server.power
Change-Id: I7d1938363dacb06f93cea69672a710ccbb76012e
2022-12-07 12:30:30 +00:00
Florian Mayer
5696dde950 Add MTE Settings.
MTE is a technology to help prevent exploitation of some security bugs.
We want to offer users that want to trade off a slight reduction in
performance for higher security the option to do so from the settings
menu.

Test: make RunSettingsRoboTests
      check UI manually
Bug: 245624194
Change-Id: Ifbb76e124142ae843ce90bd604ae8417d65fcc7b
2022-11-09 18:21:42 -08:00
Milton Wu
eff9effb25 Merge "Retry fingerprint or face unlock" into tm-qpr-dev am: c1d0d230d4 am: 96f959737c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20188600

Change-Id: I9c05b7bf43304fead4ae03a23a5106afe55612f6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-21 02:12:23 +00:00
Milton Wu
5a47cf56ef Retry fingerprint or face unlock
When IllegalStateException happens during user enters `Fingerprint
Unlock` or `Face Unlock` page through `Face and Fingerprint Unlock`
page, show ConfirmLock for user to re-enter credential again.
If user fails to pass credential page, finish activity and back to
`Security` page.
If user success to pass credential page, enter `Fingerprint Unlock` or
`Face Unlock` page.

Test: Manully test timeout case on `Face and Fingerprint Unlock` page
Test: robotest for CombinedBiometricProfileSettingsTest
      FaceSettingsLockscreenBypassPreferenceControllerTest
Bug: 248165760
Change-Id: I3361c38d09d14461db8ecf2d89a34ba9604dc7e8
2022-10-19 23:55:39 +08:00
Arc Wang
69974d0c4f Add test cases for highlight Preference click behavior
On large screen Activity embedding devices, Settings homepage
shows a highlighted Preference which is mapped to current
right pane.

For better UX, when users click again on a highlighted Preference,
it should not launch SubSettings.

Fix: 236275503
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.dashboard.DashboardFeatureProviderImplTest
Change-Id: I222c9b015fb090f359c3c9f4187823477920715b
2022-07-04 18:20:22 +08:00
Eric Biggers
ff16ec8542 Use StorageManager.isFileEncrypted() instead of deprecated methods
Since emulated FBE is no longer supported, isFileEncryptedNativeOnly()
and isFileEncryptedNativeOrEmulated() are the same as the new method
isFileEncrypted().  Replace all calls to these deprecated methods in
this repository with isFileEncrypted().

Bug: 232458753
Change-Id: I95beea86ef771396c2e08f2d6a643fdc629ad89f
2022-06-10 17:42:38 +00:00
Anna Bauza
935b735fb4 Fix "Turn on phone calls" for guest user
Move "Turn on phone calls" from guest detail user screen to user screen.
Optimisation: Applying restrictions to default guest user has been moved
to UserManagerService -> setDefaultGuestRestrictions.

Following UX there is no need for confirmation dialog.

Bug: 191483069
Test: make RunSettingsRoboTests -j128 ROBOTEST_FILTER="com.android.settings.users.GuestTelephonyPreferenceControllerTest"
       make RunSettingsRoboTests -j128 ROBOTEST_FILTER="com.android.settings.users.UserSettingsTest"
Change-Id: Id7391d3f85954ea7f9c94791f24174105ec8073e
2022-05-28 07:18:40 +00:00
Chaohui Wang
c41f9a953a Merge "Add the jank detection to Settings toggles" into tm-dev am: a47f9bb17f am: ca86110548
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18212942

Change-Id: I940d194f592ab6f9b7ea43e4e078c0914078418c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-20 12:55:13 +00:00
Chaohui Wang
692068d535 Add the jank detection to Settings toggles
Add jank detection when click the following preferences,
 - SwitchPreference
   Single target, detect click in InstrumentedPreferenceFragment
 - PrimarySwitchPreference
   Two target, only detect click switch in switch's onClick()
 - MainSwitchPreference
   Single target, detect click in TogglePreferenceController
 - SettingsMainSwitchPreference
   Single target, detect click in its onSwitchChanged()

Bug: 230285829
Test: manual & robo tests
Change-Id: I97a13e05a601237b16cd2d903ba2fb6ec4a69a74
2022-05-19 12:28:16 +08:00
Jason Chiu
99e01325bf Merge "Reduce flickers of Injection" into tm-dev am: 6d9b155b20 am: 399093f82a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18186097

Change-Id: I2bd9f24f858a74a1f311681f522e12bd1c7fb0db
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-09 15:33:27 +00:00
Jason Chiu
c9615611e1 Reduce flickers of Injection
The injection dynamic data was loaded in the background and then post to
main thread to update UI. However, it usually updates after
Fragement.onResume(), which causes the flicker.

To make it more smooth, DashboardFragment to wait for the dynamic data
observers to update UI for a short period, which eliminates the flicker
in most cases.

Also skip the repeated tiles refresh called by onCategoriesChanged in
onResume after all preferences refreshed.

Test: robotest, visual
Bug: 229177114
Change-Id: I04650af9692703f1fc1e6e5ad2090f051b1eeb81
2022-05-09 12:33:54 +08:00
Tsung-Mao Fang
4b648f335d Merge "Do not expose wifi slice when no permission" into tm-dev am: ccb8855b98 am: 9a8167a4a9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17536305

Change-Id: I94de281b1c0c8767dc0f3ecb59486387081bc2db
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-19 08:31:11 +00:00