Commit Graph

749 Commits

Author SHA1 Message Date
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
Alice Kuo
8eb26342de Merge changes I96776484,Ic2ea10d9 into main
* changes:
  Add BluetoothLeAudioModePreferenceControllerTest
  Change the switcher to switch LE audio mode with broadcast
2024-01-26 23:34:28 +00:00
Alice Kuo
fdbdc16285 Add BluetoothLeAudioModePreferenceControllerTest
Bug: 273153850
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioModePreferenceControllerTest
Change-Id: I967764848c953a9156981e121e924d5a18617d2f
2024-01-26 12:25:10 +00:00
Fan Wu
ea67ae2c51 Fix PlatformCompatDashboardTest
Bug: 313591873

Test: atest
Change-Id: Ib972f13ad194b78a32145e3879275125c43e8a3c
2024-01-24 15:00:35 +08:00
Pawan Wagh
8a1cebc72a Call update engine to apply payload am: 008842edeb am: d2110a76a7 am: ba35fbc238
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2756951

Change-Id: I4efedc488fdf5f73ead41781ebf3d4eb33f0b78b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-12 21:33:49 +00:00
Pawan Wagh
008842edeb Call update engine to apply payload
Calling update engine to apply payload provided from boot_otas and
reboot on success. Updating different dialogues for 4k prompt.

Test: m Settings && adb install -r $ANDROID_PRODUCT_OUT/system_ext/priv-app/Settings/Settings.apk
Test: make RunSettingsRoboTests ROBOTEST_FILTER=Enable16kPagesPreferenceControllerTest
Bug: 295573133
Change-Id: Iab90a2c2fae5f6aefce95b2306db91c7b056d9f7
2024-01-12 17:13:31 +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
Fan Wu
c714de120b Ignore failing GraphicsDriverAppPreferenceControllerTest
Bug:317934814

Test: Existing tests are not impacted
Change-Id: I3688ee6ee03f2b40f9b455eb7ec3f1049744c7a9
2023-12-28 03:36:56 +00:00
Andy Yu
e6e57cffbd Add Settings switch to disable Game default frame rate
This patch adds a new toggle under Developer settings. It defaults
to off, meaning game default frame rate is not disabled. Users
can choose to togge it on to disable game default frame rate.

When a user toggles this switch, it calls to GameManagerService
to update the frame rate of games that are currently in the
foreground and coming games.

screenshots:
https://screenshot.googleplex.com/8jTWyNBhJm7zC4x
https://screenshot.googleplex.com/5junmXtuHnRxyL2

Bug: 286084594
Bug: 306266471
Test: m; flash
Test: atest
SettingsRoboTests:GameDefaultFrameRatePReferenceControllerTest
Change-Id: Ide843f61e57e244d6e1fc30f93b2358b2bcb655b
2023-12-15 13:20:17 -08:00
Yanting Yang
9da3e1456a Ignore failing test of SelectDebugAppPreferenceControllerTest
Bug: 314919354
Test: atest
Change-Id: I38cc7bdb5645f2846078c57383548748ac2f4b4b
2023-12-05 18:47:15 +08:00
Alice Kuo
18e16b1a6a Fix BluetoothLeAudioDeviceDetailsPreferenceControllerTest faliure
Two failure case need to run under classic connection by default
situation. Add the precondition for those test case. Remove the ignore
to reland those test case.

Bug: 313589946
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioDeviceDetailsPreferenceControllerTest
Change-Id: If2c9cd590151be043be52e0793d073be83cd0c21
2023-11-30 01:55:57 +08:00
Yanting Yang
880e650ec7 Merge "Ignore failing tests of BluetoothLeAudioDeviceDetailsPreferenceControllerTest" into main 2023-11-28 11:54:43 +00:00
Yanting Yang
6c526c081e Merge "Ignore failing tests of PlatformCompatDashboardTest" into main 2023-11-28 11:00:22 +00:00
Yanting Yang
1fab3b791b Ignore failing tests of PlatformCompatDashboardTest
Bug: 313591873
Test: atest
Change-Id: I87ca308c53568aecb484f46cbb6cae8d2166a347
2023-11-28 18:09:21 +08:00
Yanting Yang
572fc0d6ec Ignore failing tests of BluetoothLeAudioDeviceDetailsPreferenceControllerTest
Bug: 313589946
Test: atest
Change-Id: I4392b82540a3408b6e01405cf59cb30a759052bb
2023-11-28 17:56:33 +08:00
FanWu
c3ba104206 Ignore MemtagPreferenceControllerTest and the development test
Bug: 313564061

Test: atest
Change-Id: I927241e809aee9cc382d09a59a85277a5602c9ba
2023-11-28 15:24:51 +08:00
Chaohui Wang
ee7139a889 Remove injecting developer options into Settings itself
- It can improve performance because we use less injected item
- Also use RestrictedPreference instead just checking restrictions,
  so we follow policy transparency.

Note: Renamed DevelopmentSettingsDashboardActivity to
DevelopmentSettingsActivity,
because DevelopmentSettingsDashboardActivity could in disabled state
even after Settings upgrades, use a new name to prevent this issue.

