Commit Graph

619 Commits

Author SHA1 Message Date
Zhenwei Chen
2ca0fb13a3 Merge "Add dock defender battery tips" 2022-11-29 02:53:27 +00:00
Zhenwei Chen
8d11d9ceea Add dock defender battery tips
1. Remove the dock defender v1 code
2. Add dock defender battery tips and update
   corresponding list item string

Bug:256523472
Test: Unit test passed and manual test on device
Change-Id: Ib6c09df056744142f42f5e2a13252b58e54c7534
Signed-off-by: Zhenwei Chen <zhenwec@google.com>
2022-11-28 17:45:51 +08:00
Kuan Wang
2b93d40683 Use the field isFullChargeCycleStart in database to get the last full
charge cycle start and remove the unused SharedPreference.

Test: make RunSettingsRoboTests + manual
Bug: 253553141
Change-Id: I74ef71775fa5d4871077f6d5573467aa5843bc6b
2022-11-28 11:27:24 +08:00
Kuan Wang
1493fa2fea Database restructure: use protobuf to save battery information fields.
This patch only updates the existing fields.
There will be 2 following patches to:
1. Expose the new fields (foreground / foreground service / background x
   usage time / power consumption) to UI.
2. Get the full charge cycle start time from Database and remove the
   SharedPreference.

Test: make RunSettingsRoboTests + manual
Bug: 253553141
Change-Id: Iee02dc7e671f97899cb1495323acfa0173e31df2
2022-11-17 06:06:54 +00:00
TreeHugger Robot
148774d287 Merge "Fingerprint Introduction FragmentActivity" 2022-11-16 00:04:49 +00:00
Milton Wu
b9b8b8a512 Fingerprint Introduction FragmentActivity
Introducing MVVM architecture & fragments to biometric settings.
Here, we modify the first page of FingerprintEnrollIntroduction to use
new MVVM with Fragment architecture.

And with this new architecture, unit test and screen order will be
easier to be written or changed.

Bug: 236072782
Test: atest FingerprintEnrollmentViewModelTest AutoCredentialViewModelTest
	    FingerprintEnrollIntroViewModelTest FingerprintRepositoryTest
Change-Id: Icf12c91625db86c2c99081a0108203e607e77f74
2022-11-14 15:36:03 +08: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
Kuan Wang
c7afa45eac Clean up unused function getHideApplicationSummary in
PowerUsageFeatureProvider.

Bug: 253395332
Bug: 254769892
Bug: 254769770
Test: make RunSettingsRoboTests
Change-Id: I6acf0cbdb7321934e85939e0acee567001107a17
2022-10-21 04:42:06 +00: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
Kuan Wang
d16201a375 Merge "Copy BatterySettingsContentProvider from SettingsIntelligence to Settings and rename it to BatteryUsageContentProvider." 2022-10-18 02:26:48 +00:00
Kuan Wang
0a0ba915ca Copy BatterySettingsContentProvider from SettingsIntelligence to Settings and rename it to BatteryUsageContentProvider.
Bug: 253395332
Test: make RunSettingsRoboTests + manually
Change-Id: Ib6c2240cd065f6e29393e13b7231bba7afd2d850
2022-10-18 02:26:23 +00:00
Kuan Wang
f41ae57f17 Copy Battery Usage Database from SettingsIntelligence to Settings.
Bug: 253395332
Test: make RunSettingsRoboTests + manually
Change-Id: Ibdd2ace10d9e0893b3d96b345d563307b1890df6
2022-10-18 02:26:18 +00:00
Hugh Chen
f891f7ba86 RESTRICT AUTOMERGE Refactoring settings UI
Bug: 248174653
Test: build & boot pass
Change-Id: I124a65941349d3338145865cae2c8354678897fa
2022-10-11 04:30:09 +00:00
Chaohui Wang
80a11a251e Remove the redundant constructor of SuggestionFeatureProviderImpl
Fix: 175167313
Test: robotest
Change-Id: I7ebbaf92398a8300971d592e2ee7a6e0d82c1d2f
2022-07-13 03:44:26 +00: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
Hugh Chen
858e6ff3d5 RESTRICT AUTOMERGE Implement advanced vpn ui in vpn settings
Bug: 220684478
Test: atest -c VpnSettingsTest

Change-Id: If89de16d02cb8b1f387b8f388f8fcf82ad39066b
2022-06-06 06:37:26 +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
2cf9780748 Merge "Add the jank detection to Settings toggles" into tm-dev am: a47f9bb17f am: ca86110548 am: c41f9a953a am: 0f1658d013
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18212942

Change-Id: I298b0de2dcfe6a914cb74bc9947bd5780a48cca5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-20 13:44:18 +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
jasonwshsu
1fc03683c2 Add mechanism to add accessibility service or activity into bluetooth 'Related' category am: 02b373522a am: cf507b603b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17472403

