Commit Graph

740 Commits

Author SHA1 Message Date
Jacky Wang
6f684c73e0 [MainSwitchPreference] Remove SettingsMainSwitchPreferenceController
NO_IFTTT=Update base class

Bug: 401406987
Flag: EXEMPT refactor
Test: manual
Change-Id: I68093366f63fa5b4184aa7b3dde8bc2609f17dfb
2025-03-11 00:35:01 +08:00
Jacky Wang
2380c5d1e4 [Catalyst] Avoid PreferenceMetadata.getPreferenceTitle call
Bug: 388167106
Flag: EXEMPT refactor
Test: atest
Change-Id: I6491f076c22e5cca4981d4a9270f92cd53173f74
2025-03-10 10:40:59 +08:00
Jacky Wang
1684b4387e [MainSwitchPreference] Deprecate SettingsMainSwitchPreferenceController
Bug: 401406987
Flag: EXEMPT refactor
Test: manual
Change-Id: Icdef50d0da777751f37b9d0d1984db636c7086f1
2025-03-07 19:44:59 +08:00
Treehugger Robot
6288eb50da Merge "[Expressive design] Update homepage preference layout" into main 2025-03-03 02:21:05 -08:00
Yinglei Wang
ed15a1079a Merge "CheckableRelativeLayout accessibility checked state updates" into main 2025-02-27 13:27:56 -08:00
Jason Chiu
4604734d54 [Expressive design] Update homepage preference layout
Bug: 396944193
Test: visual
Flag: com.android.settingslib.widget.theme.flags.is_expressive_design_enabled
Change-Id: I2dd3d984a3181d2fc49e56a26cd57332ac00bb33
2025-02-26 22:28:46 +08:00
Mill Chen
5a310e9c8f Add hint to EditText for Talkback
Set the title as the hint of EditText to fix the missing accessibility
label.

Fix: 386758099
Test: atest DeviceNamePreferenceControllerTest
Flag: EXEMPT bug fix
Change-Id: Icde6796aa3faa3e0ad79611ba2dd0b18b13590a7
2025-02-14 19:22:55 +00:00
Sunny Shao
792e91743d [Catalyst] Introduce the FooterPreferenceMetadata and FooterPreferenceBinding
Test: manual test
Bug: 335132588
Flag: com.android.settings.flags.catalyst
Change-Id: Iff63b53ea335c96358a5278bd7e9a4d291c0b6d7
2025-02-12 07:17:07 +00:00
Jacky Wang
e9afa7c7c6 [Catalyst] Fix restriction issue on sound settings
After ag/31443354, sliders on sound settings are not disabled when
"no_adjust_volume" restriction is set. The root cause is that
`SeekBarVolumizer.setSeekBar` updates the SeekBar enabled state.

Bug: 386162594
Flag: EXEMPT bugfix
Test: atest&manual
Change-Id: I5d37c9958a693a26717a8e2d9a62ec5ef225e28f
2025-02-11 12:26:23 +08:00
Yinglei Wang
2f27fae102 CheckableRelativeLayout accessibility checked state updates
Send the new checked event. Updated to the new checked api.

Test: tested that the CheckableRelativeLayout sends out the new event.

Flag: android.view.accessibility.tri_state_checked

Bug: 380327448

Change-Id: I7020cc70e100f6bc732bf7ab4e55be76cea8e621
2025-02-10 23:41:39 +00:00
Nate Myren
bfedd95083 Unrestrict granted ECM setting for A11Y
Other RestrictedPreference users' behavior is kept the same, for now.

Bug: 390196024
Test: manual
Flag: EXEMPT: minor bugfix
Change-Id: I4efe26d254b44defc15778271d9ff6d7270ec443
2025-01-22 17:05:41 -08:00
Fan Wu
297941ba2f [Catalyst] Remove PreferenceMetadata usages
Classes that implement PersistentPreference don't need to implement PreferenceMetadata

