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
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
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
- 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
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
Apply it to Settings DashboardFragment to make all settings support this.
Bug: 376137920
Test: atest HighlightablePreferenceGroupAdapterTest
Flag: EXEMPT resource only update
Change-Id: I9220c13444244a082441aefc1962c2a394638001
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
- 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
- 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
- Adding CardPreference.java back for "Free up space" item
- Rename CardPreference.kt to TipCardPreference.kt
Bug: 333016642
Test: http://ab/I85800010265092964
Change-Id: I36062703b7ab5c21083459616234e3a86500719b
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
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
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
This reverts commit 19d1d3d15d.
Reason for revert: revert it because this is not the root cause.
bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
This reverts commit cf0501e4d7.
Reason for revert: b/317462033, it seems a flaky but revert it first.
Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
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
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
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
Only used in tests, so also migrate the tests.
Bug: 306658346
Test: manual - on bluetooth
Test: m RunSettingsRoboTests
Change-Id: Id2b010c1d9c32abe21dcc8765e9446fc4f7a5b25
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