The Menu APK will be included by default on devices. However, in order
to ensure Menu appears in the interaction controls category an OEM would
need to update their config_preinstalled_interaction_control_services
array.
This change ensures Menu is in the correct category without any OEM
action required.
Bug: 261252772
Test: atest AccessibilitySettingsTest
Change-Id: I9b3d6dddf2691d9489ef847e400eb776aca96e56
(Original change made by xingbin.feng@sony.com)
Fix NullPointerException when rotating the screen while renaming
a registered fingerprint
Bug: 236873593
Test: Click a registered fingerprint to open the Rename dialog,
rotate the device and press OK. Verify that Settings does not
crash
Change-Id: I1350c4bd121e0a7aaa291b3b8f96c80ef777150b
When using EXTRA_USER_HANDLE, check for INTERACT_ACROSS_USERS_FULL permission on calling package.
Bug: 259385017
Test:
1. Build a test app that creates and starts an intent to NOTIFICATION_LISTENER_DETAIL_SETTINGS while setting the intent extra "android.intent.extra.user_handle" to UserHandle(secondaryUserId).
2. Create and switch to a secondary user
Settings > System > Multiple users > Allow multiple users > Add user > Switch to New user
3. Open Settings > Notifications > Device & app notifications and choose an app from the list (uses android.permission.BIND_NOTIFICATION_LISTENER_SERVICE). Enable Device & app notifications for selected app and disable all attributed permissions.
4. Switch back to the Owner user.
5. Get the userId of the secondary user: adb shell pm list users.
6. Open the test app and enter the userId for the secondary user and the component name that uses android.permission.BIND_NOTIFICATION_LISTENER_SERVICE.
8. In the settings window that open, enable all 4 sub-options.
9. Switch to the secondary user and note that the all sub-options for the app are disabled.
Change-Id: I875b9f2fc32c252acdcf8374a14067836e0f1ac6
Includes some .java updates to automatically convert colors for lottie
animation files.
Fix: 261547883
Fix: 243905003
Fix: 243889447
Fix: 261544574
Test: launch cf_x86_64_tablet, open Settings > Accessibility
Test: Open "Color & motion" > "Color inversion"
Test: Open "Timing controls" > "Time to take action"
Test: Open "Caption preferences"
Test: Open "Magnification" > "Magnification shortcut"
Test: Open "Accessibility shortcuts" >
"Accessibility button and gesture", change options
Test: Perform the above with both light and dark mode.
Change-Id: I46b75b53feb8870d3154744e058eb898e6011725
1. Add missing test cases for DeviceFoldedViewModel,
DeviceRotationViewModel, and FingerprintEnrollFindSensorViewModel
2. Move most of init value of ViewModels into
getDefaultViewModelCreationExtras
3. Fix FindSfpsFragment lottie because of incorrect rotation value.
4. Feed configuration change into DeviceFoldedViewModel
Bug: 260957195
Test: atest CredentialModelTest AutoCredentialViewModelTest
DeviceFoldedViewModelTest DeviceRotationViewModelTest
FingerprintEnrollFindSensorViewModelTest
FingerprintEnrollIntroViewModelTest
FingerprintEnrollProgressViewModelTest
FingerprintEnrollmentViewModelTest
FingerprintEnrollmentActivityTest
Change-Id: Ied55a895bc1774af5bdd256eccd806aaaa1680ef
Test: manual
1. adb shell settings put secure \
lock_screen_show_only_unseen_notifications <0|1>
2. Settings > Notifications > General > Show only new notifications on
lock screen
3. Toggle setting
Observe: if setting is enabled, seen notifications are filtered from
the lockscreen, and vice versa
Bug: 254647461
Change-Id: I4f6e35a1d918095cea25a97f72ddd08869ad9b31
This slider is temporary and will be replaced by the final UI in the next couple weeks.
In this first version, the slider is added in Settings -> Accessibility -> Color and motion. It is discrete with three values.
The slider manipulates the setting currently named CONTRAST_LEVEL in Settings.Secure. This setting is ranging from [-1, 1] with a default value of 0. However, the three values of the slider correspond to the contrast values [0, 0.5, 1] respectively
Test: Manual: put a log before Settings.System.putFloatForUser, move the slider manually and verify the logs
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ContrastLevelSeekBar
Bug: 259091608
Change-Id: I2eaf751d6008ad20b3564dde2c0f4648cc6c8178
Already asked UX designer to provide new icons for CPU and GPS in
b/265364507.
Bug: 266045288
Fix: 266045288
Test: manual
Change-Id: Ia59c92de817958231d26c8839bc403be9ec5ad7c
This CL fixes four bugs for SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS feature:
1. When the udfps view is big enough (i.e. landscape mode on panther), the progress bar's bottom is clipped by the footer button.
- Sets the footer button width WRAP_CONTENT and removes the space view to make the footer button short enough, not hiding the udfps view progress bar.
2. When both text size and display icon size are big enough on the portrait mode, the udfps view's position is wrong because its parent views are longer than the screen and scrollable.
- Add addOnDrawListener() on udfps view's parent view, whenever it's changed, recalculate the margins of udfps view to make sure it's aligned with the sensor's position.
3. When the finger is down on the screen and the lighting circle on the sensor is shown, the fingerprint icon is not hidden.
- Propagates FingerprintManager#onPointerDown and #onPointerUp to UdfpsEnrollView and hide/show fingerprint drawable accordingly.
4. When rotating the screen, fingerprint location is not right because UdfpsEnrollHelper is recreated.
- Makes UdfpsEnrollHelper a fragment and call setRetainInstance(true) to keep it even though the configuration is changed.
Test: manually tested on device:
Turn this flag on via adb command
adb shell setprop
sys.fflag.override.settings_show_udfps_enroll_in_settings true
Bug: 260617060
Change-Id: I15ffde6455cab7e9d4a394349ec39e72df5b2911
Fingerprint auth is active on the enrolled fingerprints page to indicate
to users which fingers are enrolled. Tapping 5x with unenrolled finger
on this page sends FINGERPRINT_ERROR_LOCKOUT, which posts a
mFingerprintLockoutReset runnable to retry fingerprint auth after
LOCKOUT_DURATION. If a user turns off their device and unlocks via
pin/pattern/password, this resets lockout, triggering the runnable and
causing fingerprint auth to be retried upon device entry. This change
prevents this by removing the runnable callback in
FingerprintSettingsFragment#onPause.
Test: Navigate to enrolled fingerprints page (Settings > Security > Face & Fingerprint Unlock > Fingerprint Unlock). Tap 5x with unenrolled finger, then turn off screen and unlock via pin/pattern/password. Ensure indicator does not appear upon device entry.
Fixes: 261366312
Change-Id: I4190669286461e9ce884685a9929313da953476d
Goal: Make Accessibility Settings can dynamically show the Relate project in Speech category when existing
Bug: 265883460
Test: Manual testing
Change-Id: I28ac9bee6d1e946a793ed679829e326a178f1015
This reverts commit 0d9e5d600c.
Reason for revert: bad CL causing breakage in com.android.settings.display.ScreenResolutionFragmentTest https://screenshot.googleplex.com/AG6d44f3LTksHGx
Change-Id: I522c6b5220c138b56af777627619ca986e2cd43c
The root cause is that the spinner was initialized many times for every
onBindViewHolder(). When the spinner is scrolled out of the screen and
scrolled back, onBindViewHolder() is triggered. The spinner selection
position was set to the mSavedSpinnerPosition. This is unexpected. Only
the first initialization should set the saved position. This fix changes
the spinner initialization to be only once.
Bug: 265617603
Fix: 265617603
Test: manual
Change-Id: I7ebd2b074cf6f560919ceec338eb8fcfaadf4d3a