Bug: 388167302
Test: atest and manual
Flag: EXEMPT refactor
NO_IFTTT=refactor

Change-Id: Icf7d5eb4bbd426eb7e8dd562eda3c0a775457a3e
2025-01-16 17:46:28 -08:00
Jacky Wang
8672a5e2ef [Catalyst] Keep activity title in sync with PreferenceFragment
Fix: 390135885
Flag: com.android.settings.flags.catalyst
Test: manual
Change-Id: I0a8edbc6fa2a13d653a85ddfe36bd551e09796f8
2025-01-16 12:26:13 +08:00
Jacky Wang
05b678936a [Catalyst] Prevent flicker on "Use Data Saver"
Fix: 383632913
Flag: com.android.settings.flags.catalyst
Test: manual
Change-Id: I9aa9544c4749e543f5a923d166e4268af595a500
2025-01-10 16:32:00 +08:00
Angela Wang
59c0fd9012 Reset descriptions for SeekBarPreference
The view maybe reuse and the content/state descriptions need to be clean
up, otherwise it'll be the old view's description.

Flag: EXEMPT bugfix
Bug: 382608695
Test: manual test with TalkBack on
Change-Id: I7bc522770e7cdc8c1ef7b05b410e69af7e2d4b4b
2024-12-17 06:47:01 +00:00
Jacky Wang
249e381a63 [Catalyst] Fix MainSwitchBarPreference NPE when configuration changed
When activity is recreated (due to configuration is changed),
preference screen is created before SettingsActivity sets view layout
and results in NPE. As a workaround, save the states inside
MainSwitchBarPreference to fix the problem.

Bug: 332201912
Flag: EXEMPT library
Test: manual
Change-Id: I052cd0a521dac203a5f58963c550911e7a741e6f
2024-12-10 15:25:39 +08:00
Jacky Wang
fdbfa69183 Merge changes from topic "catalyst" into main
* changes:
  [Catalyst] Migrate bluetooth screen to catalyst
  [Catalyst] Migrate BluetoothFooterPreference
  [Catalyst] Fully migrate BluetoothMainSwitchPreference
  [Catalyst] Add SatelliteRepository.isSatelliteOn helper method
  [Catalyst] Support callChangeListener for MainSwitchBarPreference
2024-12-10 07:11:09 +00:00
Jacky Wang
f79173a664 [Catalyst] Support callChangeListener for MainSwitchBarPreference
Bug: 335132588
Flag: EXEMPT library
Test: manual
Change-Id: I6924ccfa0d66b9a643811f49a2ec3fcdc1d749ae
2024-12-09 16:59:16 +08:00
Sunny Shao
a02483adc9 [Catalyst] Refactor some Text Reading items
Test: atest TextReadingPreferenceFragment
Bug: 372776688
Flag: com.android.settings.flags.catalyst_text_reading_screen
Change-Id: I49aa91ca6f441814d6aaeb86826291a155a306f1
2024-12-09 12:55:30 +08:00
Nikki Moteva
bc1b12db3a Settings: Fix the a11y focus issues in App Notifications subpage
There are duplicate a11y focuses in the App Notifications subpage.
See the bug for more details.

To fix the App, we will make the LayoutPreference unselectable,
which makes the internal FrameLayout unfocusable.

To fix the Switch, we can disable its focusability.
This will make the FrameLayout the only focusable view for the
Main Switch Bar. This a11y fix applies to all instances of
SettingsMainSwitchPreference in the Settings app.

Bug: 306725248
Flag: EXEMPT bugfix
Test:
atest SettingsMainSwitchPreferenceTest
Manually tested the UI. The SettingsMainSwitchPreference
is also used in `Display & Touch > Adaptive brightness`,
`Accessibility > Caption Preference`, etc. The toggle acts as
expected in the pages.

