Commit Graph

14445 Commits

Author SHA1 Message Date
lbill
ee6366761b 3-1/ Impl FoldProvider.FoldCallback for Face enroll activities
Create a mechanism to allow OEM config posture guidance with
'config_face_enroll_guidance_page', and customize the config
'config_face_enroll_supported_posture' with standard postures
         0 : DEVICE_POSTURE_UNKNOWN
         1 : DEVICE_POSTURE_CLOSED
         2 : DEVICE_POSTURE_HALF_OPENED
         3 : DEVICE_POSTURE_OPENED
         4 : DEVICE_POSTURE_FLIPPED
For example, if we set 1 for the device, then device only
allow to enroll face in closed(folded) state, if device do
not in the allow state, we will prompt specific guidance
page activity defined in config_face_enroll_guidance_page.

At this stage , we only integrate 2 states OPENED/CLOSED through
ScreenSizeFoldProvider and register for onFoldUpdated() callback
- isFold(DEVICE_POSTURE_CLOSED): finish posture guidance
- !isFold(DEVICE_POSTURE_OPENED): launch posture guidance
- onActivityResult : reset mOnGuidanceShown false

1. Fix A11y lottie animation bug
2. Impl FoldProvider.FoldCallback
3. Register callback to ScreenSizeFoldProvider
4. Integrate back stack, skip, cancel events
   - Back key : RESULT_CANCELED
   - Skip btn : RESULT_SKIP
   - Posture changed : RESULT_FINISHED
5. Set single instance for relative activities
6. FaceEnrollFoldPage listen for onConfigurationChanged()
7. Add empty face_posture_guidance_lottie.json for overlay

Test: atest SettingsGoogleUnitTests
Test: m -j SettingsGoogleRoboTests RunSettingsGoogleRoboTests
Test: m RunSettingsRoboTests ROBOTEST_FILTER= \
      "com.android.settings.biometrics.face.FaceEnrollEducationTest"
Test: m RunSettingsRoboTests ROBOTEST_FILTER= \
      "com.android.settings.biometrics.face.FaceEnrollIntroductionTest"
Test: Manual launch security settings face enroll, unfold device
and observe posture guidance showing fullscreen on top
Test: Fold device ensure the posture guidance activity finish
Bug: 261141826
Fixes: 231908496

Change-Id: Ib9f43f82f7d19f3f187c2f6f8984e76cd843afbc
2023-01-06 19:54:03 +00:00
Jason Hsu
ed2728073f Merge "Fix preferences under Related category can not launch its own page in bluetooth device details page" 2023-01-06 06:27:03 +00:00
TreeHugger Robot
2462e490ab Merge "Refine TetherSettings with ViewModel" 2023-01-06 03:38:49 +00:00
Vania Januar
c3f6c0d593 Merge "Replace placeholder ROLE_ASSISTANT with ROLE_NOTES." 2023-01-05 14:49:31 +00:00
Tetiana Meronyk
c0e31b3be1 Merge "Allow creating admin users when 'config_enableMultipleAdmins' property is enabled" 2023-01-05 14:30:34 +00:00
jasonwshsu
829a671265 Fix preferences under Related category can not launch its own page in bluetooth device details page
Root Cause: KeyboardSettingsPreferenceController override
handlePreferenceTreeClick() without checking the preference key, it will lead to handle all preferences' click action.

Solution: Check the preference is the expected preference key

Bug: 264017256
Test: make RunSettingsRoboTests ROBOTEST_FILTER=KeyboardSettingsPreferenceControllerTest
Change-Id: Idcdadc323df5b758b4b21329227e2bb721b1c394
2023-01-05 10:48:55 +00:00
Weng Su
a396a4d8b9 Refine TetherSettings with ViewModel
- Use ViewModel to handle the TetheringManager's lifecycle.

- Use LiveData to observe TetheredInterfaces's changes instead of callbacks.

Bug: 246531382
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
atest -c TetheringManagerModelTest

