Commit Graph

46 Commits

Author SHA1 Message Date
Jacky Wang
e7fbf8f92c [Catalyst] Refactor DarkModeScreen
By virtue of KeyValueStore abstraction, the per-fragment state could be
moved into storage.

NO_IFTTT=Catalyst only

Bug: 375132235
Flag: com.android.settings.flags.catalyst_dark_ui_mode
Test: Manual
Change-Id: Ifff1c6e0b51cda981337b84008713c35a0a724ea
2024-12-25 10:39:25 +08:00
Sunny Shao
34ff37e91c [Catalyst] Implement get{Read,Write}Permissions for Dark theme
NO_IFTTT=Catalyst migration

Test: Devtool
Fix: 385271120
Flag: com.android.settings.flags.catalyst_display_settings_screen
Change-Id: I09cae1d99d149cc7c481080388c6d44088e857c2
2024-12-23 15:36:52 +08:00
Jacky Wang
821d320051 [Catalyst] Update permission check API signature
NO_IFTTT=Catalyst only

Bug: 374115149
Flag: com.android.settings.flags.catalyst
Test: manual
Change-Id: Ib13a5fddd517e3e260815b753b55c008e24d70d8
2024-12-13 16:09:58 +08:00
Jacky Wang
8a97245b3d [Catalyst] Add sensitivity level
NO_IFTTT=Catalyst only

Bug: 380457585
Flag: com.android.settings.flags.catalyst
Test: Manual
Change-Id: Ia98a925011723738e1a16cc0e0c3d703d3dbd505
2024-11-29 07:36:13 +08:00
Jacky Wang
83708d4499 [Catalyst] Update PreferenceLifecycleContext.notifyPreferenceChange
Change the signature from metadata to preference key, so that the API
could be used to notify other preferences on the same screen.

NO_IFTTT=Catalyst only

Bug: 332201912
Flag: com.android.settings.flags.catalyst
Test: atest
Change-Id: Ibdf5f9004471d5491a0be1e84365cbe9f136c373
2024-11-19 13:38:06 +08:00
Jacky Wang
e635f1e0ed [Catalyst] Support Getter API for settings service
NO_IFTTT=Catalyst only

Bug: 373895596
Flag: com.android.settings.flags.catalyst_service
Test: devtool
Change-Id: I367f350d2192d1285bf355a9e45c2d9bec11fa44
2024-11-16 08:06:28 +08:00
Jacky Wang
5329552b74 [Catalyst] Allow external SET for Display/Sound settings
NO_IFTTT=Catalyst only

Bug: 360015496
Bug: 368359268
Flag: com.android.settings.flags.catalyst
Test: devtool
Change-Id: I61b2b4b78eba1ca41aa3e5cbfea41c0be9474d0b
2024-11-04 04:15:39 +08:00
Jacky Wang
2d1770e4f7 [Catalyst] Migrate "Dark theme" settings
Bug: 375132235
Flag: com.android.settings.flags.catalyst_dark_ui_mode
Test: Manual
Change-Id: I40f305fe8d89feac84e2316c7a90c6eeb2b4a5fa
2024-10-24 11:27:07 +08:00
Jacky Wang
45a2c3e5b8 Refactor DarkModePreference for catalyst
Bug: 375132235
Flag: EXEMPT refactor
Test: N/A
Change-Id: I17a63ad62d3b9fced4305d464372f2eab5023e3f
2024-10-24 07:54:26 +08:00
Matías Hernández
2a3e8b3070 Update "Dark Theme" Settings screen to account for Modes that can toggle it
Bedtime is no longer a special case.

Fixes: 361592187
Test: atest com.android.settings.display.darkmode
Flag: android.app.modes_ui
Change-Id: Iddc5d8142d6bc0bb1f5c4ead876ee201c8818b12
2024-09-11 11:52:50 +02:00
Chaohui Wang
08a1c9876e Revert^2 "Migrate to CompoundButton.OnCheckedChangeListener"
8979681a8d

Change-Id: I60edd3aabf49afbe4aa016af780baa68d928bddf
2023-11-07 14:17:15 +00:00
Sebastian Pickl
8979681a8d Revert "Migrate to CompoundButton.OnCheckedChangeListener"
Revert submission 25147565-onSwitchChanged-CompoundButton

Reason for revert: breaking builds 

Bug:309601476

Reverted changes: /q/submissionid:25147565-onSwitchChanged-CompoundButton