Bug: 311604902
Test: manual - turn on / off Developer Options
Test: unit test
Change-Id: I17be117ae59e59410687e6d08fd5edd034d0508f
2023-11-27 05:12:13 +00:00
Peiyong Lin
bcefa0a8c4 Merge "Unconditionally enable ANGLE developer option UI." into main am: 4e6db90f5d
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2798714

Change-Id: Id58c91947beea82ad02fa2b83e2a536f27dea327
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-17 02:07:48 +00:00
Peiyong Lin
8fc1391a75 Unconditionally enable ANGLE developer option UI.
Bug: b/283781993
Test: atest CtsAngleIntegrationHostTestCases -c
Test: atest SettingsRoboTests:GraphicsDriverEnableAngleAsSystemDriverControllerTest
Change-Id: I7f491151cc26dc10ccdb2900cfa81ff09c23b184
Merged-In: I7f491151cc26dc10ccdb2900cfa81ff09c23b184
2023-11-15 18:16:46 +00:00
Peiyong Lin
714490851f Merge "Unconditionally enable ANGLE developer option UI." into main 2023-11-15 01:38:35 +00: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
Sally Qi
fbb088ffdb Settings: add a new developer menu entry to show hdr/sdr ratio overlay.
- The hdr/sdr ratio overlay will be shown on screen if the option is
  selected from the developer option.
- This option is hidden on non-HDR-supported devices.
- Add flags: com.android.settings.flags.development_hdr_sdr_ratio

Test: enable show hdr/sdr ratio from developer menu; com.android.settings.development.ShowHdrSdrRatioPreferenceControllerTest
Bug: 291863102
Change-Id: Idd72f95c67c95cd8127f9b94e031b3d87b18e307
2023-11-03 11:02:07 -07:00
Chaohui Wang
12ea5afdf1 Not call MainSwitchBar.getSwitch()
This is private implement details, will be removed in future.

Should call MainSwitchBar's isChecked() and setChecked() to ensure
main switch bar's style is set correctly.

Bug: 306658427
Test: manual - on wifi tether
Test: manual - on developer options
Test: m RunSettingsRoboTests
Change-Id: I292ffbcf73da0721fc206e3dac7610a0aeb20047
2023-10-25 13:52:43 +08:00
Chaohui Wang
e752f7214b Remove unused SwitchBar
Only used in tests, so also migrate the tests.

Bug: 306658346
Test: manual - on bluetooth
Test: m RunSettingsRoboTests
Change-Id: Id2b010c1d9c32abe21dcc8765e9446fc4f7a5b25
2023-10-25 12:17:49 +08:00
Peiyong Lin
aad20f216d Unconditionally enable ANGLE developer option UI.
Bug: b/283781993
Test: atest CtsAngleIntegrationHostTestCases -c
Test: atest SettingsRoboTests:GraphicsDriverEnableAngleAsSystemDriverControllerTest
Change-Id: I7f491151cc26dc10ccdb2900cfa81ff09c23b184
2023-10-23 20:39:46 +00:00
Peiyong Lin
3182b0e298 [Cherry-pick] Add debug property to safe guard ANGLE developer option UI.
Add a debug property to guard ANGLE developer option UI, only when the
debug property is enabled will ANGLE developer option UI be enabled.

Add further clarification in the text to indicate that this is an
experimental feature.

Bug: b/287909344
Test: atest -c GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest
Test: atest -c GraphicsDriverEnableAngleAsSystemDriverControllerTest
Change-Id: Ife31f4b0426f3ce107f86cfbaf3f1aeca567e250
Merged-In: Ife31f4b0426f3ce107f86cfbaf3f1aeca567e250
2023-10-17 21:06:05 +00:00
Alice Kuo
ddec75bb39 Config LE audio connection by default
Use LE audio connection by default, and allow to have the differenct
configuration per project (system property). As using LE audio connection by
default, the toggle, "Show LE audio toggle in Device Details", would be
useless, hide this toggle based on the project configuration

Bug: 300012501
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeDeviceDetailsPreferenceControllerTest
Change-Id: Ia4df48d6a71b5b9f11bd91a69971c8393412da13
2023-10-13 01:22:36 +08:00
Alice Kuo
b2336ea7db LE Audio Allowlist toggle behavior refactor
The patch contains below behavior changes
1. hide this toggle as the device doesn't enable LE audio profile
2. disable this toggle as bluetooth off, or LE audio feature is disabled
   dynamically
3. disable this toggle if the device doesn't configure to use LE audio
   connection by default
4. switch toggle on to bypass LE Audio allowlist

Bug: 300012501
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioAllowListPreferenceControllerTest
Change-Id: I5ae9c860ba22047fc03ffde7ad3b3f44f9a9a9f0
2023-10-13 01:22:18 +08:00
Alice Kuo
f8767cdd31 Remove allowlist reboot behavior
As we switch to use allowlist or bypass it, it would only impact the
default connection after the paring. So based on it, we don't need to
force device reboot to apply the setting

