Commit Graph

1094 Commits

Author SHA1 Message Date
Kevin Jeon
55c8c9b86c Hide Memory usage UI fields if flag is enabled
This change updates the Memory use UI in developer settings to hide
memory fields by default if the AppProfiler PSS deprecation flag is
enabled. A toggle is provided to resume PSS profiling and reinstate the
memory fields, and shows a dialog to reboot if the toggle is updated.

The summary for the "Memory" button in developer settings will show
"Memory profiling disabled" instead of "Avg X GB of Y memory used" if
PSS profiling is not enabled.

Test: With the flag enabled, flash and verify that:
      - The memory fields are hidden by default, and the summary shows
	the expected "Memory profiling disabled" text
      - Clicking the toggle shows the reboot dialog, which will
	correctly change the setting and reboot if accepted, and keep
	the setting and not reboot if denied
      - Check that AppProfiler correctly profiles PSS or RSS based on
	the state of the toggle, which persists across reboots
      - Included UI test for Memory page elements based on flag value.
Bug: 296454553
Change-Id: Ie21791502445a321446cb8110e5800089f47ac58
2023-12-22 01:15:04 -05:00
Andy Yu
fd6e4f8a9a Merge "Add Settings switch to disable Game default frame rate" into main 2023-12-20 21:59:42 +00:00
sunnyshao
cf0501e4d7 Nullability Annotations replacement
-- Replace the android.annotation.Nullable / android.annotation.NonNull
   with androidx.annotation.Nullable / androidx.annotation.NonNull

Bug: 316867690
Test: build pass
Change-Id: I0c1da55dfb09ece855151c47e0492d6f46538621
2023-12-20 08:50:09 +08: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
Johannes Gallmann
bc669dc879 Readd predictive back developer setting
Bug: 315859328
Test: atest BackAnimationPreferenceControllerTest
Test: Verifying that predictive back developer setting is present
Change-Id: I8734a4cb135fbeb0d1787ca2acf569948c08c9ed
2023-12-12 12:42:28 +00:00
David Liu
e642b4cf2d Merge "fixed NPE while initializing controllers by commenting out the failure one for temporal fix" into main 2023-12-12 07:07:53 +00:00
David Liu
13c63260a3 fixed NPE while initializing controllers by commenting out the failure
one for temporal fix

Added @Nullable in parameters of buildPreferenceControllers() to prevent using nullable parameter to functions requires non-nullable.

Bug: 315330037
Test: see developer options preferences show/hide based on the
controllers isAvailable()

Change-Id: If42faea900a2220d9b1f5e38e1befbd5a555e78a
2023-12-12 00:16:32 +00:00
Jeremy Meyer
44a3e096fd Merge "Put grammatical gender developer option behind flag" into main 2023-12-11 21:00:07 +00:00
Johannes Gallmann
af96028267 Add predictive back aconfig flag
Bug: 309545085
Flag: ACONFIG com.android.window.flags.predictive_back_system_animations DISABLED
Test: atest BackAnimationPreferenceControllerTest; Manual, i.e. building and verifying correct behaviour for different flag configurations
Change-Id: I3f478dc23bbfeb1f13cae64f3d04b3210841731d
2023-12-08 13:37:25 +00:00
Jeremy Meyer
7f231be313 Put grammatical gender developer option behind flag
Test: Automatic
Fixes: 312492402
Change-Id: I24476a69e149732fb8626c3253e06436c31eb7a0
2023-12-06 15:01:59 -08:00
Edgar Wang
d640a51d09 Merge "Refactor AppPicker to adopt the latest UX" into main 2023-11-28 05:50:29 +00: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
Edgar Wang
58bed09373 Refactor AppPicker to adopt the latest UX
- get rid of ListActivity
- add aconfig

Bug: 299195099
Test: manual
Change-Id: I922ffb46f3132d117b0f682d8076f9e975d02b2c
2023-11-23 22:17:12 +00:00
Amith Yamasani
6cf28bc052 Merge "Flag guard the quarantined apps screen" into main 2023-11-21 17:32:44 +00:00
Amith Yamasani
f2f29ab20f Flag guard the quarantined apps screen
Ensure the screen itself is flag-guarded, not just the entry point
in Developer Options.

Fixes: 311724167
Test: m -j
      flash, ensure feature is off, search for quarantined in Settings
      search, ensure no results