Change-Id: Ie746db87d9c642599593aa3d5e5baf6b7ba89c0e
2023-11-07 13:26:36 +00:00
Chaohui Wang
71d1f021af Migrate to CompoundButton.OnCheckedChangeListener
Switch and SwitchCompat are both CompoundButton.

Using CompoundButton in Java will helps migration in the future.

Bug: 306658427
Test: manual - check Settings pages
Change-Id: If2e08a9a9557ec66a3b31ef18cd2e15943098a59
2023-11-07 20:22:27 +08:00
Steven Ng
9ad7284d3f Check if the bedtime settings intent is null before launch
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.display.darkmode.*
Bug: 306060498
Change-Id: Iddaec94c3a4cba74841d83305e581605c030bf33
2023-11-06 18:45:34 +00:00
Chaohui Wang
8e2ae547d6 Clean up FeatureFactory.getFeature()
Bug: 286764889
Test: m Settings
Change-Id: I7e472e6b0ca6b7a735c1b92742ddf06c545176fc
2023-08-08 08:41:48 +00:00
Varun Shah
4a5e0e5bc7 Update the default wellbeing package config.
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
2023-04-07 19:55:19 +00:00
Chaohui Wang
9f6eaf8624 Fix flicker in Dark theme
Currently, when schedule sets to "Turns on at bedtime", the footer will
show a slid up animation when entering the page, this is because the
"Start time" & "End time" preferences are hidden in onResume().

This is because these 2 preferences always return AVAILABLE in
getAvailabilityStatus(), and manually update visibility in
refreshSummary(), which is called each time updateState() is called.

Usually the controller not set the visibility explicitly, but return
CONDITIONALLY_UNAVAILABLE in getAvailabilityStatus() when they want to
hide the preference.

Because getAvailabilityStatus() is called in onCreate(), by using this,
we can fix the flicker.

Fix: 234399017
Test: visual & robo test
Change-Id: I4cb7dd95d2985bd1ca4c8cb30aaebdc21a5415f8
2022-05-31 19:03:54 +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
Steven Ng
7f0cc14af8 Replace hard-coded bedtime action with Settings.ACTION_BEDTIME_SETTINGS
Test: atest SettingsRoboTests:com.android.settings.display.darkmode.*
Bug: 216645903
Change-Id: I3c3a00fa53528056538ab1ae34c011b4b44b3fdf
2022-02-01 16:56:17 +00:00
Steven Ng
3859251be0 Add dark theme custom type into the dark theme settings page
Also fix some test cases.

I'd prefer using Robolectric shadows rather than mocking Android
framework classes. However, I can't do that in this CL due to the
lack of multiple shadow classes support.

Test: make RunSettingsRoboTests -j56
      ROBOTEST_FILTER=com.android.settings.display.darkmode.*
Bug: 215182463
Change-Id: If557d2933927a5dd0fadd3f6db6bb6f0ab7dd5ee
2022-01-26 16:15:52 +00:00
Wilson Wu
9edf79741d Update settings PrimarySwitchPreference reference
To make InputMethodPreference support 2 target
reference, CL[1] move the PrimarySwitchPreference
into SettingsLib.

Change all PrimarySwitchPreference reference to
Settingslib one and remove the original one.

[1]: Idea3935d95b8d22b00ca89313e9eb3e979e4aa74

Bug: 197705032
Test: Presubmit
Change-Id: I95d111522344bb7cbdd380382e48fe60a5ebc9a2
2021-09-02 13:10:19 +08:00
Stanley Wang
10b7a7d483 Use MainSwitchPreference to replace the button style switches.
Fix: 177967926
Fix: 177968295
Fix: 177967925
Fix: 177968078

Test: Run robotest and apply the widget in Settings and see the ui
Change-Id: Ie854de96e5495fa564fb8a097ed4547bbd2b10c5
2021-02-02 08:39:37 +00:00
Tsung-Mao Fang
acab1a0364 Only show the schedule text for the night display and dark theme
In Android S design, night display and dark theme only show
schedule text for summary.

- Rmove redundant string resource.
- Remove redundant method in night display formatter.
- Refactor the code in dark mode preference and night display
controller.

Test: See the correct behavior in screen.
Fix: 174964139
Change-Id: I658b3073a0a6ed83f589103999c711e5430eaeb7
2021-01-07 16:17:20 +08:00
Lucas Dupin
1d663e72ce Merge "Time for dark theme doesnt format 24 hr correctly" into rvc-d1-dev am: e899f749a1 am: 5f44b7cf54 am: 6430a4b88f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12337522

