Commit Graph

336 Commits

Author SHA1 Message Date
Fan Wu
0a0e591b96 Ignore failing tests to unblock presubmit
Bug: 331324279

Test: atest
Change-Id: Ia38c223ac7aa4aed2739a0fd371c7496811d2054
2024-03-27 15:37:45 +08:00
Fiona Campbell
4a401d4313 Disable even dimmer setting conditionally
- Disable even dimmer settings option if autobrightness is not enabled
  on the device

Bug:179428400
Test: manual

Change-Id: I8f7add839022fc7c27694fd8daa83a608cf2736a
2024-03-23 02:09:46 +00:00
Fiona Campbell
20909fa590 Merge "Create EvenDimmerPreferenceController" into main 2024-02-26 14:28:02 +00:00
Piotr Wilczyński
96343a9eff Refresh rate preference controllers aware of multiple displays
Set mPeakRefreshRate in the preference controllers to the highest refresh rate among all the modes of all the displays. It'll then be used to determine two things:
- if the setting is available
- the summary of the setting

This should only be done if the back up smooth display feature flag is enabled. If it's disabled, mPeakRefreshRate is passed to DisplayModeDirector and used for the votes. If the highest refresh rate of one display is 120 and that of the other is 130, we shouldn't set the vote to 130 for both displays. With the flag enabled, DisplayModeDirector figures out the highest refresh rate for each display.

Bug: 310238382
Test: atest PeakRefreshRatePreferenceControllerTest
Test: atest ForcePeakRefreshRatePreferenceControllerTest
Test: atest RefreshRateSettingsUtilsTest
Change-Id: I369927ba22df70958178505d8fc7c5747aaa8fdd
2024-02-23 18:01:22 +00:00
Fiona Campbell
836018788d Create EvenDimmerPreferenceController
- Create preference controller
- linked to even dimmer activated setting

Bug: 179428400
Test: EvenDimmerPreferenceControllerTest
Change-Id: I3ac6501c3d45399caeda96fe6a7dd4164439d1bd
2024-02-19 11:46:11 +00:00
Piotr Wilczyński
369cfd8ea5 Don't back up Smooth Display if feature flag off
In the previous CL (ag/24838636), we decided to back up Smooth Display and Force Peak Refresh Rate even if the feature flag is off and then just convert the value in DisplayModeDirector based on the state of the feature flag. This was because it wasn't clear how to access the feature flag from the Settings module. This resulted in the feature partially working if the flag is off.

Bug: 313021502
Test: atest DisplayModeDirectorTest
Test: atest ForcePeakRefreshRatePreferenceControllerTest
Test: atest PeakRefreshRatePreferenceControllerTest
Test: atest SettingsBackupAgentTest
Test: atest SettingsBackupTest
Test: atest SettingsValidatorsTest
Change-Id: I3406bc5c5f49fe6102cdfe6934813a9c4073ac6f
2024-01-02 15:06:31 +00:00
Jan Tomljanovic
6b4c754f5e Add auth challenge for increasing screen timeout.
We only require one auth after onStart(), and only for increasing the
timeout.

Test: atest SettingsRoboTests:com.android.settings.display.ScreenTimeoutSettingsTest
Test: also manually tested
Bug: 315937886
Change-Id: If4aed67736cd7545d3a518aadd8253ea6a9fae43
2023-12-20 21:53:56 +00:00
mxyyiyi
027db802fe Add power consumption footer in screen timeout page.
- show this footer when there's no footer about work profile
Screenshots:
[without work profile]: https://screenshot.googleplex.com/5pAD2xBvP6QSBvY
[with work profile]:  https://screenshot.googleplex.com/7BRd6ToAjFN9QZx

Bug: 300245790
Test: manual
Test: make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.display.ScreenTimeoutSettingsTest"
Change-Id: I6df018d7758fbec3277179358b17eb11fa1aee34
2023-11-24 17:11:15 +08:00
Sunny Shao
94bf9d9bc3 Fix the robo test case failed
- Fix the test case failed in the
  ControlsTrivialPrivacyPreferenceControllerTest.
- Use the correct paramter in the PackageManager.resolveActivity API.