Change-Id: I52b4965ac0ffc8d1576e8bc650715eb80ab4e8c7
2024-11-25 22:38:08 +00:00
David Liu
e2f6b9496e Merge "[Expressive design] SettingsMainSwitchPreference should not in the group" into main 2024-11-19 06:50:18 +00:00
David Liu
a1d5f2544a [Expressive design] SettingsMainSwitchPreference should not in the group
- SettingsMainSwitchPreference already have rounded corner itself.
- Don't need to have rounded background.

Bug: 377266201
Test: visual test
Flag: EXEMPT update library
Change-Id: I3e336257bcbdb83a8e397bb006a00a33b543aae0
2024-11-18 23:40:11 +00:00
Jacky Wang
3a20528ae4 [Catalyst] Support RadioButtonPickerFragment
Bug: 368359967
Flag: com.android.settings.flags.catalyst_screen_timeout
Test: manual
Change-Id: Ibd3a1c52b152054bf01e37848785c5bda588df5f
2024-11-16 03:42:57 +08:00
Jacky Wang
6a52eeabbc [Catalyst] Support main switch bar
MainSwitchBar is a view widget in activity layout stick to the top of
screen UI. There is no corresponding Preference in the preference
screen. For Catalyst support, introduce an invisible Preference object
to manipulate with MainSwitchBar, so that the binding mechanism is
still working on top of this abstraction.

Bug: 332201912
Flag: EXEMPT new class
Test: manual
Change-Id: If50932a443c1ed3ac04d3ea2e3273724d750297d
2024-11-13 02:05:01 +08:00
David Liu
7b846bc9ad Merge changes from topic "fix-expressive-design-preference-group" into main
* changes:
  [Expressive design] preference group - fix preference highlight
  Fix expressive design preference group
2024-11-06 20:47:59 +00:00
David Liu
7e625884e3 [Expressive design] preference group - fix preference highlight
Support preference highlight feature

Bug: 376137920
Test: atest HighlightablePreferenceGroupAdapterTest
Flag: EXEMPT resource only update
Change-Id: I017f292778c984c0a8a207b837144fb9e344e9a8
2024-11-06 05:35:28 +00:00
Jacky Wang
3551614baf Implement RestrictedPreferenceHelperProvider for restricted preference
Bug: 377600992
Flag: EXEMPT library
Test: Manual
Change-Id: I73e60ea7a392aac96e701b9d7f0ff617e449f3b2
2024-11-06 11:43:42 +08:00
David Liu
1fc4af8e5c Fix expressive design preference group
Apply it to Settings DashboardFragment to make all settings support this.

Bug: 376137920
Test: atest HighlightablePreferenceGroupAdapterTest
Flag: EXEMPT resource only update
Change-Id: I9220c13444244a082441aefc1962c2a394638001
2024-11-04 20:38:56 +00:00
Jacky Wang
9332b06675 [Catalyst] Provide launch intent
Bug: 373895400
Flag: com.android.settings.flags.catalyst
Test: manual
Change-Id: If7825798c441dc0009fbd91918d4795873b39fa3
2024-10-30 20:24:18 +08:00
Paul Duffin
899a6d8f75 Merge "Fully qualify @attr reference to android.R field" into main am: e61c03648d am: aea2622b91
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3296753

Change-Id: I1ce024dc4ecf70f6aedff0811abe38718140dd20
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-10-08 09:14:17 +00:00
Paul Duffin
ad48f03f53 Fully qualify @attr reference to android.R field
Currently, Metalava has some special handling of '@attr ref R.<field>`
references to make sure that they are fully qualified, i.e.
`@attr ref android.R.<field>`. That special handling complicates
Metalava and is blocking some flagged API work so will be removed.
Before that can be done, the existing incorrect documentation needs to
be cleaned up.

This change cleans up those cases in this repo.

Bug: 371997321
Test: Run `m offline-sdk-docs` before and after to make sure that
      there are no differences.
