Commit Graph

17802 Commits

Author SHA1 Message Date
Menghan Li
0f6f22225c Merge changes I5409c1e8,I8ed80b44
* changes:
  Refactor CaptionAppearanceFragment to improve maintainability (4/n)
  Refactor CaptionAppearanceFragment to improve maintainability (3/n)
2022-07-25 08:42:40 +00:00
Kuan Wang
287a40a9e9 Add DataProcessor to process raw history map for UI.
- Move interpolation from DatabaseUtil
- Add the logic to wrap processed history map to BatteryLevelData
- Change ImmutableList to List in BatteryLevelData because
  ImmutableList.of doesn't support null element.

Bug: 236101687
Test: make RunSettingsRoboTests
Change-Id: I0a842f24e5481faf65f667c08a4fdc11fe2f235c
2022-07-25 08:39:45 +00:00
menghanli
5356e0c0a9 Refactor CaptionAppearanceFragment to improve maintainability (4/n)
Root cause: There is a bunch of different logic of preferences in CaptionAppearanceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out preset preference logic of CaptionAppearanceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CaptionPresetControllerTest CaptionAppearanceFragmentTest
Change-Id: I5409c1e8a6bdfc633abc304d8cf800ea0943de78
2022-07-25 12:26:27 +08:00
menghanli
16fbfe4e14 Refactor CaptionAppearanceFragment to improve maintainability (3/n)
Root cause: There is a bunch of different logic of preferences in CaptionAppearanceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out color and edge preference logic of CaptionAppearanceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I8ed80b445a0d376a7e9dda87feda82420a78a9da
2022-07-25 09:18:11 +08:00
menghanli
755d691183 Refine AccessibilityGestureNavigationTutorial button type
Root cause: It is weird to display positive text for the negative button.
Solution: Change to the positive button.

Bug: 216189516
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityGestureNavigationTutorialTest
Change-Id: I8ffc6b7b5b510fab159a23af83bca4426f2dc81d
2022-07-25 08:40:24 +08:00
Peter Zhang
f0013da134 Improve the UI of Press & hold power button settings
The following changes has been made:
- The on/off toggle for Assistant now becomes two radio selectors ("Power Menu" and "Digital Assistant"). This is to make things clearer that Press & hold power button can be configured to power menu.
- The corresponding power menu animation will be shown when "Power Menu" is selected.
- The Assistant specific sensitivity settings and the foot notes are hidden when "Power Menu" is selected.
- Some minor wording updates according to the requests from Assistant / Settings UXW.

Bug: 229722937
Test: robotest, manual
Change-Id: Ib356fba861ad8c4a2626a0e0bd8cf3e4d90ce9a6
2022-07-22 16:07:52 +02:00
Milton Wu
68247caafc Send metric intent back to SUW
Add metric intent if ChooseLockGeneric is triggered in SUW.
1. Save the result bundle data from ChooseLockGeneric to cache inside
   BiometricEnrollActivity and pass back to SUW after all finished.
2. Since fingerprint enrollment trigger points in SUW for
   fingerprint-only or fingerprint + faceAuth devices are all moved
   from SetupFingerprintEnrollIntroduction to BiometricEnrollActivity,
   remove deprecated code from SetupFingerprintEnrollIntroduction.

Bug: 235458700
Test: Manually test fingerprint enroll with SUW or w/o SUW
Test: Manually test fingerprint enroll with unicorn SUW
Test: atest BiometricEnrollActivityTest
Test: robo tests FingerprintEnrollIntroductionTest
Change-Id: I34b2884ab4c2c65d464d91eaef0f58c72dad438b
2022-07-22 08:53:48 +00:00
Wesley Wang
01eabef95b Merge "Update battery optimize page states condition" 2022-07-22 06:16:08 +00:00
Julia Reynolds
de6ed69527 Merge "Improve App notification loading" into tm-qpr-dev am: 4ab5255893 am: 6292d9ff8c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19290333

Change-Id: Ifb860cdab87fc01ba578346167361a1d30ae9695
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-21 21:06:49 +00:00
Julia Reynolds
6292d9ff8c Merge "Improve App notification loading" into tm-qpr-dev am: 4ab5255893
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19290333

