Commit Graph

726 Commits

Author SHA1 Message Date
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
Michał Brzeziński
56a751ca44 Merge "Focusing on item highlighted coming from search result" into main 2023-11-17 15:54:12 +00:00
Michal Brzezinski
ef696934b0 Focusing on item highlighted coming from search result
There are two cases that require different approach:
1. No scrolling or only a bit of scrolling is required to reach desired
   item - then we can focus the item straight away.
2. We're still scrolling when highlighting is started - after
   DELAY_COLLAPSE_DURATION_MILLIS + DELAY_HIGHLIGHT_DURATION_MILLIS.
   Then we need to wait till we reach the element/stop scrolling and focus
   afterwards.

Test: case 1: search for any setting, press enter and see if keyboard is focused
on search result
Test: case 2: search for setting that requires a lot of scrolling, e.g.
"display cutout" and see if it's get the focus after selecting
Fixes: 307902050

Change-Id: Ifa0738748184e78074099e33e09e5d8df198177e
2023-11-16 18:23:58 +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
Chaohui Wang
f20a6d0ea6 Merge "Migrate SyncStateSwitchPreference to SwitchPreferenceCompat" into main 2023-10-26 22:51:23 +00:00
Chaohui Wang
075a3ae15d Migrate RestrictedSwitchPreference to compat
UI keep unchanged in this cl.

Bug: 285231003
Test: manual - on affected pages
Change-Id: If80cb7e9d5da601d03c28e040b92449c5b2c8e76
2023-10-26 11:06:02 +00:00
Chaohui Wang
b547927d26 Migrate SyncStateSwitchPreference to SwitchPreferenceCompat
UI not changed in this cl, this cl helps UI switch in the future.

Bug: 306658427
Test: manual - on "Account sync" page
Test: manual - on "Turn screen on" detail page
Change-Id: Icd91bb69fdce302d9b9e92f501d1b1eaf2051960
2023-10-26 13:37:22 +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
84dfb76f4a Avoid settingslib.widget.preference.radio
Which is deprecated and will be cleaned up.

Bug: 289155281
Test: m Settings
Change-Id: Ie91835fa98ed71b5b9c73d1bc4d953a1e3ef3d02
2023-09-24 00:41:19 +08: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
dshivangi
0f4ec2b1b7 Add illustrations to fold lock setting
Added illustrations to fold lock setting for all respective fold lock
setting values.
The illustrations can be found here: https://docs.google.com/presentation/d/1hSDuwaX0fqDSXO7LFmtgNcodaLftqUrgVT1cvfffp_Q/edit?resourcekey=0-ZJ0UdziPYZgD43a8I-cdIw#slide=id.g239e21e8ec8_0_0

Bug: 294194379
Test: Flash device with this change.
* Set diffrent values of fold lock setting
* Verify correct illustration is showed for respective setting value

Change-Id: I16af550b70e951d29bf5e0e2c9e8513473461528
2023-09-20 11:47:19 +00:00
Behnam Heydarshahi
7549d613e6 Set a11y focus for selected Settings item
When a Settings preference item is selected via a settings panel or
settings search, the system takes user to its corresponding subsettings
activity. There, in the past, the selected preference was highlighted
but the a11y focus was set on the back button. This code sets the a11y
focus on the selected preference.

Bug: b/285512439
Test: atest HighlightablePreferenceGroupAdapterTest
Change-Id: I7edc697e2e3870b1822279c115230add14e82df0
2023-09-18 18:30:12 +00:00
Chaohui Wang
cc2133ba8e Clean up unused fields from EntityHeaderController
Bug: 295260929
Test: manual - on pages with header
Test: robo test
Change-Id: Icebd63dbb5d3d44b4b46d3bececb8b65b30b4883
2023-08-21 13:58:07 +08:00