Commit Graph

18977 Commits

Author SHA1 Message Date
Jacky Wang
6291dd79e6 Fix flaky LifecycleAwareAsyncTaskTest
Fix: 385137513
Flag: TEST_ONLY
Test: atest SettingsRoboTests:LifecycleAwareAsyncTaskTest --rerun-until-failure 500
Change-Id: I269d2fa1c63e0b805d7d1b0710919f60c2096ec0
2024-12-23 15:31:45 +08:00
Jacky Wang
6d9de7840f [Catalyst] Simplify RemoveAnimationsPreferenceTest
Bug: 373451690
Flag: TEST_ONLY
Test: atest
Change-Id: Idc64a811d97b5fd3047ad4167b98da5b97c0fee0
2024-12-23 10:23:46 +08:00
Menghan Li
9aa9199f08 feat(EDT): Migrate entry into Display Settings
The EDT toggle will be an subsetting in the DarkTheme settings page
- When the Dark Theme main toggle is on, we check the EDT setting to
decide applying normal DarkTheme or EDT now.
- The EDT preference is disabled when DarkTheme is off

Bug: 368721320
Flag: android.view.accessibility.force_invert_color
Test: atest ToggleForceInvertPreferenceControllerTest
            DarkModeSettingsFragmentTest
Change-Id: I64e47f92b14ee24a91f469cb55c7bb1285f05c62
2024-12-23 00:05:23 +00:00
Qiang Chen
7abc384e33 Show GSM settings with CDMA phone type
Phone type may be changed to CDMA if no SIM is in this sub and will not
show GSM settings in current design, so remove sub info check for
showing GSM settings.
Show GSM settings if the current radio can support both 3GPP and 3GPP2
radio technologies at the same time.

Bug: 278178437
Test: Manaul

Change-Id: I4f8cbfcdcff8f74944e2ba9a79b0945be6dd6ebd
2024-12-22 17:46:53 +05:30
Vladimir Komsiyski
18fe317f1d Merge "VDM Settings" into main 2024-12-20 23:46:44 -08:00
Chris Antol
6877d115e5 Support IntRange of value in PrefService
Bug: 384955673
Test: unit test
Flag: com.android.settingslib.flags.settings_catalyst
Change-Id: I0d5f67541ee48d758fc8fd0e38fe4c348127017c
2024-12-20 21:59:44 +00:00
Jaewan Kim
614074e5c7 Hide Linux terminal if VM isn't supported
Bug: 385216798
Test: atest
Flag: Build.RELEASE_AVF_SUPPORT_CUSTOM_VM_WITH_PARAVIRTUALIZED_DEVICES
Change-Id: I06fe52cf877deb3cd9ebc61af1579931b97d7766
2024-12-21 00:31:55 +09:00
Angela Wang
5ccc566161 Migrate SeekBarPreference to SliderPreference
Flag: EXEMPT flag by System prop
Bug: 349675952
Bug: 384648854
Test: manually check the UI
Test: atest AmbientVolumePreferenceTest
Change-Id: Ibe8ba3f8e46337b9771fd4921aee4dea21612e06
2024-12-20 01:17:22 -08:00
Jacky Wang
70c56ec8c9 [Catalyst] Update getRead/WritePermissions return type
NO_IFTTT=Catalyst only

Bug: 374115149
Flag: com.android.settings.flags.catalyst_mobile_network_list
Test: devtool
Change-Id: I30c93cc1c07691c1e0498916bbdfb423fa1734a0
2024-12-20 13:38:49 +08:00
Azhara Assanova
f2f9874122 Merge "[AAPM] Add advanced protection dialog according to API feedback" into main 2024-12-19 09:41:27 -08:00
Vladimir Komsiyski
af3e3026ff VDM Settings
Demo: go/vdm-settings-demo

Bug: 371713473
Bug: 338974320
Test: atest
Flag: android.companion.virtualdevice.flags.vdm_settings
Change-Id: I4a818b1b31ad59ee3de22105b969aec4c7f4d529
2024-12-19 04:57:19 -08:00
Daniel Norman
5e390e57b5 Merge "Strings updates for the new version of High contrast text." into main 2024-12-18 20:24:22 -08:00
Treehugger Robot
352a867aec Merge "[Catalyst] Include read/write permissions in get preference API" into main 2024-12-18 20:11:28 -08:00
Daniel Norman
d6e53163fd Strings updates for the new version of High contrast text.
These strings may be replaced again after our UX Writing team provides
new strings for the final public release.