Change-Id: Iac01c66216d6ab98654b97f33505d9f60714c78e
2020-08-12 22:24:45 +00:00
Jay Aliomer
b569dfdac8 Time for dark theme doesnt format 24 hr correctly
Fixes: 163048376
Test: Manual
Change-Id: Ia6c2633408670656c2b42bfb724aaf900561682e
2020-08-07 23:43:09 +00:00
govenliu
b70ddb9df7 [Wi-Fi] WiFi Settings inclusive language fix plan phase 1
Replace WiFi related terms which contain Master wording.
Goal: Create a fixit for Android Platform to reduce the use of non-inclusive language for all code.

Bug: 161425297
Test: make RunSettingsRoboTests -j or
make RunSettingsRoboTests ROBOTEST_FILTER=DashboardFragmentTest
make RunSettingsRoboTests ROBOTEST_FILTER=WirelessDebuggingPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=AutomaticStorageManagementSwitchPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=AllInOneTetherPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=TopLevelNetworkEntryPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=PrimarySwitchPreferenceTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiPrimarySwitchPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest

Change-Id: I9395c50e092e124016609f88f7c8151554a0d874
2020-07-21 20:56:22 +08:00
Jay Aliomer
57cc7d01ae Incorrect localization of dark theme custom time
Fixes: 154361883
Test: manually select dark theme custom time and make sure it matches
locale

Change-Id: I2a918b4b2f5aad6b04d3b0318bbca25e82dfae78
2020-05-28 12:00:17 -04:00
Jay Aliomer
dba11e82b5 Revert "Revert "Unable to select twilight scheduling after enabling location""
This reverts commit 782438347b.
Bug: 153115261
Reason for revert: fixing tests

Change-Id: I497a2b83cbe3eaee5f5fb3eb4df73618130fc6e2
2020-05-14 15:14:18 +00:00
Edgar Wang
782438347b Revert "Unable to select twilight scheduling after enabling location"
This reverts commit 9073b2f968.
Bug: 153115261
Reason for revert: this CL make Settings robolectric test fail at com.android.settings.display.darkmode.DarkModeScheduleSelectorControllerTest

Change-Id: I3f1ba35f55f2905b10ca97149268be6074780eda
2020-05-13 03:58:36 +00:00
Jay Aliomer
9073b2f968 Unable to select twilight scheduling after enabling location
Test: run settings tests
Change-Id: I74945dd69f0da9733ee0a5e27ab63852df9544e9
Bug: 153115261
2020-05-11 16:31:42 +00:00
Tsung-Mao Fang
ae9dc54c56 Remove duplicate result for dark mode
We only keep the one in display settings.

Test: robo test and search dark mode in settings search.
Fix: 155735315
Change-Id: I71041f473944e854ef4601063658021bb9411069
2020-05-05 21:08:37 +08:00
Jay Aliomer
41ee5663ab Twilight Location off text
When location is disabled, dark theme and night light
will show text and button to take the user to location page

Fixes: 153115261
Fixes: 153115618
Test: manually turn off location and observe view
Change-Id: I24be2f26a4c9e1b3f2a17e83e6f91cb7685f2e28
2020-04-29 23:14:32 -04:00
Jason Chiu
819abf7f87 Refine metrics log in infrastructure
- Add interfaces to set/get metrics category in BasePreferenceController
  for descendants having a chance to get it.
- Set metrics category in DashboardFragment
- Automatically log metrics in onPreferenceChange of
  TogglePreferenceController
- Add support for TwoStateButtonPreference in TogglePreferenceController
  to make the preference generic

Bug: 137559984
Test: robotest
Change-Id: Ia7e0d24a3db1991b18e0286d9894570fa71247a3
2020-04-07 14:08:39 +08:00
Jay Aliomer
59c03c23b7 Turn on location dialog when using twilight scheduling
Night light and Dark theme scheduling does not work when in
twiligth mode. For the reason, we added a dialog to inform the user
that they need to turn on location services first.

Fixes: 153115618
Fixes: 153115261
Test: manual
Change-Id: Iea51018a7caba5c0ec93e058ee047d067bc03867
2020-04-03 03:45:20 +00:00
Jason Chiu
26343b82ee Add metric logs for special cases in Display and Battery page
Bug: 137559984
Test: robotest
Change-Id: I60f6237ac2c533306879f46ee4c25d54002cf0e9
2020-03-26 11:31:39 +08:00
Sunny Shao
1de4c009ea Fix the button display problem in Dark theme page
- Dark theme is disabled when Battery save is on.
- Let dark theme page not be searchable when Battery save is on.

