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
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
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
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
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
Root Cause: Only happen when running `make RunSettingsRoboTests` not
happen when running `make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidUtilsTest`. It is dependency test case fail when other tests also have AlertDialog pop up alerady.
Solution: Move ShadowAlertDialog reset before running each test, not after running each test.
Bug: 238829557
Test: make RunSettingsRoboTests
Change-Id: I32da4ee87580b4f475556905f7574b211a69b29b
Root Cause: ToggleFeaturePrefreferenceFragment becomes heavy when more and more features come in.
Solution: Mirgrate to DashboardFragment, a plugin-style preference controllers, can help us separate the preference and its logic into its own controller.
* This is the first step for the whole migration. Change to extend DashboardFragment and fill up the missing override functions.
* Reorder fields and functions to the recommended general approach.
Bug: 171272809
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I852091700a4b3b3c7bbdbc82f0b5dc47c087d61c
Settings don't show divider in material design. The DividerAllowedBelowPreference is not used now.
Bug: 197695932
Test: make RunSettingsRoboTest
Change-Id: Id2b28f76c4ed8c429594bf786690499fb3f2503a
Settings don't show divider in material design. The DividerSwitchPreference is not used now.
Bug: 197695932
Test: make RunSettingsRoboTest
Change-Id: I3fef9401b5c4a3e7d4ca6fc966f3e60c57558cdd
When there are multiple accounts in the devices, the battery usage list
is shared in the current design. We will aggregate other users usage
data into a single item to support multi-user privacy requirements
Screenshot: https://screenshot.googleplex.com/AkFTUtNvnoxcuGR
Bug: 202119550
Test: make RunSettingsRoboTests
Change-Id: I6cb55f0d50a4caca83212a0a54410530a032c089
- Export onSeekBarChangeListener callback to receive change event from parent
- Update battery saver schedule trigger threshold after seekbar tounch
ending instead of update it every time during dragging or touching
Bug: 236356020
Test: make RunSettingsRoboTests
Change-Id: Ifee7cd9e7cabfbec0817a4c28254228f885d6a8d
Root cause: Don't call displayPreference before setChecked called.
Solution: Don't show quick settings tooltips if preference is not ready.
Bug: 237850687
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest
Change-Id: I52425190cce4ab3cf31be025a743bf8b212fa1f9
Replaces the LayoutPreference with native Preference for the reset preference which is used for resettings the status of all preferences.
Bug: 232528123
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TextReadingResetControllerTest,TextReadingResetPreferenceTest
Change-Id: I00719f13dc78039269ee373c6b35e12e7ff595ce
- Keep user-entered SSIDs in Wi-Fi Configuration
- Ignore CRLF strings in display SSIDs only
Bug: 224545390
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=AddAppNetworksFragmentTest
Change-Id: Ifc081f9c5c02b2d70412f296688b88e44e893add
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
Root cause: There is a bunch of different logic of preferences in CaptionPropertiesFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out different logic of CaptionPropertiesFragment into controllers to reduce the complexity of the relationship between preference and fragment.
Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CaptionPropertiesFragmentTest CaptionTogglePreferenceControllerTest
Change-Id: I7013a7aa284b587c329c2e678dbb079e553ea94d
Root cause: There is a bunch of different logic of preferences in CaptionMoreOptionsFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out different logic of CaptionMoreOptionsFragment into controllers to reduce the complexity of the relationship between preference and fragment.
Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CaptionMoreOptionsFragmentTest CaptionLocalePreferenceControllerTest
Change-Id: Ifdf3e22b027328a9f8eb13d756730ca047ece047
This change will show work apps and personal apps together in the
recent apps settings page, sorted by decreasing last usage time.
Test: see both work and personal apps in the recent apps page in the
correct order.
Fix: 146921442
Change-Id: I174a556010529bc39c085cc006722bc2947535bd