Bug: 384791485
Test: observe new strings; see http://b/384791485#comment2
Flag: EXEMPT strings changes
Change-Id: I5359bc3d6faca84238fe00801a5d68e5ef8ffc2f
2024-12-18 18:35:45 -08:00
Jacky Wang
a8dad23365 [Catalyst] Include read/write permissions in get preference API
Bug: 374115149
Flag: com.android.settingslib.flags.settings_catalyst
Test: unit
Change-Id: I69a92a8029b94ca03d6232164edddf1a987201be
2024-12-19 10:13:19 +08:00
Angela Wang
7dfbf6c92e Merge "[Ambient Volume] Migrate to use AmbientVolumeUiController in SettingsLib" into main 2024-12-18 17:52:47 -08:00
Riley Jones
821bbb415d Merge "Cleanup of AccessibilityUtil#hasValueInSettings" into main 2024-12-18 12:04:56 -08:00
Roy Chou
b694a0afc9 Merge "feat(brightness suw): hide brightness preferences if restricted" into main 2024-12-18 00:21:45 -08:00
Roy Chou
79632a9fc5 feat(brightness suw): hide brightness preferences if restricted
By default if a RestrictedPreference is restricted then the preference
becomes disabled but still visible. But for brightness preferences in
A11y SUW we'd like to hide them if they're restricted and disabled,
since it's meaningless to show disabled items in SUW.

To achieve this, in PreferenceController#displayPreference we check the
whether the preference is RestrictedPreference and restricted, so we can
decide whether to hide it. Besides, if the preference is restricted and
we hide it, in PreferenceController#getAvailableStatis we also return
CONDITIONALLY_UNAVAILABLE to make consistency.

Bug: 384620216
Flag: com.android.settings.accessibility.add_brightness_settings_in_suw
Test: manually
      atest AutoBrightnessPreferenceControllerForSetupWizardTest
      atest BrightnessLevelPreferenceControllerForSetupWizardTest
Change-Id: Ifb68b4d64fc111d91a23457882a006002173d232
2024-12-18 07:05:45 +00:00
Treehugger Robot
c3fecca761 Merge "Remove old PK settings pages that are unused" into main 2024-12-17 19:50:54 -08:00
Riley Jones
178bdd4c60 Cleanup of AccessibilityUtil#hasValueInSettings
Settings should now be able to directly use the equivalent ShortcutUtils functions,
so the unnecessary code is being removed from AccessibilityUtil.
This does cause much behavior to depend on A11yManager instead of Settings.Secure,
so several tests need their conditions updated.

Test: atest com.android.settings.accessibility
Flag: EXEMPT internal refactoring
Bug: 367414968

Change-Id: I95f81f7d78b074def0fe2d1e01f60ceb7e142dac
2024-12-17 20:03:16 +00:00
Jacky Wang
23e5072732 Merge "Fix potential OOM caused by DataProcessManager" into main 2024-12-17 03:20:12 -08:00
Angela Wang
fb1efa69ac Merge changes from topics "ha-aics", "ha-aics-mute", "ha-local-data" into main
* changes:
  [Ambient Volume] Ambient volume icon
  [Ambient Volume] Show value with remote data
  [Ambient Volume] Show value with local data
  [Ambient Volume] UI of volume sliders in Settings
2024-12-17 01:17:38 -08:00
Jacky Wang
356fe97185 Fix potential OOM caused by DataProcessManager
The AsyncTasks started in DataProcessManager are not cancelled when
fragment is closed. Introduce helper class LifecycleAwareAsyncTask to
cancel AsyncTask automatically when lifecycle is stopped.

Bug: 384473507
Flag: EXEMPT bug fix
Test: Unit test & open/close battery usage screen 1000 times
Change-Id: I060f559fa85cc5feb9a42cb8dcc0581782a91d09
2024-12-17 17:17:15 +08:00
Yuchen Sun
d49cf23cf9 Merge changes from topic "AppDataUsage" into main
* changes:
  [Expressive design] Update AppDataUsage.
  [Expressive design] Rename ComposeMainSwitchPreference to ComposeGroupSectionPreference.
2024-12-17 00:05:34 -08:00
Angela Wang
fc79e74955 [Ambient Volume] Migrate to use AmbientVolumeUiController in SettingsLib
Moove the common ui logic code into settingslib for using in both
settings and systemui.

Flag: com.android.settingslib.flags.hearing_devices_ambient_volume_control
Bug: 357878944
Test: atest AmbientVolumePreferenceTest
Test: atest BluetoothDetailsAmbientVolumePreferenceControllerTest
Change-Id: I97d5ac2d1862fed7249af8b35f04fa36fc47d16d
2024-12-17 06:47:01 +00:00
Angela Wang
0724f2a811 [Ambient Volume] Ambient volume icon
1. Click on the icon on the header will mute/unmute the remote devices in the same set if the remote devices are both mutable.
2. Show different icon when the value of the volume slide bars changed.

