Commit Graph

304 Commits

Author SHA1 Message Date
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
Rupesh Bansal
9d0a16aab3 Merge "Remove VR features from apps" 2022-12-09 13:35:14 +00:00
Rupesh Bansal
bc255db77a Remove VR features from apps
Bug: 260555143
Test: atest com.android.server.power
Change-Id: I7d1938363dacb06f93cea69672a710ccbb76012e
2022-12-07 12:30:30 +00:00
Ale Nijamkin
b2cce522f8 Merge "Specifies nav destination when opening shortcuts." into tm-qpr-dev am: 674bb29538 am: 092de727b9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20623875

Change-Id: I31b55e7a8e83c948b1aa7d64e0f7f135f1d95698
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-05 20:26:36 +00:00
Alejandro Nijamkin
f31108f11a Specifies nav destination when opening shortcuts.
Doing this will open the correct screen when clicking on "Shortcuts"
under Settings > Display > Lock screen.

Fix: 258471384
Test: manually verified that clicking on it opens the wallpaper picker
experience with the correct page showing.

Change-Id: I627bcb9c9fac7a834f1c9d9cb36b73a6c8817af5
2022-12-02 16:08:32 -08:00
Ale Nijamkin
c184a471bf Merge "Brings back "Control from locked device" setting." into tm-qpr-dev am: d81ae0a645 am: 2a557b75fe
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20590947

Change-Id: Iefe3c423fae6c6eb720b1b816af196736089067f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-02 03:27:05 +00:00
Alejandro Nijamkin
8eef47d0cc Brings back "Control from locked device" setting.
In ag/20427460, we made ControlsTrivialPrivacyPreferenceController, which controls this setting, be UNSUPPORTED_ON_DEVICE if customizable lock screen quick affordances are enabled.

This wrongly removes this setting from the Settings app and there is no new UI where the user can control that anymore. What this means is that, once users upgrade to an Android build with our feature, they will forever be stuck with whatever they last chose for "Control from locked device".

This CL brings that back but changes the behaviour a bit such that, if
the quick affordances feature is enabled, this setting is never
disabled.

Fix: 260722836
Test: Unit tests added. Manually verified that the setting is visible
and enabled if the feature is enabled, even if the current selection
does not include the Home quick affordance and that if the feature is
off, the setting is visible but disabled if the main setting is off (old
behaviour unchanged).

Change-Id: I2e53123b3b7a2896699aeaa13b0c7d5a1c8a9c92
2022-11-29 12:17:13 -08:00
TreeHugger Robot
f4b81c8207 Merge "Adds settings item for quick affordances." into tm-qpr-dev am: 6f908bae6f am: 6c7910557e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20427460

Change-Id: I734695139164190b049052af8456dfb8127202d0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-22 03:52:37 +00:00
Alejandro Nijamkin
01df2b4ee2 Adds settings item for quick affordances.
This is in Display > Lock screen. It reads "Buttons" and the summary
text below it is a comma delimited list of the names of the
currently-selected quick affordances.

Fix: 256662519
Test: Manual verification that the lock screen and wallet
items are gone and the new item is visible and clicking it opens the
Wallpaper & style settings screen

Change-Id: If3746b5d0eb8c61edb9378cdb217ca248b999944
2022-11-21 16:42:45 -08:00
Abel Tesfaye
378990e13f Cleanup listener reference in Screen Attention
This will fix a memory leak being caused by dangling listeners.

Test: locally with oriole, make RunSettingsRoboTests -j$(nproc) ROBOTEST_FILTER=AdaptiveSleepCameraStatePreferenceControllerTest,AdaptiveSleepPreferenceControllerTest

Bug: 245990072
Change-Id: I35eeedc3ece719f1f3baff6235cc5ac2d42fbba3
2022-09-12 13:41:31 +00:00
Kweku Adams
5949fccc7a Remove duplicate strings.
"Yes" and "no" were redefined many times with no clear benefit, so this
consolidates them into one definition.

Bug: 243843096
Test: Build, install, and open the Settings app
Test: atest SettingsRoboTests
Change-Id: I5f84d09f223efd478461ded93aeac82bf7b128d8
2022-08-26 00:07:08 +00:00
Piotr Wilczyński
7375626332 Merge "Notify about brightness change when screen turns on" into tm-dev am: 7d634de3ea am: 8bfab753c1 am: 6dac1ca43d am: 179f00b9ef
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17898014

Change-Id: I1bd33756b3f0ff484e97d18b1536899760fc8166
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-09 10:52:42 +00:00
Piotr Wilczyński
7d634de3ea Merge "Notify about brightness change when screen turns on" into tm-dev 2022-06-09 07:39:07 +00:00
Chaohui Wang
f3f39dadc9 Clean up unused PreviewSeekBarPreferenceFragment
Usage is removed in Change: I5d8027628dcf06d99274a6a7a781218d146519eb