Change-Id: Iac930f653c146436863978c1c98439d2e63a6837
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-21 20:48:46 +00:00
Julia Reynolds
4ab5255893 Merge "Improve App notification loading" into tm-qpr-dev 2022-07-21 20:30:21 +00:00
Neil Fuller
d8b54cd28d Merge "Change high/low bound logic for manual date/time" 2022-07-21 09:22:48 +00:00
Julia Reynolds
e90507373c Improve App notification loading
1) Use UiBlocker, for better animations for apps with a lot of channels
2) Only load data in onResume, because the data loading step in some
of the controllers is expensive

Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"
Test: load small channel and large (6000ish) channel app pages
Test: load individual channel pages
Test: load in-app channel shelf UI
Fixes: 215072888
Change-Id: I9a1c96f75b02f94b3ffc529d17d9c0cad7752de1
2022-07-20 15:27:52 +00:00
TreeHugger Robot
ef289f99b5 Merge "Refactor Battery Chart View State Controll" 2022-07-20 13:34:35 +00:00
Zaiyue Xue
d4f9588a3d Refactor Battery Chart View State Controll
When users click the battery chart, the orignal behavior is that the view changes the state by itself.
This cl refactors the bahavior to that the view callbacks to the controller, and
the controller changes the view's state.
In this way, the controller is the only source of truth of the state.
This meets the controller-view model.

Test: manual
Bug: 239491373, 236101166
Change-Id: I754ded2dba20319f1571374dfdbef27f2420ed78
2022-07-20 09:38:23 +00:00
TreeHugger Robot
1489a54577 Merge "Update all preferences when the account preference updates UI" into tm-qpr-dev am: 6e14ff02e8 am: b47e7b4248
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19192851

Change-Id: I7772126785874bfa190e70003221c5a8a9e39ec5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-20 03:07:12 +00:00
TreeHugger Robot
b47e7b4248 Merge "Update all preferences when the account preference updates UI" into tm-qpr-dev am: 6e14ff02e8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19192851

Change-Id: I832dcbc2fa78a81f9d64169d80cdc5a9aed5df4d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-20 02:48:33 +00:00
TreeHugger Robot
6e14ff02e8 Merge "Update all preferences when the account preference updates UI" into tm-qpr-dev 2022-07-20 02:22:44 +00:00
TreeHugger Robot
42c02ad936 Merge "Prevent leaking Wi-Fi dialog on lock screen" into tm-qpr-dev am: bd41fe5a5b am: 3d6b632232
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19207636

Change-Id: I66292ce19a0616253ec8f23a185d34aa7a03a977
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-19 20:24:42 +00:00
TreeHugger Robot
3d6b632232 Merge "Prevent leaking Wi-Fi dialog on lock screen" into tm-qpr-dev am: bd41fe5a5b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19207636

Change-Id: I8ea19a4c48286a2185450116f06a3314087c5be8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-19 17:21:39 +00:00
TreeHugger Robot
bd41fe5a5b Merge "Prevent leaking Wi-Fi dialog on lock screen" into tm-qpr-dev 2022-07-19 17:02:10 +00:00
Neil Fuller
d0a3929327 Change high/low bound logic for manual date/time
This commit moves knowledge of the upper / lower bounds for valid manual
date suggestions to (internal) API calls.

It adds a test to confirm the API calls are used to configure the date
dialog.

Further, it removes redundant filtering from the client that would
prevent suggestion calls being made if the settings UI considers them
invalid. Year bounds are already used to limit the UI entry, and the
system server will return false from the service call if the suggestion
is invalid, though the SettingsUI doesn't do anything (behaviorally)
with the false before or after this change.  After this change it is
logged.

The goal of this change is to allow users with devices that don't have
the Y2038 issue to enter dates > 2037. This could have been done with
a smaller change, but the use of the new internal class
TimeDetectorHelper means that the bounds logic is in one place. The
lower bound (on mobile devices) can now be changed relatively easily by
touching one class.

Bug: 228967927
Test: m RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.datetime"
Change-Id: Iaf1ca8220e0e96773aa71b595da9c1ba1e50d59d
2022-07-19 13:43:36 +01:00
TreeHugger Robot
e18e92699e Merge "In BatteryChartViewV2, use levels.length-1 to replace mTrapezoidCount. So the chartview could show any number of slots as the given levels length-1." 2022-07-19 10:57:05 +00:00
Jason Chiu
c89755525f Update all preferences when the account preference updates UI
When an account is added or removed, the account preference controller
just updates the account list, whereas there's no trigger point for the
account data sync preferences to refresh.