Fixes: 300378707
Test: atest ControlsTrivialPrivacyPreferenceControllerTest
Change-Id: Id80dfb95ceffb048461b79d2d5ceb67100f83cd5
2023-11-13 14:00:25 +08: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
Piotr Wilczyński
176a63a1db Back up peak refresh rate and min refresh rate
It's possible that in the future the peak refresh rate setting will have multiple values (e.g. 90, 120). For that reason, we shouldn't convert it to a boolean like in the previous CLs (ag/24604787, ag/24604847).

- set peak/min refresh rate to infinity if it's the highest refresh rate so that when we restore the setting on another device, we also choose the highest refresh rate
- back up peak/min refresh rate and add validators
- upgrade settings in SettingsProvider
- create a utils class - RefreshRateSettingsUtils

Bug: 211737588
Test: atest DisplayModeDirectorTest
Test: atest ForcePeakRefreshRatePreferenceControllerTest
Test: atest PeakRefreshRatePreferenceControllerTest
Test: atest SettingsBackupTest
Test: atest SettingsProviderTest
Test: atest RefreshRateSettingsUtilsTest
Change-Id: Ie1d8cfc76e42c7d98c4a36743463ccaf3ca5d483
2023-10-10 14:10:38 +00:00
Matt Pietal
9695477373 Merge "Add support to configure double line clock in lockscreen [2/2]" into main am: 3be411d513 am: 705507d68f am: 8d4d73f152 am: 9e233f3284 am: 84076896f6
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2539870

Change-Id: I361b6926ca06f22211048ad5738b58d3bf21c473
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-04 16:57:42 +00:00
Matt Pietal
84076896f6 Merge "Add support to configure double line clock in lockscreen [2/2]" into main am: 3be411d513 am: 705507d68f am: 8d4d73f152 am: 9e233f3284
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2539870

Change-Id: I91198eb53fda60d1f5801e5fa8512be2800304e8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-04 16:26:27 +00:00
Matt Pietal
705507d68f Merge "Add support to configure double line clock in lockscreen [2/2]" into main am: 3be411d513
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2539870

Change-Id: Ia1bfae20044369b8a8e463e21a2393cf9b6e9250
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-04 14:54:22 +00:00
Shivangi Dubey
097a9e736c Merge "Disable Fold lock behavior setting by default" into main 2023-10-02 10:00:10 +00:00
Treehugger Robot
7147945912 Merge "Fix SmartAutoRotatePreferenceFragmentTest" into main 2023-09-27 12:13:24 +00:00
Chris Göllner
0e0dd4d631 Fix SmartAutoRotatePreferenceFragmentTest
- Adds missing set up for postures helper
- Adds missing mock for context.getApplicationContext

Fixes: 300380893
Test: atest SettingsRoboTests:SmartAutoRotatePreferenceFragmentTest
Change-Id: Ib3cde08354e368c2ac2ecc9024e8f8358fe7b772
2023-09-27 12:08:11 +01:00
Sunny Shao
383edb4afa Fixed the robo test failed in AutoRotatePreferenceControllerTest
and SmartAutoRotatePreferenceControllerTest

- Use the correct Settings.System.putIntForUser API.

Fixes: 300200193
Fixes: 300201185
Test: atest AutoRotatePreferenceControllerTest
Test: atest SmartAutoRotatePreferenceControllerTest
Change-Id: Iadd890f21431ccb5d538e40426b0c7d43d46ba52
2023-09-27 11:19:00 +08:00
Edgar Wang
292f407071 Fix robo test case failed
Bug: 300134365
Test: robotest
Change-Id: I144fbbc962a479c97312cee1645c5a3d70351542
2023-09-26 15:49:40 +08:00
dshivangi
599130f235 Disable Fold lock behavior setting by default
Flag protect Fold lock behavior setting behind a sysprop flag.
The setting will be disabled by default and can be
teamfooded by enabling sysprop flag with prop name
persist.fold_lock_behavior_config.
Enable sysprop flag by running following command
* adb root && adb shell setprop persist.fold_lock_behavior_config true

Flag: persist.fold_lock_behavior_config
Bug: 298200843
Test: atest FoldSettingProviderTest FoldLockBehaviorPreferenceControllerTest
* Manually check if the setting accessible with sysprop flag true and
false.