Change-Id: Ibbd4f11bcdd43417d188c5d77f3fdbd5bc2e589a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-15 07:49:31 +00:00
jasonwshsu
00019e721f Add mechanism to add accessibility service or activity into bluetooth 'Related' category am: 02b373522a am: 99e5fe760a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17472403

Change-Id: I2674a27be6bade64b028fdd2f1cc9118ed544c85
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-15 07:48:50 +00:00
jasonwshsu
02b373522a Add mechanism to add accessibility service or activity into bluetooth 'Related' category
Bug: 225117933
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDetailsRelatedToolsControllerTest
Change-Id: Iaa3593b4fd9d916fe7f96b3e4bb0965fdbbe36ec
2022-05-14 22:43:19 +08:00
Jason Chiu
0544b164f7 Merge "Reduce flickers of Injection" into tm-dev am: 6d9b155b20 am: a0d2506909
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18186097

Change-Id: I52e89fb2278e16af4ebc918b1849eb93a3cfdc5b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-09 19:07:13 +00: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
Hugh Chen
cf210dd00b Implement advanced vpn ui in vpn settings
Bug: 220684478
Test: atest -c VpnSettingsTest

Change-Id: If89de16d02cb8b1f387b8f388f8fcf82ad39066b
2022-04-25 07:59:13 +00: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
Tsung-Mao Fang
a8d5f8dbc1 Merge "Do not expose wifi slice when no permission" into tm-dev am: ccb8855b98 am: 11979785a6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17536305

Change-Id: I6992311468464d28114e7aa07e2347fed679060a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-19 08:30:11 +00:00
Tsung-Mao Fang
821608c5be Do not expose wifi slice when no permission
Prior to this cl, slice provider always exposes wifi slice
to calling package without confirming any wifi permissions.

For current solution, we will check calling package's permission state
and decide whether slice provider should expose wifi slice or not.

Because settings search is a part of settings app,
this permission checker won't be applied to settings intelligence.

Test: manual, robotest, cts
Also run manul
Bug: 178014725

Change-Id: I2770b5b43366a5aa65c7519efc4243d350a21b26
2022-04-19 08:07:35 +00:00
Kedar Chitnis
a1fbad7dd8 Guest mode UX flow updates to user settings
- Add option in user settings to enable/disable ephemeral
  mode for guest user
- Update user settings to show exit guest and reset guest preferences
- Update user settings to show guest related preferences grouped together

Bug: 214031645, 175795666
Screenshots: go/ephemeral-guest-b-214031645-ux
Test: Manual test on sunfish, atest SystemUITests, atest SettingsRoboTests

Relands ag/16544951 after fixing post submit issues

Revert "Revert "Guest mode UX flow updates to user settings""

This reverts commit ed45e8c56a.

Change-Id: I54583f9021171ae523ff40d4f63835f1cb486e35
Merged-In: I54583f9021171ae523ff40d4f63835f1cb486e35
2022-04-14 09:37:57 +00:00
Chaohui Wang
0bee8b57c4 Merge "Clean up unused Sliceable.copy()" into tm-dev am: f2178a48ee am: 1aebd5fb02
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17539525

Change-Id: Ia850d51dec2cc813a65928ef12c6edcccfbe245b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-07 18:11:25 +00:00
Chaohui Wang
1aebd5fb02 Merge "Clean up unused Sliceable.copy()" into tm-dev am: f2178a48ee
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17539525

Change-Id: I9a02fa61cf65039e905b98a25e5510ae2e7c262d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-07 17:54:53 +00:00
Peiyong Lin
7ef70db34d Merge "Remove GameSettings and ExtraAppInfo." into tm-dev 2022-04-07 17:48:18 +00:00
Peiyong Lin
a4f590f1f1 Merge changes from topic "remove_game_dashboard"
* changes:
  [automerge] Remove GameSettings and ExtraAppInfo. 2p: e14c23fcf9 2p: f621f13d83
  [automerge] Remove GameSettings and ExtraAppInfo. 2p: e14c23fcf9
  Remove GameSettings and ExtraAppInfo.
2022-04-07 17:48:18 +00:00
Peiyong Lin
e14c23fcf9 Remove GameSettings and ExtraAppInfo.
Bug: b/224595815
Test: manual
Change-Id: Ifc9a9e8c0b4b2170144639abb2f81f8916d5f164
2022-04-05 21:45:05 +00:00
Kedar Chitnis
fa49a4f111 Guest mode UX flow updates to user settings
- Add option in user settings to enable/disable ephemeral
  mode for guest user
- Update user settings to show exit guest and reset guest preferences
- Update user settings to show guest related preferences grouped together

Bug: 214031645, 175795666
Screenshots: go/ephemeral-guest-b-214031645-ux
Test: Manual test on sunfish, atest SystemUITests, atest SettingsRoboTests