Add an API to update all preferences in DashboardFragment, so we can
refresh the account sync preferences whenever the account list is
updated.

Bug: 185479221
Test: robotest, manual
Change-Id: Ide3d972abae09ce0175e3bafbb1f4a5e307d20c8
2022-07-19 10:32:23 +00:00
Sorin Basca
e2b0873f9c Use Mockito 4.6.1 API
Bug: 236636175
Test: m RunSettingsRoboTests
Change-Id: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
(cherry picked from commit c1c3a84fdc)
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
(cherry picked from commit 61e0bcd194)
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2022-07-19 09:07:28 +00:00
Zaiyue Xue
837a8f0063 In BatteryChartViewV2, use levels.length-1 to replace mTrapezoidCount. So the chartview could show any number of slots as the given levels length-1.
Test: manual
Bug: 236101166, 239491373
Change-Id: I9625ed80e8eba6632cc864ada0ba3e9cf11de82a
2022-07-19 16:54:59 +08:00
Wesley Wang
7e8d79b3c2 Update battery optimize page states condition
- Keep apps optimize state as what it set even it's a system or default
   app
 - Previously we force system/defualt apps present as Unrestricted mode
   only and disable other options but that can not shows that apps
   actual optimize states, it's possible to be other states even it's a
   system or default apps, so we change the UI logic back to: present
   it's actual states and disable other options when it's a system or
   default apps.

Bug: 234419032
Test: make SettingsRoboTests
Change-Id: Ib5b6cb0aacb570cb8d15b1bb9ac2d480356eda49
2022-07-19 16:27:14 +08:00
TreeHugger Robot
91aec69fdc [conflict] [conflict] Merge "Use Mockito 4.6.1 API" into tm-dev-plus-aosp am: ac6af411ed am: 326c0ea30c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19305127

Change-Id: I52547d10f0579fddb21091b641925910db17ef38
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2022-07-18 22:39:07 +00:00
Simon Wingrove
ef498ef53d Distinguish multiple PendingIntents via requestCode am: 25686219d3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19289844

Change-Id: Id8509feac060578cf8d7ffb4d7a7b9def221f029
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-18 19:19:15 +00:00
Menghan Li
7fa6e7df05 Merge "Refactor AccessibilityControlTimeoutPreferenceFragment to improve maintainability" 2022-07-18 13:52:29 +00:00
Simon Wingrove
25686219d3 Distinguish multiple PendingIntents via requestCode
Settings uses a system of intent extras to open subsettings pages. When
PendingIntents are created from these Intents, the system does not think
they are unique as extras are not included in this equality check. So
only one of them is likely to work.

A unique request code can be used to distinguish between them.

Bug: 238605613
Test: atest LockScreenSafetySourceTest
Merged-In: Ia59197eeb86e988d9ffbb86caff4bbda7b30f059
Change-Id: Ia59197eeb86e988d9ffbb86caff4bbda7b30f059
(cherry picked from commit f2b0cedcd0)
2022-07-18 11:18:28 +00:00
Simon Wingrove
3db36eb530 Merge "Distinguish multiple PendingIntents via requestCode" 2022-07-18 11:13:42 +00:00
menghanli
236a376211 Refactor AccessibilityControlTimeoutPreferenceFragment to improve maintainability
Root cause: There is a bunch of different logic of preferences in AccessibilityControlTimeoutPreferenceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out logic of AccessibilityControlTimeoutPreferenceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I22e6e3b9e2f199ac1721fc069690321ad5f7a0d4
2022-07-18 15:50:52 +08:00
Zaiyue Xue
24bc269ec1 Refactor BatteryChartView X-axis labels. Instead of
only timestamps, also support any string[] labels.

Bug: 236101166
Test: manual
Change-Id: I84763ccce0ee63da0b5b26e1416bf5bd5b58963d
2022-07-18 14:25:24 +08:00
TreeHugger Robot
326c0ea30c [conflict] Merge "Use Mockito 4.6.1 API" into tm-dev-plus-aosp am: ac6af411ed
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19291449