Bug: 300012501
Test: m SettingsGoogle
Change-Id: I0b63a68e1263692e922968c122b96b5635b9861f
2023-10-13 01:22:06 +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
Sudheer Shanka
8af457e732 Merge "Provide SuspendDialogInfo when quarantining an app." into main 2023-09-28 20:20:46 +00:00
Sudheer Shanka
b5441bf782 Provide SuspendDialogInfo when quarantining an app.
Customize the dialog to include a button to allow
users to take an app out of the quarantine state.

Bug: 297934650
Test: atest tests/robotests/src/com/android/settings/development/quarantine/QuarantinedAppsScreenControllerTest.java
Change-Id: I1b6e9f057fed91ae131602fd6d6ddf5e23958a65
2023-09-28 14:48:15 +00:00
Peiyong Lin
21c967bc96 Merge "Add debug property to safe guard ANGLE developer option UI." into udc-qpr-dev am: e456cb72f9 am: 759a3fda7b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24842231

Change-Id: Iec2e7a51a9b0179fceef6182a1bd9cd2668ddab0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-26 21:34:17 +00:00
Edgar Wang
292f407071 Fix robo test case failed
Bug: 300134365
Test: robotest
Change-Id: I144fbbc962a479c97312cee1645c5a3d70351542
2023-09-26 15:49:40 +08:00
Peiyong Lin
774378530f Add debug property to safe guard ANGLE developer option UI.
Add a debug property to guard ANGLE developer option UI, only when the
debug property is enabled will ANGLE developer option UI be enabled.

Add further clarification in the text to indicate that this is an
experimental feature.

Bug: b/287909344
Test: atest -c GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest
Test: atest -c GraphicsDriverEnableAngleAsSystemDriverControllerTest
Change-Id: Ife31f4b0426f3ce107f86cfbaf3f1aeca567e250
2023-09-25 18:33:00 +00:00
Sudheer Shanka
08710ee575 Merge "Add controls in dev options to quarantine apps." into main 2023-09-21 22:47:30 +00:00
Treehugger Robot
d7d8184bb7 Merge "Use system properties for the le audio toggle ui config instead" into udc-qpr-dev am: 2d7a469264 am: b15719119e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24768698

Change-Id: I88024462c4587db39a5e6671223504a5b7938c49
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 08:00:32 +00:00
Sudheer Shanka
abbb5c4dc3 Add controls in dev options to quarantine apps.
Bug: 297934650
Test: m -j RunSettingsRoboTests
Test: atest SettingsUnitTests
Change-Id: Ic0f35b370c04dd4ed3baaf3610b46ff1b37a0463
2023-09-18 07:27:37 +00:00
Alice Kuo
aa734eb52a Use system properties for the le audio toggle ui config instead
Config LE audio UI per devices. Change to use system properties instead

Bug: 300807171
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioDeviceDetailsPreferenceControllerTest
Change-Id: Id0d624f516b9fdbe2380e5f10da5c69b08eea6a4
2023-09-18 03:05:59 +00: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
Kean Mariotti
95b375e2b4 Revert^2 Remove Winscope tracing QS development tile
This commit removes the obsolete QS development tile for Winscope
tracing as now Winscope traces can be collected via Traceur.

Bug: 295816837
Test: N/A
Change-Id: I7658537579cd054af092945aab553a4e17997273
2023-09-01 10:36:29 +00:00
Diwas Sharma
e08ceb575c Revert "Remove Winscope tracing QS development tile"
This reverts commit 513e014963.

Reason for revert: 298512106

Change-Id: I5efa947b17b8d33cfe8ca3350c2279903e5239af
2023-09-01 00:41:22 +00:00
Kean Mariotti
513e014963 Remove Winscope tracing QS development tile
This commit removes the obsolete QS development tile for Winscope
tracing as now Winscope traces can be collected via Traceur.

Bug: 295816837
Test: N/A
Change-Id: I15bd011d8d44293c0407e00a5550cc9fbe5e561c
2023-08-22 16:19:51 +00:00
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
Chaohui Wang
2541381259 Fix references to resources for Settings
Bug: 293810334
Test: m Settings
Change-Id: Ie140278f492ef7e1c062ec1ecae2866c521a86aa
2023-08-08 01:56:05 +00:00
Brandon Liu
28800ec247 Developer option for Grammatical Gender
Bug: b/272626712
Test: Added and verified affected atests pass
Change-Id: Ie07f80d608b78dfce3309533ac02d9a907e5e7b4
2023-07-19 17:29:50 +00:00
Kholoud Mohamed
0f61efb2e9 Merge "Migrate the setUsbDataSignalingEnabled api to the device policy engine." 2023-06-27 15:57:25 +00:00
Ilyas Sung
813d12dd8c Migrate the setUsbDataSignalingEnabled api to the device policy engine.
- Change isUsbDataSignalingEnabledForUser() to isUsbDataSignalingEnabled()

Bug: 283934505
Test: Manual Test
Change-Id: I1327eaadeb41b64041d722f81a7df5260035a1d1
2023-06-02 12:41:35 +00:00