Change-Id: I80e3ba4c544bbe20673b57fe8702e7f299c387a9
2023-09-21 18:11:44 +00:00
Sunny Shao
cd75cad83e Fixed the robo test failed in AmbientDisplayAlwaysOnPreferenceControllerTest
- Change the test name because the function content was swapped
  between isPublicSlice and isSliceable.

Fixes: 300376009
Test: atest AmbientDisplayAlwaysOnPreferenceControllerTest
Change-Id: I922810c81a44d6954cd167097c62cdc798238e2e
2023-09-19 20:27:23 +08:00
Sunny Shao
572636110a Fixed the robo test failed in FoldLockBehaviorSettingsTest
- Use the ShadowSystemSettings instead of SystemSettings.

Fixes: 300201006
Test: atest SettingsRoboTests:com.android.settings.display.FoldLockBehaviorSettingsTest
Change-Id: I360bda0b0b35692e0eaf2060aadb791ecb9dd039
2023-09-18 14:27:16 +08:00
Eric Rahm
802b922593 Revert "Test Fix SettingRobolectricTest Fail"
This reverts commit 818f77cd1f.

Reason for revert: Underlying issue fixed in ag/23454315.

Bug: b/275023433
Test: atest SettingsGlobalRoboTests

Change-Id: I1af272efd00b3c5bd35310512f5712d5d1c7d834
2023-09-11 13:38:36 +00:00
dshivangi
7435bbc70a Refine fold setting
Current fold setting has a toggle button which can enable the “Stay unlocked on fold” setting.
Create a new page for fold setting which will allow us to choose something from three options.(https://screenshot.googleplex.com/6W65aTYtigGpr3v)
 *Always - Front display turns on when you fold your device [Currently available setting]
 *Only games, videos, and more - Front display turns on for apps that stop your screen going idle [Default]
 *Never - Front display locks when you fold your device [New option for user]

Test: atest FoldLockBehaviorSettingsTest FoldLockBehaviorPreferenceControllerTest
*Manual
  Flash the build with these changes
  Manually select options one by one
  Observe the behavior

Fixes: 294194379
Change-Id: Ie5b4e1d7560ed645ec2ca5f49cc9715b17d21367
Merged-In: Ie5b4e1d7560ed645ec2ca5f49cc9715b17d21367
2023-09-06 10:52:12 +00:00
dshivangi
dc485887cc Refine fold setting
Current fold setting has a toggle button which can enable the “Stay unlocked on fold” setting.
Create a new page for fold setting which will allow us to choose something from three options.(https://screenshot.googleplex.com/6W65aTYtigGpr3v)
 *Always - Front display turns on when you fold your device [Currently available setting]
 *Only games, videos, and more - Front display turns on for apps that stop your screen going idle [Default]
 *Never - Front display locks when you fold your device [New option for user]

Test: atest FoldLockBehaviorSettingsTest FoldLockBehaviorPreferenceControllerTest
*Manual
  Flash the build with these changes
  Manually select options one by one
  Observe the behavior

Fixes: 294194379
Change-Id: Ie5b4e1d7560ed645ec2ca5f49cc9715b17d21367
2023-09-01 14:43:22 +00:00
Bharath
7fe45b31db Add support to configure double line clock in lockscreen [2/2]
This keeps the Settings entry under Lockscreen Settings for
Double line clock to be configurable.

As a result, this is now consistent with previous Android versions.

Co-authored-by: Luca Weiss <luca.weiss@fairphone.com>
Bug: 277244307
Test: atest SettingsRoboTests:com.android.settings.display.LockscreenClockPreferenceControllerTest
Change-Id: I08121a1a658cb4045aa30d0bd93e18ca22c3db6d
2023-08-18 09:57:44 +05:30
Rex Hoffman
3c961e1c0e Setup external/robolectric for SettingsRoboTests
Current failing tests: ab/I64100010182936387
Had to Ignore some of com.android.settings.accessibility tests, which will be fixed separately

Bug: 261728063
Test: atest SettingsRoboTests -- --test-arg com.android.tradefed.testtype.IsolatedHostTest:java-flags:-XX:CompressedClassSpaceSize=3g

Change-Id: I4a0cb992db924936826e0c9808accc78dddb5f30
2023-08-17 22:33:20 +00:00
Shivangi Dubey
b5a6c7a020 Merge "Add 'Stay unlocked on fold' toogle to settings" into udc-qpr-dev am: 8c68b0e7e2 am: 32d914ea56
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23832963

Change-Id: I340d008ea78939a614e8b33f83c212421d4388d7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-17 16:48:24 +00:00
dshivangi
8f4122ad5d Add 'Stay unlocked on fold' toogle to settings
Added 'Stay unlocked on fold' toogle to display settings. Enabling this
setting will allow user to keep their device awake after the fold the
device.

Test: atest StayAwakeOnFoldPreferenceControllerTest LogicalDisplayMapperTest
Test: manual
  Built and flashed foldable device and manually tested by
    1. unfolded device -> enable setting -> folded device
    2. unfolded device -> disabled setting -> folded devices
  Built and flashed non-foldable device and manually tested by
    1. Went to Settings -> display -> the toogle setting is not visible
Bug: 274447767
Change-Id: I35fbd0f5d1297ee6e14896e8f3be8301cda6622f
2023-07-06 11:42:35 +00:00
Chaohui Wang
2e4141e4ab Clean up AwareFeatureProvider from Settings
Bug: 287566056
Test: m Settings
Change-Id: I7f7f57809c55bf8824b427f0d4a232cacdbe88a7
2023-06-25 16:52:34 +08:00
Alejandro Nijamkin
6f9f3a4594 Fixes nav stack issue.
By marking the Intent that's being sent to WPP as "launched from
settings", the code in CustomizationPickerActivity can correctly
conclude that the multi-pane wrapper does not need to be applied to the
intent, preventing the odd "disordering" of the back stack in the bug.

Fix: 284809020
Test: manually verified, on a large screen device with a multi-pane
settings configuration, that going to Display > Lock screen > Shortcuts
and then swiping back off the left edge of the display correctly exits
settings instead of revealing an incorrect screen like it did in the
bug.
Test: also manually verified that the long-press on the home screena and
on the lock screen paths both open the right tab in WPP in settings
correctly.

Change-Id: Iac2b4e9fa5bab91b6a5251f1c51b4d21a0824f00
2023-06-05 16:02:17 -07:00
Vincent Wang
818f77cd1f Test Fix SettingRobolectricTest Fail
Bug: b/275023433
Test: NA
Change-Id: If2dcb8f6c196327129ccc9375b190e394c994efa
2023-05-09 06:26:39 +00:00
Treehugger Robot
01c585ed27 Merge "Fixes broken Settings test." into udc-dev 2023-04-28 22:37:57 +00:00
TreeHugger Robot
6e524f6244 Merge "SettingsRoboTests: fix device state rotation related tests" into udc-dev 2023-04-28 17:01:39 +00:00
Ale Nijamkin
12e05b8c59 Fixes broken Settings test.
In ag/22187500, we added the requirement for a wallpaper picker app to be installed in order to treat the lock screen shortcuts feature as enabled (in addition to the feature flag). That broke this test.

To fix, we're adding a mocked result to the PackageManager to pretend like the wallpaper picker application is installed.

Change-Id: I8654375e3fa33df0984c48fcf91dd8f6c18e984f
Fix: 280017187
Test: the test is back to passing.
2023-04-28 16:22:59 +00:00
Christian Göllner
b613cc4a17 SettingsRoboTests: fix device state rotation related tests
Fixes: 280015539
Test: atest SettingsRoboTests
Change-Id: I0a3cc713f8df0477a172665a60551b456691b17c
2023-04-28 15:26:32 +02:00
Piotr Wilczyński
eef23f441c Revert "Back up the smooth display setting"
Revert submission 22741921-cherrypick-bug-211737588-lp9s6r5vn3

Reason for revert: b/279215664

Reverted changes: /q/submissionid:22741921-cherrypick-bug-211737588-lp9s6r5vn3

Change-Id: I9b50aa0e2c5a7d328c4aa70b049c37c81e49e89b
Merged-In: I9b50aa0e2c5a7d328c4aa70b049c37c81e49e89b
2023-04-27 16:13:03 +00:00
Piotr Wilczyński
85d5e3efb8 Merge "Back up the smooth display setting" into udc-dev 2023-04-21 07:31:47 +00:00
Piotr Wilczyński
5c42659602 Back up the smooth display setting
- Convert "Smooth display" and "Force peak refresh rate" to a boolean. If they are a boolean, they can be backed up without being device-specific.
- Back up "Smooth display" and add a validator
- Upgrade the settings in SettingsProvider
- Create a utils class - RefreshRateSettingsUtils

Bug: 211737588
Test: atest DisplayModeDirectorTest
Test: atest ForcePeakRefreshRatePreferenceControllerTest
Test: atest PeakRefreshRatePreferenceControllerTest
Test: atest SettingsBackupTest
Test: atest SettingsProviderTest
Change-Id: Ib2cb2dd100f06f5452083b7606109a486e795a0e
Merged-In: Ib2cb2dd100f06f5452083b7606109a486e795a0e
2023-04-20 13:25:38 +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
Alejandro Nijamkin
d2fb185677 Moves lock screen shortcuts summary loading to the background.
To load the summary for the Settings > Display > Lock screen >
Shortcuts, we need to issue a binder/IPC call to query the content
provider that resides in the System UI process.

Previously, this was being done on the main thread. The thinking was
that it's critical to load this as soon as the Settings page is shown.
This results in ANRs, as per the attached bug.

The fix is to move the loading off the main thread and onto a background
thread.

Fix: 274788437
Test: unit tests updated
Test: manually verified that the summary is correct and that it updates
correctly after clicking on it, changing the lock screen shortcuts, and
going back

Change-Id: I41a5e883236de4f16c105f3930b8849538807f00
2023-03-28 12:05:18 -07:00
Alejandro Nijamkin
20e244a964 Fixes AOSP crash when WPP isn't installed.
If there is no installed application with the ability to start an
activity with the SET_WALLPAPER action, we no longer show the
"Shortcuts" entry under the "Display > Lock screen" settings page.

Flag: CUSTOMIZABLE_LOCK_SCREEN_QUICK_AFFORDANCES
Fix: 274075866
Test: expanded unit test
Test: manually verified that, if Intent.resolveActivity returns false,
the shortcuts item isn't present in settings.

Change-Id: I919427d1e71a88a520c762307029a53065a68f46
2023-03-22 13:22:43 -07:00
Lifu Tang
caa1b51ef2 Revert "Remove duplicate strings."
Revert submission 19748582-settings_yesno

Reason for revert: Common strings in English could be translated into different strings in other languages.

Reverted changes: /q/submissionid:19748582-settings_yesno

Bug: 272603842
Test: build and open Settings app
Test: atest SettingsRoboTests
Change-Id: Iaad301c5513478fb95e40987ea3ccb4f923d71fa
2023-03-15 22:39:24 +00:00
TreeHugger Robot
3bc11c7ad3 Merge "Update wallet setting availability" into tm-qpr-dev am: 61f81ffb07 am: 02cace2f67
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20874103

Change-Id: I7efaad7adeb7f07e36608dda8eb05a72133659fb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-11 15:53:08 +00:00
Matt Pietal
c617ae851d Update wallet setting availability
For devices that don't support wallet, don't even show the setting in
a disabled state, which can cause confusion and lead the user to
believe they can enable it somehow.

Fixes: 251089510
Test: WalletPrivacyPreferenceControllerTest
Change-Id: I5d60957f24712bb4d75e72fa5f64cab35b6d6a5f
2023-01-04 21:39:43 +00:00
Abel Tesfaye
2404e07ad1 Create unique metrics category for DeviceStateAutoRotateDetailsFragment
DISPLAY_AUTO_ROTATE_SETTINGS is being used by two separate fragments.

Test: none
Bug: 260071662
Change-Id: I8f02e1df54451f0f7501edcf31d8060fdcc604e6
2022-12-14 21:15:11 +00:00
Yi Jiang
028b04d93c [conflict] Merge "Creates a flag for auto-rotate with face detection" into tm-qpr-dev am: 410c1d28bf am: 7075fd453d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20696311

Change-Id: I25c5fccdcffe89e651af4154738f0049f6c0d14c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-13 18:20:21 +00:00
Yi Jiang
1145b26ac7 Creates a flag for auto-rotate with face detection
The flag is enabled by default. And will be disabled on foldable
devices.

Test: locally
Bug: 236249360

Change-Id: I8c90533f6011531a4f00af5f2514579638604067
2022-12-12 19:49:16 +00:00