Relands ag/16544951 after fixing post submit issues

Revert "Revert "Guest mode UX flow updates to user settings""

This reverts commit ed45e8c56a.

Change-Id: I54583f9021171ae523ff40d4f63835f1cb486e35
2022-04-04 05:28:21 +00:00
Chaohui Wang
6c9da58f4b Clean up unused Sliceable.copy()
Sliceable.isCopyableSlice() is not set to true for any controller, so this function is not used.

Usage is removed in Change: I81474aed994678c42d73cc59e169573880de1378

Bug: 227722942
Test: robotest & manual
Change-Id: I86e23aa8ad43f60b5017ff0a278e20e3f727706c
2022-04-02 19:16:22 +08:00
Chaohui Wang
9d8603568d Fix "Automatically sync app data" button state not changed
This issue is caused by mPreference is null.
(Not recovered when the fragment is recreated after configuration change.)

Mimic the PreferenceDialogFragmentCompat.getPreference() in AndroidX to
solve this issue.
https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:preference/preference/src/main/java/androidx/preference/PreferenceDialogFragmentCompat.java;l=176;drc=ca9feb3b73769089afbfd36b4d4a3d91239f9cd5

Ideally in the long term, we could use PreferenceDialogFragmentCompat
instead.

Fix: 218754949
Test: robotest & manual
Change-Id: I7fc8dd3b771aa45c91f915e25c8cc6c6afdd8d63
2022-03-29 12:32:23 +08:00
Christian Göllner
ff9065ac95 Add support for device state based auto-rotation preferences in Settings.
- Creates new preferences that are shown when device-state rotation
  is supported.
- Hides standard preferences when device-state rotation is supported.
- Controllers/Preferences for individual folded/unfolded rotation
  settings are created and added programatically based on the settable
  device states available.

Test: Manually + Unit tests
Bug: 195757480
Change-Id: I16f50fd3664756b363c7eb79e5c35eb0d3b6df17
2022-02-21 17:18:04 +01:00
Christian Göllner
3c65556ceb Merge "Revert "Add support for device state based auto-rotation prefere..."" 2022-02-16 17:27:53 +00:00
Christian Göllner
a663f10c4e Revert "Add support for device state based auto-rotation prefere..."
Revert submission 16745827-device-state-auto-rotation-preferences-aops

Reason for revert: Checking if reason for test failures
Reverted Changes:
I77ed93f04:Add support for device state based auto-rotation p...
I5b2791f54:Add support for device state based auto-rotation p...
If254220ca:Add support for device state based auto-rotation p...
If254220ca:Add support for device state based auto-rotation p...

Fix: 219652963
Change-Id: Id95d5d7bb18a28403a6d3199945044e6617e0772
2022-02-16 13:31:16 +00:00
TreeHugger Robot
afdd629808 Merge "Add support for device state based auto-rotation preferences in Settings." 2022-02-15 02:55:55 +00:00
Christian Göllner
78a0e714c4 Add support for device state based auto-rotation preferences in Settings.
- Creates new preferences that are shown when device-state rotation
  is supported.
- Hides standard preferences when device-state rotation is supported.
- Controllers/Preferences for individual folded/unfolded rotation
  settings are created and added programatically based on the settable
  device states available.

Test: Manually + Unit tests
Bug: 195757480
Change-Id: If254220ca3018bc6ec1c4e3947375733f6816f92
2022-02-14 18:51:54 +01:00
Wilson Wu
2683549e29 Merge "Fix NPE if keyboard settings is launched by work apps" 2022-02-11 06:27:41 +00:00
Marie Matheson
39034b66cf Add some functionality to Settings ShadowLockPatternUtils
Test: make RunSettingsRoboTests
Bug: 218885287
Change-Id: If8a28a1680f0fc62f2bff5a927ccf876441bafa5
2022-02-10 23:14:43 +00:00
Wilson Wu
ddb5147649 Fix NPE if keyboard settings is launched by work apps
IME apps can request users to enable them by directly
launching the on-screen keyboard settings page.

If keyboard settings is launched by works apps, the
current userId would be work userId. There is no managed
profile for work user so the exception happened.

-. Use current userId if it's launched by work user
-. Use primary user info for personal fragment

Fix: 216395439
Test: Manual test with issue steps
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableVirtualKeyboardFragmentTest
Change-Id: Iea573922ee789d9932c0de05bf71179c4f005eeb
2022-02-10 15:13:26 +08:00
Steven Ng
89f5e2e497 Show "Turns on at bedtime" in Dark theme setting based on feature flag
Test: atest SettingsRoboTests:com.android.settings.display.darkmode.*
Bug: 217866453
Change-Id: Ic40975d4506f812790768339e48441a048529df3
2022-02-08 11:45:39 +00:00