And we can clean up its subclasses and resources also.

Bug: 234570979
Test: m Settings
Change-Id: I4a24a34e814401749894a85375a05691b537f5a3
2022-06-05 16:52:20 +08:00
Chaohui Wang
9ada0accef Merge "Clean up DarkUIInfoDialogFragment" into tm-dev 2022-06-01 12:24:24 +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
Chaohui Wang
75e4028b3e Clean up DarkUIInfoDialogFragment
The usage of this dialog is removed in
Change Ie2cf147de53385ae0c626c8472306f1b85317686

But this dialog is created (but not show) in DarkUIPreferenceController
each time dark mode toggle is turned on by user.

So clean this up.

Fix: 234419979
Test: make Settings
Change-Id: Icdc9d7a4fb77dc8b2a3f1a9d8e3f40fc0af4917d
2022-05-31 17:58:05 +08:00
Jonathan Scott
b7f4f56cad Add missing settings strings.
Also re-enable and fix tests.

Test: manual
Fixes: 226183482
Fixes: 218799125
Fixes: 219375624

Change-Id: I9605f1f4e2e834baf63e015e96639567c5481b5f
2022-05-05 09:12:59 +00:00
Piotr Wilczyński
a26381aa85 Notify about brightness change when screen turns on
Bug: 216419091
Test: ROBOTEST_FILTER=BrightnessLevelPreferenceControllerTest m -j RunSettingsRoboTests
Change-Id: I35f4b81b325a7275ad7391aa631d183ddcbd8fe3
2022-05-03 13:51:55 +00:00
TreeHugger Robot
07950adad9 Merge "Update auto-rotate strings/toggles for better accessibility" into tm-dev 2022-04-19 23:44:38 +00:00
Abel Tesfaye
238b2cc721 Update auto-rotate strings/toggles for better accessibility
This change will update some strings for smart-auto-rotate and replace
the activity based switchbar with SettingsMainSwitchPreference. The
switchbar had to be replaced to allow the new text to appear above the main toggle.

Test: locally with flame and with resolver service enabled & disabled

Bug: 220182618
Change-Id: I4b60bf006bdde9e47b33a52c7719ec770caf5746
Merged-In: I4b60bf006bdde9e47b33a52c7719ec770caf5746
2022-04-19 21:21:34 +00:00
Niklas Lindgren
8bc83ef615 Read CarrierConfig to get operator name
Config if operator name should be in status bar is now read
from carrier config. For dual sim devices we use data sim.

Bug: 116847905
Test: Add item for carrier in vendor.xml and swap sim cards
between ones that have the item enabled and disabled. We have
also tested to swap data sim cards on dual sim device.
Test: m RunSettingsRoboTests ROBOTEST_FILTER="ShowOperatorNamePreferenceControllerTest"

Change-Id: I03311b96ee660aed80ec867b05aa0a34cfc15f54
2022-04-18 21:34:57 +00:00
Yi Jiang
284cb1c2b2 Fixes 'learn more' link in ScreenTimeoutSettings
Bug: 227292811
Test: make RunSettingsRoboTests

Change-Id: I0e5678e6760ebd590dfd526f362207776ece3a70
2022-04-06 06:49:19 +00:00
Aaron Liu
c138118d48 Home Controls: Add conditional copy for setting.
Add conditional copy for when allow trivial devices setting is disabled.
Add guidance on how to enable it.

Bug: 227344249
Test: Manual and unit test
Change-Id: I0f2f6dc933804ee6ba15dc180dc717d2a5b729a5
2022-03-29 17:27:17 +00:00
Christian Göllner
982f5507c7 Device state auto-rotation settings: log device state specific state changes
Bug: 221254073
Test: manually + unit tests
Change-Id: Ie8c0d1489d63fd2d19ad604816150b51ede4bb3b
2022-03-09 13:00:55 +00:00
Aaron Liu
e0f4e795ce Home Controls: Add Device Controls settings
Add a setting that would not require authorization for device controls.

Fixes: 216102581
Test: manual
Change-Id: I1fd98a2fbc1cea44d0b2c3612dd1616a053af394
2022-02-23 21:13:06 +00: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
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
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
TreeHugger Robot
0ae266c6fb Merge "Add dark theme custom type into the dark theme settings page" 2022-01-28 01:59:07 +00:00
TreeHugger Robot
a36e4349ba Merge "Update BrightnessInfo construction in tests" 2022-01-27 23:21:30 +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
Daniel Solomon
76c18bae69 Update BrightnessInfo construction in tests
Update existing BrightnessInfo construction in
BrightnessLevelPreferenceControllerTest to account for a new
BrightnessInfo field.

Bug: 206857086
Bug: 212634465
Test: atest BrightnessLevelPreferenceControllerTest
Change-Id: I526c1b38f5aa8e048d98cf20af9717715ae39482
2022-01-17 18:24:13 -08:00