Change-Id: Ifce8e49a098d2e745f15348eb2d318d347366e31
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2022-07-16 09:09:57 +00:00
Sorin Basca
b9503775c0 Use Mockito 4.6.1 API
Bug: 236636175
Test: m RunSettingsRoboTests
Change-Id: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
(cherry picked from commit 61e0bcd194)
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2022-07-16 07:57:52 +01:00
Sorin Basca
61e0bcd194 Use Mockito 4.6.1 API
Bug: 236636175
Test: m RunSettingsRoboTests
Change-Id: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
(cherry picked from commit c1c3a84fdc)
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2022-07-15 20:05:37 +00:00
Menghan Li
95c771c02f Merge changes Ia52cd272,Ie8acdcb8
* changes:
  Refactor CaptionAppearanceFragment to improve maintainability (2/n)
  Refactor CaptionAppearanceFragment to improve maintainability (1/n)
2022-07-15 11:47:37 +00:00
TreeHugger Robot
9adbde0a8f Merge "Check portal on fingerprint intro page" into tm-qpr-dev am: 9fcf073bab am: f14704504b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19267972

Change-Id: I48a8397229e527254c7b96c7cd60ae9be46c6837
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-15 00:54:23 +00:00
TreeHugger Robot
f14704504b Merge "Check portal on fingerprint intro page" into tm-qpr-dev am: 9fcf073bab
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19267972

Change-Id: I738b4d76e633f359cdaedc4fee43f0975c60e7e8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-15 00:33:48 +00:00
TreeHugger Robot
9fcf073bab Merge "Check portal on fingerprint intro page" into tm-qpr-dev 2022-07-15 00:08:59 +00:00
menghanli
3a591f9a34 Refactor CaptionAppearanceFragment to improve maintainability (2/n)
Root cause: There is a bunch of different logic of preferences in CaptionAppearanceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out font size and type face preference logic of CaptionAppearanceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: Ia52cd272495d49a772c981f51e190ff7d29ee14f
2022-07-15 06:55:54 +08:00
menghanli
591e44bb99 Refactor CaptionAppearanceFragment to improve maintainability (1/n)
Root cause: There is a bunch of different logic of preferences in CaptionAppearanceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out preview preference logic of CaptionAppearanceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: Ie8acdcb8659606ce3faf6d5532cc73ee19024725
2022-07-14 16:55:08 +08:00
Milton Wu
bd966754ce Check portal on fingerprint intro page
Check SUW portal flag on Fingerprint introduction page. Do not use
suw_max_fingerprints_enrollable as fingerprint count if portal flag is
enable.

Bug: 235655422
Test: m RunSettingsRoboTests \
      ROBOTEST_FILTER=FingerprintEnrollIntroductionTest
Test: Manually test "Add another finger" on Deferred and Portal
      suggested actions page
Change-Id: I2789d95fb214b5da6d8d03ef77583d064652e69e
2022-07-14 05:28:46 +00:00
Kuan Wang
66e146706d Use Mockito 4.6.1 API for BatteryChartPreferenceControllerV2Test
Fix the build breakage.

Bug: 238962112
Test: make RunSettingsRoboTests
Change-Id: Ib85c8dc8e68b1f622dbd37dca5e79484f7cac47f
2022-07-14 04:15:03 +00:00
Kuan Wang
3d2e5a2447 Duplicate BatteryChartPreferenceController and BatteryChartView into new
files for better diff review purpose

Bug: 236101687
Test: make RunSettingsRoboTests
Change-Id: I2d29bbfe14bcc5df7c09bceec2cbb0673685f522
2022-07-14 02:35:55 +00:00
Sorin Basca
61fdd86ec2 Merge "Use Mockito 4.6.1 API" 2022-07-13 14:33:28 +00:00
Jason Hsu
1059b2d3c4 Merge "Fix test case fail in HearingAidUtilsTest" 2022-07-13 07:40:18 +00:00
Sorin Basca
c1c3a84fdc Use Mockito 4.6.1 API
Bug: 236636175
Test: m RunSettingsRoboTests
Change-Id: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2022-07-13 06:39:26 +01:00
Jason Hsu
20f06012f6 Merge changes Ib9cb9b6d,I85209170
* changes:
  Change updatePreferenceOrder() to onCreateView()
  Migrate to DashboardFragment in ToggleFeaturePreferenceFragment
2022-07-13 04:32:22 +00:00