Change-Id: Ib1a710a19a5340f63401a37b5c2b0bc307ac82f0
2023-01-05 17:13:57 +08:00
Vania Januar
e5651cd86e Replace placeholder ROLE_ASSISTANT with ROLE_NOTES.
Bug: 254834764
Test: StylusDevicesController
Change-Id: I2303034180f9609db8f1a6d663c389a55dd04600
2023-01-04 16:22:38 +00:00
Zaiyue Xue
e756675e69 Combine system apps to one item in the battery usage app list.
Bug: 262952385
Test: 262952385
Test: maunal
Change-Id: I078677b13a22f5e2f8f194bb5d5259f8c54c6b1e
2023-01-04 20:32:56 +08:00
TreeHugger Robot
949dd58112 Merge "Replace battery usage breakdown list from tabs to dropdown list." 2023-01-04 12:17:41 +00:00
Zaiyue Xue
778a4b42e3 Replace battery usage breakdown list from tabs to dropdown list.
screen records:
https://drive.google.com/file/d/15VJGQ_G2KIpyFcvZsyE0iRno0WZhfjGb/view?usp=sharing&resourcekey=0-bg48BsC2b-BT_80CGlzpWg
https://drive.google.com/file/d/1RaoysytQ5oZQu8CNPhYgxqBahk3UfVbr/view?usp=sharing&resourcekey=0-Xk2J36fjYWBo6KpFTrMr4Q

Bug: 264338267
Fix: 264338267
Test: manual
Change-Id: Ic020cce711b5232adfc80272836d7c2d0250d94a
2023-01-04 16:20:47 +08:00
TreeHugger Robot
7dfe918785 Merge "Launch settings for clicking fingerprint unlock" 2023-01-04 05:55:54 +00:00
TreeHugger Robot
2451afc0df Merge "Refine TetherSettings to avoid activity leaks" 2022-12-30 16:41:19 +00:00
Vania Januar
3dcceea28f Merge "Set title for Bluetooth Details page to "Stylus" for styluses." 2022-12-30 09:32:43 +00:00
XingHai Lu
df1fc7e0fa Merge "Cleanup plurals format Change <one> to <1> in string res file Test: Update, existing tests still pass bug: 199230342" 2022-12-30 02:44:25 +00:00
Milton Wu
160661dc6d Launch settings for clicking fingerprint unlock
Launch FingerprintSettings directly when user clicks "Fingerprint
Unlock". Let Fingerprint settings peform confirmLock() or chooseLock().
And to have smoothly animation, instead of generating challenge in
FingerprintSettings::onActivityResult(), challenge is generated in next
visible activity, and pass it back through next activity result.

Bug: 197717071
Test: atest GatekeeperPasswordProviderTest CredentialModelTest
Test: atest AutoCredentialViewModelTest FingerprintStatusUtilsTest
Test: RunSettingsRoboTests2 FingerprintEnrollIntroductionTest
Test: Manually test fingerprint enroll in settings or suw
Change-Id: Ie27c3c493ea475f6b53cb6bb3f2d45d555f47cb3
2022-12-30 10:01:06 +08:00
TreeHugger Robot
ca0ff60d63 Merge "Fix the end-icon missing issue for Wi-Fi networks" 2022-12-30 01:29:29 +00:00
Weng Su
fbe02cd543 Fix the end-icon missing issue for Wi-Fi networks
- Because WifiEntryPreference needs to support policy transparency, the inherited class is changed from Preference to RestrictedPreference.

- The RestrictedPreference will hides the end icon as default, causing this issue to happen.

- Override the getSecondTargetResId() function with necessary resource id to avoid the end-icon being hidden.

- Remove the redundant setWidgetLayoutResource, because it will be initialized in the extended class.

Bug: 262456749
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiEntryPreferenceTest

Change-Id: Ie3d3a649d3137dc705d7887c8e74592437d9ce61
2022-12-30 05:06:54 +08:00
Vania Januar
8811c177ea Merge "Pass CachedBluetoothDevice into StylusDevicesController." 2022-12-29 14:55:56 +00:00
Vania Januar
b837d57b02 Set title for Bluetooth Details page to "Stylus" for styluses.
Bug: 254835745
Test: BluetoothDeviceDetailsFragmentTest
Change-Id: I725877b0bcf44fa7be805e16fb2d695c9d6074dc
2022-12-29 12:31:59 +00:00
Vania Januar
57822a67a8 Pass CachedBluetoothDevice into StylusDevicesController.
Styluses can now be identified using the newly added DEVICE_TYPE_STYLUS
metadata.