Flag: DOCS_ONLY
Change-Id: Ic97f01b90193d058d65e6d3c6d0a04ce5e55d7c7
2024-10-07 17:10:02 +01:00
Zoey Chen
bc3f736162 [Settings] Fix crash
Bug: 366361808
Change-Id: I3f804685e215ed07b71a5efd51c9da9c5b978279
Test: manual
Flag: EXEMPT bugfix
2024-09-23 11:16:36 +00:00
Zoey Chen
b90b4961b3 [Settings] Remove androidx widget and use Settings widgets
Bug: 365486042
Test: manual
Flag: EXEMPT bugfix
Change-Id: I4658742b442831121b45833bdf02b36ad33d785d
2024-09-09 08:47:18 +00:00
Tom Hsu
a6678ad6f6 Merge "DISALLOW_CONFIG_MOBILE_NETWORKS for Mobile Network" into main 2024-08-12 04:29:41 +00:00
mxyyiyi
427c9c3187 Migrate Tips Card in battery uasge to Settings Card.
before:
[Dark-settings]:https://screenshot.googleplex.com/56EiS3PbtRsh5RR
[Light-app]:https://screenshot.googleplex.com/8UDuFEkkrLUt53D

after:
[Dark-settings]:https://screenshot.googleplex.com/3zKxxGi2Awa6s72
[Light-settings]:https://screenshot.googleplex.com/rsgVh9P62x7itUa
[Dark-app]:https://screenshot.googleplex.com/56EiS3PbtRsh5RR
[Light-app]:https://screenshot.googleplex.com/6bfs2u43nZpHL8y

Bug: 357603119
Test: atest BatteryTipsControllerTest
Flag: EXEMPT bug fix
Change-Id: I25e3b407378b01ef9868326a005554ceb6e94181
2024-08-08 13:59:11 +00:00
tomhsu
e7cc2791f6 DISALLOW_CONFIG_MOBILE_NETWORKS for Mobile Network
- Avoid intent start MobileNetworkSettings page
 - Avoid Mobile network preference show on screen

Flag: EXEMPT bug fix
Fix: 289232540
Test: Manual test. see b/289232540#28
Test: atest passed

Change-Id: I25b75673fbc0758dc06ca15f890e5dee0ea1367f
2024-08-08 09:04:37 +00:00
Edgar Wang
615133cc00 Fix the scrolling behavior in Settings homepage
- we always scroll to top of homepage first.
- if target position already exist on screen,
  we don't need to scroll.
- if target position doesn't exist on screen,
  scroll to the target position.

Bug: 349696107
Test: manual
Flag: com.android.settings.flags.homepage_revamp
Change-Id: I18c314d19eb38f22f799cb8bf087bf71f4f7d466
2024-07-24 07:55:12 +00:00
Edgar Wang
542cd44266 Apply round corner group background for large screen
Bug: 340510477
Test: manual

Change-Id: I53ea81cee3b6bf543a71237030a61df6aef0e967
2024-05-20 06:49:24 +00:00
Edgar Wang
47400df7ae Homepage UX revamp
- unified Search and Suggestion behavior between regular phone and two
  pane
- don't adjust padding
- update new icon drawable
- support group homepage preference with round corner on phone
- Remove avator from homepage
- Adjust homepage preference order

Bug: 333989622
Bug: 334130370
Test: visual
Change-Id: I9880b52553f164745766c8b9d5c996585285e52a
2024-05-09 08:21:08 +00:00
pajacechen
e5d99fa93d Fix "Free up space" not clickable issue
- Adding CardPreference.java back for "Free up space" item
- Rename CardPreference.kt to TipCardPreference.kt

Bug: 333016642
Test: http://ab/I85800010265092964
Change-Id: I36062703b7ab5c21083459616234e3a86500719b
2024-04-15 19:45:17 +08:00
Jason Chiu
3f0eefbd37 Fix the a11y focus problem in a long list page
While a page is scrolling to the target position, the target can't
request a11y focus, and the highlight blink animation at the moment is
also invisible.