Flag: com.android.settingslib.flags.hearing_devices_ambient_volume_control
Bug: 357878944
Test: atest AmbientVolumePreferenceTest
Test: atest BluetoothDetailsAmbientVolumePreferenceControllerTest
Change-Id: I829c5e08f1456c8ef9936d0314045dc8da37cd95
2024-12-17 06:46:59 +00:00
Edgar Wang
a3677c7f6a Merge "Clean-up after com.android.settings.flags.revamp_toggles rollout" into main 2024-12-16 17:12:28 -08:00
Matthew DeVore
7b7f72d902 Merge "Show display topology in the pane" into main 2024-12-16 16:24:18 -08:00
Riley Jones
66dde6fea1 Merge "Cleaning up deprecated QS tooltip code" into main 2024-12-16 15:51:52 -08:00
Matthew DeVore
807cf78a51 Show display topology in the pane
Populate the topology pane with the topology as returned from
DisplayManager.

This adds padding but not the proper rounded corners or highlighting for
the blocks. That will come later, probably after feature complete while
still in dogfood.

Test: add and remove overlays while external display fragment is shown - verify pane is refreshed
Test: add two overlay displays, verify two blocks appear in pane with system wallpaper
Test: with no freeform window displays, verify a "not enabled" message appears in pane with no display blocks
Test: DisplayTopologyPreferenceTest
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352648432
Change-Id: Ibb35af53c24d6feb1d763e4b2bf2ec9fee2ae24d
2024-12-16 19:04:58 +00:00
Angela Wang
46537a6576 [Ambient Volume] Show value with remote data
Sync local data with remote data when UI need to refresh and set the
corresponding local value to remote when the control expanded/collapsed.

Flag: com.android.settingslib.flags.hearing_devices_ambient_volume_control
Bug: 357878944
Test: atest BluetoothDetailsAmbientVolumePreferenceControllerTest
Change-Id: If748e696eb62b199d4fd9abafa2300d301a8079c
2024-12-16 15:26:26 +00:00
Angela Wang
c2ca7dadd9 [Ambient Volume] Show value with local data
Flag: com.android.settingslib.flags.hearing_devices_ambient_volume_control
Bug: 357878944
Test: atest BluetoothDetailsAmbientVolumePreferenceControllerTest
Change-Id: I3dad0f5424b44fee6d049fd778c4f8f71db0b58e
2024-12-16 15:24:20 +00:00
Angela Wang
0595aed386 [Ambient Volume] UI of volume sliders in Settings
Collapse/expand the controls when clicking on the hearder with arrow.

Flag: com.android.settingslib.flags.hearing_devices_ambient_volume_control
Bug: 357878944
Test: atest AmbientVolumePreferenceTest
Test: atest BluetoothDetailsAmbientVolumePreferenceControllerTest
Test: atest BluetoothDetailsHearingDeviceControllerTest

Change-Id: I845a4397601e563ed027d7d2a0a13651e95de708
2024-12-16 15:24:19 +00:00
Yuchen
c7635b1705 [Expressive design] Update AppDataUsage.
Migrate EntityHeader to IntroPReference.
Remove background of SpinnerPreference.

Bug: 349681531
Flag: EXEMPT migration
Test: atest AppDataUsageTest
Change-Id: Icb91c418a67489e3069f958356a9675f279ee5f8
2024-12-16 07:47:29 +00:00
Treehugger Robot
6a5298ffbf Merge "Support GetMetadata for Preference Service" into main 2024-12-13 13:07:25 -08:00
Chris Antol
8927e4371d Support GetMetadata for Preference Service
Bug: 379750656
Flag: com.android.settingslib.flags.settings_catalyst
Test: unit test
Change-Id: Ia9b438360b60ff509a259df0a079ec4d745fb595
2024-12-13 19:50:21 +00:00
Treehugger Robot
dc30635bfb Merge "feat(HCT): Perform custom migration logic for existing HCT users" into main 2024-12-13 09:22:08 -08:00
Treehugger Robot
87a3d98b9e Merge "[Catalyst] Introduce a AccessibilitySeekBarPreference contains tool tip window" into main 2024-12-13 08:47:52 -08:00
Sunny Shao
9777bbe38f [Catalyst] Introduce a AccessibilitySeekBarPreference contains tool tip window
Test: atest PreviewSizeSeekBarControllerTest TextReadingPreviewControllerTest
Bug: 372776688
Flag: com.android.settings.flags.catalyst_text_reading_screen
Change-Id: Ie93d2f26b1521e931ce648f0140894b153259f81
2024-12-13 22:15:39 +08:00
Azhara Assanova
e2248f1c4f [AAPM] Add advanced protection dialog according to API feedback
This change also updates ActionDisabledByAdminDialog because the
AdvancedProtectionManager#createSupportIntent method is now static.