Bug: 251200056
Test: StylusDevicesControllerTest
Change-Id: Ie89f6419cd16ed97299944b35497c6b2ee764dab
2022-12-29 12:31:31 +00:00
ykhung
553baca4ce Remove EarlyWarningTip and move the logic into LowBatteryTip
Fix: 263835342
Test: presubmit
Change-Id: I256cd6f364979046ee87524751c3fe137a0524c2
2022-12-29 15:53:57 +08:00
Tetiana Meronyk
b389e9d551 Allow creating admin users when 'config_enableMultipleAdmins' property is enabled
Bug: 262371063
Test: manual
Change-Id: I465901a8d689239d9dda252c5d6f37ec0853b317
2022-12-28 16:46:33 +00:00
YK Hung
ea0b1a99b0 Merge "Remove the legacy EarlyWarning tip mechanism to improve performance" 2022-12-28 16:03:14 +00:00
Weng Su
29846984e7 Refine TetherSettings to avoid activity leaks
- Get system service by application context instead of fragment context to avoid the context being occupied

- Use the application main executor instead of creating new executor locally to avoid the executor being occupied

Bug: 246531382
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
atest -c TetheringHelperTest

Change-Id: I0de5e9c2bedfc8a224b3f8306224542212c9fcf5
2022-12-28 07:45:47 +00:00
Kuan Wang
1ce97c8ebe Generate app and device screen-on time data and return back to UI for
rendering.

Test: make RunSettingsRoboTests + manually
Bug: 260964903
Change-Id: I2fd69b4686cc2e1413ad0eb43c07b6164e411411
2022-12-28 07:40:39 +00:00
ykhung
4a470d87dc Remove the legacy EarlyWarning tip mechanism to improve performance
Fix: 263835342
Test: presubmit
Change-Id: I0c3f61a21874c70b49cdeb73bbdc285ef8c4a35f
2022-12-28 15:33:19 +08:00
Kuan Wang
bb57a75f36 Merge "Dump app usage event data in db in BugReportContentProvider." 2022-12-28 03:08:40 +00:00
Kuan Wang
b2b74d8a8b Dump app usage event data in db in BugReportContentProvider.
Test: make RunSettingsRoboTests
Bug: 260965327
Change-Id: I9f7ac74ed53b19d6ce9be3afa3ecf2a602d6309b
2022-12-28 02:56:43 +00:00
Kuan Wang
120c68881c Generate intermediate app usage data after all usage data has been
loaded for further use.

Test: make RunSettingsRoboTests + manually
Bug: 260964903
Change-Id: I52d96151cab112adca68573f3b47a53b7152f2c0
2022-12-28 02:56:35 +00:00
ykhung
b875752307 Add isBatteryManagerSupported() to control adaptive preferences page
Add isBatteryManagerSupported() in the PowerUsageFeatureProvider to
support controlling the adaptive preferences page dynamically

Bug: 229558366
Test: presubmit
Change-Id: Iffb552feb9e08ca72f2970eb778cd3fcd18f0b7e
2022-12-27 15:31:11 +08:00
xinghailu
1637a3a10a Cleanup plurals format
Change <one> to <1> in string res file
Test: Update, existing tests still pass
bug: 199230342

Change-Id: Ic3a5259570cb52cd1664638f3b1058c87a631c04
2022-12-27 12:12:11 +08:00
TreeHugger Robot
fec083b2cd Merge "[Battery usage U] Remove 'Phone Idle' to avoid confusion" 2022-12-26 02:42:50 +00:00
TreeHugger Robot
ee3c5500f6 Merge "Refine TetherSettings" 2022-12-23 07:36:55 +00:00
XingHai Lu
7f919a3c1b Merge "Cleanup some plurals in Settings Change <one> to <1> in string res file, and update related java files. Test: Update, existing test still pass. bug: 199230342" 2022-12-23 02:34:31 +00:00
Vaibhav Devmurari
327260b3c2 Merge "Change keyboard layout parameters to include Layout type." 2022-12-22 15:58:11 +00:00
Weng Su
f077b83586 Refine TetherSettings
- Move TetherSettings to network/tether folder

- Refine unit tests

Bug: 237273138
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest

Change-Id: I1eb79780df824c575e79047bdeb3a9276f061fe9
2022-12-22 23:04:59 +08:00
xinghailu
897fd74731 Cleanup some plurals in Settings
Change <one> to <1> in string res file, and update related java files.
Test: Update, existing test still pass.
bug: 199230342

Change-Id: Idd0ba3c6adc060da21574d98f8ed765fae00cef8
2022-12-22 16:05:13 +08:00
Zaiyue Xue
daeafc8fc6 [Battery usage U] Remove 'Phone Idle' to avoid confusion
Bug: 252938706
Fix: 252938706
Test: manual
Change-Id: I0ad973718f77640839dbdf4ac5ca4241f01bdb79
2022-12-22 08:36:59 +08:00
Tetiana Meronyk
e257606508 Merge "Add UI for multiple admins on Headless" 2022-12-21 17:00:48 +00:00
David Gutierrez
3595b025bc Merge "Automatic timezone support on non-telephony devices" 2022-12-21 16:40:19 +00:00
David Gutierrez
9ebb2fce7a Automatic timezone support on non-telephony devices
Adding to the Settings UI in order to simplify timezone on non-telephony devices.

Test: on-device testing, additional unit tests
Change-Id: I58ece9542a7b80823092bd082d4bd8c224b29634
Bug: 253015306
2022-12-21 16:39:32 +00:00
Vania Januar
b7855ee1b4 Merge "Stylus updater in ConnectedDevicesGroupController." 2022-12-21 11:38:53 +00:00
Tetiana Meronyk
e5acef9034 Add UI for multiple admins on Headless
In a series of CLs under topic add_ui_for_hsum_admins UI and functionality for allowing multiple admins on HSUM build is added. In User settings and User switcher when creating a new user there is a new dialog prompting to choose admin status of the user to be created. In User details view there is a toggle that is visible to admin users that allows to modify admin status of existing users. This toggle is only applicable to full users that are not supervised, guests or a main device user.

Bug: 252790451
Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.UserDetailsSettingsTest"
Change-Id: I447dc168be30aa614aeb3f8b71ad14a7223fd7c1
2022-12-21 11:02:39 +00:00
Bonian Chen
ecbb3a2933 Merge "[Settings] Code Refactor for performance" 2022-12-21 09:43:12 +00:00
Vania Januar
dc2980d220 Stylus updater in ConnectedDevicesGroupController.
This updater is responsible for listening to USI stylus
battery usage, and bluetooth stylus connection, to determine
whether to show the USI stylus preference on the Connected devices
page.

Adds an entrypoint to the StylusUsiDetailsFragment that shows
details for USI styluses.

Bug: 250909304
Test: StylusDeviceUpdaterTest
Change-Id: I6ae6b6ef880b3b3cd7430d4d35d471b14283369f
2022-12-21 09:20:07 +00:00
Kuan Wang
2c7f06e9b3 Use taskRootPackageName instead of packageName to load uid when usage
resource is USAGE_SOURCE_TASK_ROOT_ACTIVITY and taskRootPackageName is
not empty.

This logic is consistent with digital wellbeing: assign the screen-on
time onto task root activity when usage resource is
USAGE_SOURCE_TASK_ROOT_ACTIVITY.

Bug: 260964679
Test: make RunSettingsRoboTests + manual
Change-Id: I4c7ed342d8c00951879f5826bf79575f330ce86e
2022-12-21 02:39:23 +00:00
Kuan Wang
a1a7cba6a6 Move the getBatteryLevelData function from DataProcessor to
DataProcessManager and start the async task in DataProcessManager when
there is no battery level data.

Test: make RunSettingsRoboTests + manually
Bug: 260964903
Change-Id: Ie36ab6d121a5596a3abc16e7f570dd0d9b32e11c
2022-12-21 02:39:11 +00:00
PETER LIANG
0b2a23dedc Merge "Fix the display/Font preview window appears blank while transitioning between sizes." 2022-12-21 02:33:32 +00:00
Bonian Chen
af8f04c3d1 [Settings] Code Refactor for performance
Reduce number of SubscriptionManager API queries.

Bug: 260540995
Test: local and auto
Change-Id: Ib05660d9ade7f352a7cc82d4065974aec396714a
2022-12-21 01:45:40 +00:00