The patch is to skip the unseen highlight animation and focus operation
when onBindViewHolder() is called before scrolling. Therefore, when the
scrolling stops, the scroll listener will notify the item changed and
onBindViewHolder() will be called again to do the operations.

Also decrease the delay time of the scrolling start to make the a11y
smoother.

Bug: 318459003
Test: manual, robotest
Change-Id: Ie55b2edeb7e1feaaadb5e670f39f07f6f17b92b9
2024-04-02 10:43:28 +08:00
Becca Hughes
9931d03f6f Implement policy transparency for CredMan
This CL implements policy transparency for
Credential Manager settings.

Screenshots:
https://hsv.googleplex.com/5502938857340928
https://hsv.googleplex.com/4999933426925568

Test: on device w/ test dpc
Bug: 318552220
Change-Id: I78e1fa47541c81e6e2d2bf2c13159be01928e77c
2024-03-29 09:56:47 -07:00
pajacechen
808573df9b Add onClick for CardPreference
Bug: 326518399
Test: Manual Test
Change-Id: Id56e53cff43d14090ec8c08704a207fd9c829c1d
2024-02-23 21:39:01 +08:00
Hani Kazmi
206300962f Replace ECM AppOps call with service
A new ECM service was introcuded in changeId
I831391e4437b51b3312b5273a2360bd029a3d8ee.

We begin calling it, and update/cleanup method signatures to match.

Note: There are two feature flags:

1. enhancedConfirmationModeApisEnabled - read only, protects the
   mainline API.

2. extendEcmToAllSettings - runtime - gates calls to the above APIs.

We use both so we can ramp up in teamfood as needed.

Bug: 297372999
Test: Tested on device
Test: atest SpaPrivilegedLibTests
Test: atest com.android.settings.applications.specialaccess.notificationaccess
Test: atest com.android.settings.datausage
Test: atest PremiumSmsAccessTest
Test: atest RestrictedPreferenceHelperTest
Change-Id: I945ec51df5cd63de548a8ffdd1acc4f09f2301e5
2024-02-21 14:43:02 +00:00
Hani Kazmi
96ab2b9e25 Wired remaining SpecialAppAccess for ECM.
This change enables the remaining settings for ECM, and adds tests for
both this and previous ECM changes.

Bug: 297372999
Test: Tested on device
Test: atest SpaPrivilegedLibTests
Test: atest com.android.settings.applications.specialaccess.notificationaccess
Test: atest com.android.settings.datausage
Test: atest PremiumSmsAccessTest
Test: atest RestrictedPreferenceHelperTest
Change-Id: I73d39d765dba0c1a75111c37b29ccf1c85d2cdd8
2024-02-15 15:15:23 +00:00
pajacechen
d171a8b946 [BatteryTip] Implement new CardPreference to apply new style
- Implement a new CardPreference to apply SettingsCard
- Apply CardPreference on battery tips

Bug: 315748218
Test: atest SettingsSpaUnitTests:com.android.settings.widget.CardPreferenceTest
Test: atest SettingsRoboTest:com.android.settings.fuelgauge
Change-Id: I9a57e7739275854278b2c586793af718b0680d23
2024-02-02 22:27:16 +08:00
Sunny Shao
076ed573eb Revert^2 "Nullability Annotations replacement"
This reverts commit 19d1d3d15d.

Reason for revert: revert it because this is not the root cause.

bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
2024-01-10 07:34:01 +00:00
Sunny Shao
19d1d3d15d Revert "Nullability Annotations replacement"
This reverts commit cf0501e4d7.

Reason for revert: b/317462033, it seems a flaky but revert it first.

Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
2023-12-29 02:28:24 +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
Wa Gao
b14867f6ac Add dialog for top switch on fully managed devices.
Bug: 311233745
Change-Id: Id4043675041d1cf9c0ed307f3a0c2dc65768641b
2023-12-02 00:42:33 +00:00