Bug: 378968840
Bug: 352420507
Test: ActionDisabledByAdminDialogTest
Test: WepNetworksPreferenceControllerTest
Test: manual
Flag: android.security.aapm_api
Change-Id: I8443742aadead45091fee757cbdf715d28eee495
2024-12-13 13:25:38 +00:00
Yiyi Shen
ad6cee41b0 Merge "Avoid AudioManager#getMode in isFilterMatched" into main 2024-12-13 02:38:57 -08:00
Treehugger Robot
27c4fa1f41 Merge "Use BluetoothLeBroadcastAssistant#getSourceMetadata to retrieve broadcast name." into main 2024-12-13 01:51:46 -08:00
shaoweishen
06fe204a69 [Physical Keybaord] Add keyboard touchpad/Mouse page - part2
screenshot: https://screenshot.googleplex.com/A4yihXmkTTo2nM3.png

Add seperate controllers in page and guard with flag.
Original controller will be disabled if flag is off.

This is part of feature for keyboard setting update.
document: go/new-a11y-touchpad-mouse-page

Bug: 377602364
Test: atest SettingsRoboTests
Flag: com.android.settings.keyboard.keyboard_and_touchpad_a11y_new_page_enabled
Change-Id: I20bf7c65a7f9adc734c7382f23a92d1eb41822f1
2024-12-12 23:28:50 -08:00
chenjean
fe361a526e feat(HCT): Perform custom migration logic for existing HCT users
This logic is triggered by two scenarios:
(A) During first bootup after OTA update to Android 16, if the
    user had HCT enabled.
  - Trigger: ACTION_PRE_BOOT_COMPLETED.
  - Migration: HCT is disabled and notification is shown.
(B) Restore backup from Android 15 (or earlier), if the backup
    had HCT enabled and new device does not.
  - Trigger: SettingsProvider's restore process.
  - Migration: HCT is not restored and notification is shown.

We store whether the user has seen this notification in a new secure
setting ACCESSIBILITY_HCT_SHOW_PROMPT. This setting is also backed up.

Bug: 369906140
Flag: com.android.graphics.hwui.flags.high_contrast_text_small_text_rect
Test: atest SettingsRoboTests:com.android.settings.accessibility.HighContrastTextMigrationReceiverTest
Test: flash an incremental update on a build with HCT enabled;
      observe HCT is disabled and a notification is sent.
Test: flash an incremental update on a build with HCT disabled;
      observe no change to HCT and no notification.

Change-Id: I4d294ffc0b2eabc59ee7988a579d678975a16380
2024-12-13 05:01:33 +00:00
Matthew DeVore
2ad409ac2c Merge "Allow tweaking minimum block size and max block ratio" into main 2024-12-12 10:14:21 -08:00
Yiyi Shen
17018dd7e1 Avoid AudioManager#getMode in isFilterMatched
AudioManager#getMode is a slow binder call which should not be called on
UI thread. isFilterMatched will be frequently triggered on UI thread when updating the
Connected devices page.

Cache and update the audio mode when receive onModeChanged callback in
this change. For long term, we should better separate the UI/background
thread tasks in those classes. Also send request to Audio team to
improve the API latency.

Flag: EXEMPT small fix
Bug: 380993178
Test: atest
Change-Id: I054f3fa62f0fdf03b9a436a532ac1fb4738aaf58
2024-12-12 15:25:34 +08:00
chelseahao
18444f826f Use BluetoothLeBroadcastAssistant#getSourceMetadata to retrieve broadcast name.
Test: atest
Bug: 381944659
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I6e4c83a0858717727066de708fbde88e4b03ed8e
2024-12-12 11:31:33 +08:00
Yiyi Shen
810309413a Merge "[Audiosharing] Check profile readiness before adding source" into main 2024-12-11 08:04:04 +00:00
Matthew DeVore
913b836bd8 Allow tweaking minimum block size and max block ratio
The original settings of 48 and 0.05 resulted in very small results in
real-world use. The min edge length of 48 does not account for possible
padding and is unnecessarily small. The block ratio of 0.05 is probably
OK to exceed, and is unnecessarily limiting. It is worth noting that the
previous defaults usually caused a conflict between the min length and
max ratio.

Keep the parameters in case we change our mind later.

Test: TopologyScaleTest
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352648432
Change-Id: If8f72dd2e0652ffb33f3d61b137ac7d64a4477f5
2024-12-10 15:37:36 -06:00