Change-Id: I4efaf1f7c6452d2ce6115f40fffa16963ee7c244
2023-11-17 11:42:43 -08:00
Peiyong Lin
714490851f Merge "Unconditionally enable ANGLE developer option UI." into main 2023-11-15 01:38:35 +00:00
Treehugger Robot
24c989a070 Merge changes from topic "wv-dev-opt" into main
* changes:
  Add feature flag for force L3 dev option
  Add Widevine developer option to settings
2023-11-14 22:54:03 +00:00
Kyle Zhang
519d26d8f0 Add feature flag for force L3 dev option
Bug: 301669353
Change-Id: I289bed846982e94584fdb067e84186a61587d578
2023-11-14 21:52:06 +00:00
Chaohui Wang
ea253d7132 Migrate 2 preferences to SwitchPreferenceCompat
FeatureFlagPreference & SnoopLoggerFiltersPreference, used in developer
options.

Bug: 306658427
Test: manual - in developer options
Change-Id: I6a29ba625333352df5d2c87ef36db95aa4970e6b
2023-11-12 21:53:04 +08:00
Kyle Zhang
061cf714f8 Add Widevine developer option to settings
Bug: 301669353
Change-Id: Idcca4cc6ce2e614a79a0ac95eb8c39cf05b91f56
2023-11-08 00:25:33 +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
c4a3a50d58 Migrate to CompoundButton
Switch and SwitchCompat are both CompoundButton.

Using CompoundButton in Java will helps migration in the future.

Bug: 306658427
Test: manual - on affected pages
Change-Id: I7cdc2601879a85d33f77239e38263320d5a6984e
2023-10-25 14:57:48 +08: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
Chaohui Wang
cfdb3b1f1b Migrate new() to SwitchPreferenceCompat
Bug: 306658427
Test: manual - on Settings pages
Change-Id: I258a8c63d5c46403c6d333a9d2f34c33cb35e27f
2023-10-24 14:05:34 +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
Chaohui Wang
15ca95a31b Migrate to TwoStatePreference
SwitchPreference and SwitchPreferenceCompat are both TwoStatePreference.

Using TwoStatePreference in Java will helps migration in the future.

Bug: 306771414
Test: manual - check Settings pages
Change-Id: I84e1d7b09451106797c2b23d127855c6976678ca
2023-10-23 09:28:57 +00:00
Alice Kuo
55b8e79016 Merge changes from topic "le_audio_allowlist" into main
* changes:
  Config LE audio connection by default
  LE Audio Allowlist toggle behavior refactor
  Remove allowlist reboot behavior
  Change the LE Audio Allowlist toggle wording
2023-10-14 08:59:51 +00:00
Peiyong Lin
ccf778a8a0 Merge "Allow ANGLE developer option toggle UI enabled if ANGLE is enabled." into main 2023-10-13 04:57:32 +00:00
Peiyong Lin
8e6af783ce Allow ANGLE developer option toggle UI enabled if ANGLE is enabled.
Previously the ANGLE developer option toggle UI was disabled by default
and a user would need to use adb command to set the debug property to
true to enable it, and every reboot would reset the debug property to
false again and hence disable the toggle UI again. However, since ANGLE
is still in experiment, we would like to make sure it's not easy to
enable but easy to disable. This patch keeps ANGLE toggle UI enabled
when ANGLE is enabled so that users can easily disable. Once ANGLE is
disabled, if the debug property is not set to true, the toggle UI will
remain disabled.

Bug: b/293503000
Test: atest -c GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest
Test: atest SettingsRoboTests:GraphicsDriverEnableAngleAsSystemDriverControllerTest
Change-Id: I2e63431cd0d8cf4712fc278646627fbf34a2b542
2023-10-13 00:36:36 +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
Alice Kuo
c41abccb0f Change the LE Audio Allowlist toggle wording
Change the wording from "Enable LE Audio Allowlist" to "Bypass LE Audio
Allowlist"

Bug: 300012501
Test: m SettingsGoogle
Change-Id: Ifc6544e443856d03d408783ecb070c5002ff14a1
2023-10-13 01:21:21 +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
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
Peter Kalauskas
80e914a263 Enable use_resource_processor for all sysui deps
This will make the build faster

Test: m checkbuild
Bug: 295208392
Change-Id: If75acb6b1c3f204e3686c20cef609f7cfabe15cf
2023-09-21 23:09:39 +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
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
Priyanka Advani
7b4cfbca95 Merge "Revert "Remove Winscope tracing QS development tile"" into main 2023-09-01 03:14:34 +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