There are few corner cases and new updates that need to be incorporated:
1. Apps that declare USE_EXACT_ALARM, do not need SCHEDULE_EXACT_ALARM.
So these should be filtered out, regardless of whather they declared
the latter.
2. Apps that are in the power allowlist do not need either of the
permission, and so these should be filtered out as well.
In either case, if the user somehow ends up in the app detail page for
this setting, the switch should get disabled based on existing logic.
Test: make -j RunSettingsRoboTests
Test: Manually by UI inspection:
Settings -> Apps -> Special App access -> Alarms and Reminders
or by running:
adb shell am start -a android.settings.REQUEST_SCHEDULE_EXACT_ALARM
Bug: 232460265
Change-Id: I5aeab49f95260218878bc36f5a4d73a49e5082e4
Remove the plug/unplug condition checking for the incompatible
notification based on the feedback from:
https://b.corp.google.com/issues/276403405#comment3
Bug: 276403405
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge.batterytip"
Change-Id: Iec177ed33a3cc8cf5a5747b6f65440d31120823c
When the screen rotates, currently the startActivityForResult() within
RequestPermissionActivity could be called multiple times, so the
multiple RequestPermissionHelperActivity will be created, which caused
the issue.
Replace RequestPermissionHelperActivity with AlertDialog (as an
unfinished TODO of RequestPermissionHelperActivity) can fix this issue.
Fix: 243601277
Test: Manually with adb shell commands
Test: Unit test
Change-Id: If1e2b2807b69a87bbcfffa543ee0da134d4c4312
- Restrict low security type when 6 GHz band is selected
- Disable "WPA2/WPA3-Personal" security type
- Disable "WPA2-Personal" security type
- Disable "None" security type
- Automatically updated security type to WPA3 when 6 GHz band is selected
- Regenerate password when security type is changed from None
Bug: 245258763
Test: manual test
atest -c WifiTetherSettingsTest
atest -c WifiTetherViewModelTest \
WifiHotspotSecuritySettingsTest \
WifiHotspotSecurityViewModelTest \
WifiHotspotRepositoryTest
Change-Id: I31b08795419baed10dc40b876aeec175f6f41e69
Bug: 258315425
Test: Tested on pixel device: in Settings search bar, enter "Tips" then tap the result for Tips & Support -> verify Tips and Support page is launched
Change-Id: I30e52f5498fbeb840e7448fa464c20649f0b1db5
The Notes role is enabled through a RRO that overlays the config
config_enableDefaultNotes (and its work profile counterpart).
Bug: 276432652
Test: ForceEnableNotesRolePreferenceControllerTest
Change-Id: Iab05b6c13dabda94c513919365a3a9f69dacb80e
When user clicks "OK" in FingerprintEnrollEnrollingIconTouchDialog,
continue enrolling.
Bug: 276416053
Test: atest FingerprintEnrollEnrollingViewModelTest
FingerprintEnrollmentActivityTest
Test: Manually check enrolling status as clicking "OK" button on
FingerprintEnrollEnrollingIconTouchDialog after enabling
biometrics v2 v2 through feature flag.
Change-Id: I028723acfe35e5119e43b6860022c7432fc2ae0e
Only for admin user.
Also clean up unused getInstallationStatus().
Fix: 277299765
Test: Manually with All Apps when multiple users is on
Test: Unit test
Change-Id: I4de681c101a605e3517dcd8765bf7a95d1b76417
Test: atest CombinedBiometricProfileSettingsTest
Test: atest FingerprintSettingsFragmentTest
Test: manaul test- go to split screen mode and try to enroll
face
Bug: 276938441
Change-Id: I45e859b453700aa79f7774fb5deda81b1f30e5a5
defaultWellbeingPackage is now deprecated and should not be used.
Instead, point all references to the new systemWellbeing config.
Bug: 233363529
Test: atest AmbientDisplayAlwaysOnPreferenceControllerTest
Test: atest DarkModeCustomBedtimePreferenceControllerTest
Test: atest DarkModeScheduleSelectorControllerTest
Test: atest WhenToDreamPreferenceControllerTest
Change-Id: Ia55ce505c5010e401ec0dc18a2fed41d3a692c7a
1. Use handler executor to directly handle state changed callbacks in
the same thread as APM handling.
2. Use the same flow to fetch the initial APM mode & UWB state from
onStart()
3. Store the state and reason code (to be used for showing regulatory
message in follow up CL).
4. Refactor the class for better unit testing (use mocks, avoid reaching
into class members being tested by using argument captor).
Bug: 270515435
Test: Manual tests
Test: atest UwbPreferenceControllerTest
Change-Id: I1b8c06a05691d9512de65ca2d61f3963dab230ab
Use MessageDisplayController only when enroll reason is ENROLL_ENROLL
and R.bool.enrollment_message_display_controller_flag is true.
And always allocate a new MessageDisplayController for each new enroll
to avoid the possibility of events being ignored by
MessageDisplayController.
Bug: 275510856
Test: atest FingerprintEnrollProgressViewModelTest
Test: manually test sfps/udfps enrollment for biometricsV2
Change-Id: Ifc8b91916a3d76bed68dc523a90dc6ba422e3923
- Check the deep link activity instance before redirecting to the
internal activity for the managed profile invocation, so the caller
can't bypass the permission check.
- Get the referrer as the caller so that onNewIntent can recognize the
new caller and check if it has a permission to open the target page.
Test: robotest & manual
Bug: 268193384
Change-Id: Ie69742983fb74ee2316b7aad16461db95ed927c2
Merged-In: Ie69742983fb74ee2316b7aad16461db95ed927c2
- Check the deep link activity instance before redirecting to the
internal activity for the managed profile invocation, so the caller
can't bypass the permission check.
- Get the referrer as the caller so that onNewIntent can recognize the
new caller and check if it has a permission to open the target page.
Test: robotest & manual
Bug: 268193384
Bug: 272437506
Change-Id: Ie69742983fb74ee2316b7aad16461db95ed927c2
Merged-In: Ie69742983fb74ee2316b7aad16461db95ed927c2
validation state.
Currently, if ConfirmDeviceCredentialBaseFragment is ever re-created due
to orientation change, screen getting turned off, etc., relevant state
gets lost. This led to the old ConfirmDeviceCredentialBaseFragment
handling results which led to issues such as lockscreen not getting set.
By addiing a retained RemoteLockscreenValidationFragment,
we're able to update the new ConfirmDeviceCredentialBaseFragment
that will handle results. We can also retain other important state like
the device credential guess to be set after successful validation.
Some smaller changes include:
* If the activity is finished for any reason other than "Back" getting
pressed, RESULT_FIRST_USER is returned instead of RESULT_CANCELED.
* CheckBox, "Forgot [LSKF]?" button, and EditText/LockPatternView
gets disabled during validation.
* The above also stay disabled if ConfirmDeviceCredentialBaseFragment
gets re-created and remote lockscreen validation is still in progress.
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=com.android.settings.password
Test: Manual
Bug: 274983372
Bug: 274991889
Bug: 274792310
Bug: 270395807
Change-Id: Ib6d47430e233a43e6985ab83abae45713c49771f
* AbstractPreferenceController now can implement OnActivityResultListener to receive callback from DashboardFragment#onActivityResult()
Bug: 270096758
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.dashboard.DashboardFragmentTest
Change-Id: Ib734287c6fe06fcdde3b2fe6ae9f4b778020b60b
WifiConfigController2 sets the security params of a saved config, which
may overwrite @hide fields like SecurityParams#mIsAddedByAutoUpgrade. To
prevent this, only set the security params for a new config, and use the
existing security params for existing configs.
Bug: 262312532
Test: atest WifiConfigController2Test
Change-Id: I9ef5eb8ce2b4208e1fad27bd68fc4f0fad7d1008
userContext.getApplicationContext() returns null, which cause crash.
Use context instead to fix.
userContext was used to support multiple profiles, since the app's user
id is also passed to getAppBatteryUsageData(), userContext is not need.
Fix: 269545838
Fix: 275957358
Test: Manually check the battery usage is still correct if an app is
installed on two profiles
Change-Id: I41a80e4c6edc338affb6eec0cf12da3c438cd7fd
Do not show the "timeout to admin user" settings preference when user
switching is blocked on the current user, e.g. in demo mode.
Test: atest SettingsRoboTests:TimeoutToDockUserPreferenceControllerTest
Bug: 255277938
Change-Id: Ibd0944c69254000a453f477eb72a0ba5832e9793
See the attached video from b/266071578#comment2 to see how the setting
looks like.
Bug: 266071578
Test: atest ContrastDialogTest
Test: atest ContrastDialogControllerTest
Change-Id: Id9fc31a0562059814d4e342ea8095adc5b53d5f3
1. Keeping state descriptions for the seekbar as an array in the
PreviewSizeSeekBarController when we would like to customize the
state description.
2. Setting the scaled value to be the state description for the font
scaling seekbar when there is a progress change to the seekbar.
Bug: 269212483
Test: manually - attach videos to the bug
Test: make RunSettingsRoboTests ROBOTEST_FILTER=PreviewSizeSeekBarControllerTest
Change-Id: I8e9e3681a0174f454cac871ebf62d785962c7165