Fixes: 150443799
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.display.darkmode
Change-Id: I2674499dd64333825765f70ed1f31dcb83e1b895
2020-03-02 11:59:28 +08:00
Jay Aliomer
a49bb44b10 Dark theme time format
When changing device language, dark theme does not
change the AM/PM format to the proper new language setting

Test: all settings tests

Fixes: 149381251
Change-Id: I68763e24988837f917adad39f82b90e79573fd07
2020-02-18 15:14:51 +00:00
Jay Aliomer
e1a2ea3fab Inaccurate auto dark theme time
When changing the start/end custom dark theme time,
The time in the display settings page does not change

Test: settings test

Fixes: 148150281
Change-Id: I4e54797df14cb926f59d50c26e8da160b356f2c0
2020-02-03 17:25:03 -05:00
Jay Aliomer
c31c35fb19 Custom dark theme scheduling
allows the use to set the start and end automatic dark theme
activation within a day.

Test: run all settings tests
Change-Id: If96fc050159724d553acb09c2da4fab1d5ff519f
2020-01-14 16:31:29 -05:00
Sunny Shao
7f086c0e81 Refine the DarkModeScheduleSelectorController
- move the initial part to the displayPreference.
- use indext compared instead of the direct string compared.

Bug: 141567787
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=ROBOTEST_FILTER=com.android.settings.display
Change-Id: I49ccc248bc1f5f9659f8543793ea502ac3e2ea6f
2019-12-17 13:15:11 +08:00
Automerger Merge Worker
833c578b01 Battery saver mode should disable dark mode modification am: 5fb68ae95d
Change-Id: I9b4b1dace76a6194fafe27e624465c3c05823bb1
2019-12-03 19:34:32 +00:00
Jay Aliomer
f4bc80c45c Battery saver mode should disable dark mode modification
disable toggle options and disable the dark theme drop down selection

Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.DarkUIPreferenceControllerTest" && \
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.darkmode.DarkModeActivationPreferenceControllerTest" && \
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.darkmode.DarkModeObserverTest" && \
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.darkmode.DarkModeScheduleSelectorControllerTest"

Fixes: 	145098277
Fixes: 145297188
Fixes: 	145254016
Change-Id: I5c81a295810cc2d9a45657978104647e9c15da46
2019-12-02 18:19:52 +00:00
Jay Aliomer
a377b5c4aa Fix Master: Add settings for scheduling dark theme
Adding a settings page similar to night light for Dark theme. it will allow the user to schedule
dark mode from sunrise to sunset

Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.DarkUIPreferenceControllerTest" && \
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.darkmode.DarkModeActivationPreferenceControllerTest" && \
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.darkmode.DarkModeObserverTest" && \
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.darkmode.DarkModeScheduleSelectorControllerTest"

Fixes: 141567787
Change-Id: Iee5d020ac6ea093be712a4f191d4601c9d4617fa
2019-11-25 18:03:29 -05:00
Jay Aliomer
53ad4fedc6 Revert "Revert "Add settings for scheduling dark theme""
This reverts commit 50c0fa136c.

Reason for revert: Fixed the error which is code incompatibility
Test: run all settings tests
Change-Id: I8f05b50f8198c4b2565bb9b6f62ddda5029c8365
Merged-In: I8f05b50f8198c4b2565bb9b6f62ddda5029c8365
Bug: 141567787
2019-11-22 20:58:23 +00:00
Preston O'Neal
50c0fa136c Revert "Add settings for scheduling dark theme"
This reverts commit 7141b142df.

Reason for revert: This is breaking builds on git_qt-qpr1-dev

Change-Id: I7766826d3fc86a12fc8411b027a52eceb5a66019
2019-11-21 22:09:53 +00:00
Jay Aliomer
7141b142df Add settings for scheduling dark theme
Adding a settings page similar to night light for Dark theme. it will allow the user to schedule
dark mode from sunrise to sunset

Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.DarkUIPreferenceControllerTest" && \
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.darkmode.DarkModeActivationPreferenceControllerTest" && \
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.darkmode.DarkModeObserverTest" && \
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.darkmode.DarkModeScheduleSelectorControllerTest"

Fixes: 141567787

Change-Id: I3094b655c04f59c23a95162a1be5ee8260e28a48
(cherry picked from commit 0828e6be9c)
2019-11-21 20:07:24 +00:00