This change adds a new API to a Pixel overlay feature provider,
allowing Android to map page IDs to feedback bucket IDs.
Bug: 393980229
Test: Manual testing for Pixel and non-Pixel overlay in real device
Test: atest AccessibilitySettingsTest
FeedbackManagerTest
Flag: com.android.server.accessibility.enable_low_vision_generic_feedback
Change-Id: I8a110b08816cac9c8a8e8c3e1218530fffb6f121
This change introduces a feature provider for Pixel overlays, allowing
customization of the feedback bucket ID on Android.
Bug: 393980229
Test: Manual testing for Pixel and non-Pixel overlay in real device
Test: atest AccessibilitySettingsTest
FeedbackManagerTest
Flag: com.android.server.accessibility.enable_low_vision_generic_feedback
Change-Id: Ieeb1dba4de5c13a275e66781621cbfcca7219a5e
This entry point allows users to access in the action bar.
Visibility is controlled by the aconfig and FeedbackManager#isAvailable
Bug: 393981463
Test: atest AccessibilitySettingsTest
Flag: com.android.server.accessibility.enable_low_vision_generic_feedback
Change-Id: I8c219b8220b5839121d14959fe526e6200afeecb
The root cause is that androidx.preference.Preference does not implement
equals and hashCode methods, but it is used as Map key (see bug comment2
for more details). Given that Preference.getParent() can find the
category, we can simplify the data structure from Map to List.
Bug: 388696327
Flag: EXEMPT bugfix
Test: Resume/Pause Accessibility screen 100 times
Change-Id: Ib70acbf2147048730f8a4e8fd66731f9efdadecf
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
Removes all instances of a11y_qs_enabled. Any code that would be nontrivial to remove has been deprecated for later cleanup.
Test: atest com.android.settings.accessibility
Flag: EXEMPT flag cleanup
Bug: 367414968
Change-Id: I81f3c9cee377535eaa552a170d58ec1a79d1da65
Bug: 354076686
Flag: com.android.settings.accessibility.fix_a11y_settings_search
Test: Search Project Relate and verify the item shows up in the search
result
Test: Search Talkback with keywords, verify the Talkback shows up in the
search result
Test: atest AccessibilitySettingsTest
Change-Id: I258ecb0928308b7cde30c12104408e11cc25ecd5
Bug: 353700779
Test: atest AccessibilitySettings, ensure new test passes
Test: revert AccessibilitySettings.java change, ensure new test fails
Test: Install poc APKs from the bug, observe issue not reproducible
Flag: NONE security fix
Change-Id: Ie680e80169aa734f2559fe50ef06e4d1eae46779
Bug: 353888087
Test: atest AccessibilitySettingsTest
Test: manually check all prebundled services are still in their proper
groups, even after installing an APK update
Flag: com.android.settings.accessibility.check_prebundled_is_preinstalled
Change-Id: I023db9c37d7990deb50c9eec516619f0a8db65b7
This version still only loads preferences once, but the previous attempt
commit 774bbc1ff2
created a "sliding" effect as the preferences were loaded after the page
became visible to the user.
Also reorders methods so that their position in the source file matches
the Activity lifecycle ordering.
Bug: 327052480
Test: existing A11y Settings robotest presubmit
Test: Launch this page from the Settings app, observe no sliding UI
Flag: NONE low risk visual bug fix
Change-Id: I44312ada359aef7dec8eb27c57cde2a8e00f254b
In PackageMonitor, it is no longer based on broadcast receivers to
listen package added/removed/... events. Therefore the verification
should be removed.
Bug: 340387113
Test: atest SettingsRoboTests:com.android.settings.accessibility.AccessibilitySettingsTest
Change-Id: I7b0d46add06c74f1b9bf1097f92dececa9b130de
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
**Root cause**
- We can no longer mock the fragment.getActivity method because it's a
final method.
- We need to use custom shadows to implement the method we use but not
shadowed in Robolectric. (e.g. ColorDisplayManager's
isReduceBrightColorsActivated method)
Bug: 300157873
Test: atest AccessibilitySettingsTest
Change-Id: Ia7d039dd2e31e6b4a7b9382827f9006d4133ca1d
Current failing tests: ab/I64100010182936387
Had to Ignore some of com.android.settings.accessibility tests, which will be fixed separately
Bug: 261728063
Test: atest SettingsRoboTests -- --test-arg com.android.tradefed.testtype.IsolatedHostTest:java-flags:-XX:CompressedClassSpaceSize=3g
Change-Id: I4a0cb992db924936826e0c9808accc78dddb5f30
- Keep the accessibility settings strings the same as in U.
Bug: 289425138
Test: manual
Test: atest
Change-Id: Iddbbfe627c93529d2421e153094a30628229c4bc
Many robotests that touches BluetoothAdapter might need to use our own
ShadowBluetoothAdapter which implements a "fake" getSupportedProfiles
call, so that the test won't trying to execute the android framework's getSupportedProfiles method.
Bug: 285235777
Test: atest AccessibilitySettingsTest
Change-Id: I5b3b2f4528a2b32aff22928653c57576981c0ff9
Our team is trying to determine the state of our tests in automation,
which is tough to do when some tests are skipped completely.
A11y SettingsRobotests are currently run only in postsubmit, so even
if the Ignored tests fail it should not cause presubmit issues.
Bug: 279082331
Test: Use go/abtd to ensure tests run (and some fail)
Change-Id: I767b25427e748b7e94ab05e81a2f645f8b6279cf
Revert submission 19748582-settings_yesno
Reason for revert: Common strings in English could be translated into different strings in other languages.
Reverted changes: /q/submissionid:19748582-settings_yesno
Bug: 272603842
Test: build and open Settings app
Test: atest SettingsRoboTests
Change-Id: Iaad301c5513478fb95e40987ea3ccb4f923d71fa
AccessibilityHearingAidPreferenceController can't be instantiated
correctly in tests with the lack of LocalBluetoothManager. This causes
null pointer exception when
AccessibilityHearingAidPreferenceController.setFragmentManager() is
called in AccessibilitySettings.onAttach().
Solution: Mocks the LocalBluetoothManager for tests to successfully
instantiate AccessibilityHearingAidPreferenceController to prevent null
pointer exception from happening.
Bug: 269407238
Test: atest AccessibilitySettingsTest
Change-Id: Ibcfffa10b46fd6e85c1b74b03343e5ee0e8843b3
The Menu APK will be included by default on devices. However, in order
to ensure Menu appears in the interaction controls category an OEM would
need to update their config_preinstalled_interaction_control_services
array.
This change ensures Menu is in the correct category without any OEM
action required.
Bug: 261252772
Test: atest AccessibilitySettingsTest
Change-Id: I9b3d6dddf2691d9489ef847e400eb776aca96e56
"Yes" and "no" were redefined many times with no clear benefit, so this
consolidates them into one definition.
Bug: 243843096
Test: Build, install, and open the Settings app
Test: atest SettingsRoboTests
Change-Id: I5f84d09f223efd478461ded93aeac82bf7b128d8
* Pop up dialog in 'Connected deivce' page and 'Accessibility -> Hearing
aids' page
Bug: 225117454
Bug: 226511985
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidPairingDialogFragmentTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableMediaDeviceGroupControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityHearingAidPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidUtils
Change-Id: I34a1e3ac680a7efe97dc501bfbe93f840ad16364
* Need to be used in 'Connected device' page for hearing aid device
Bug: 225117933
Bug: 227172850
Test: make RunSettingsRoboTests ROBOTEST_FILTER=RestrictedPreferenceHelperTest
Change-Id: Icda456aa9c7597dc113775d1359acb0a8430768c
Bug: 202130031
Test: Able to boot without error
Test: When app is installed by PackageInstaller app, notification
access is being restricted. The restriction is being removed after
turing it restricted settings off for that app.
Change-Id: I9c1fbc80dd2ca4cc483a60dfa9d043aaa99cde87
If OP_ACCESS_RESTRICTED_SETTINGS is rejected, it means accessibility page
for that app is gray out and app info won't show "unlock restricted settings menu"
If OP_ACCESS_RESTRICTED_SETTINGS is ignored, it means accessibility page
for that app is gray out, but app info shows "unlock restricted settings menu"
If OP_ACCESS_RESTRICTED_SETTINGS is allowed(default), it means users can
access accessibility page for that app.
OP_ACCESS_RESTRICTED_SETTINGS will be changed to ignored if user visited
the restricted settings dialog.
OP_ACCESS_RESTRICTED_SETTINGS will be changed to allowed if user passes
the confirmation screen.
Bug: 202130031
Test: Tested the UI and it works correctly
Change-Id: I3dfb94cee440658b4726a1c3f7265f93cd19ed3e
Refactor SettingsContentObserver and rename it to
AccessibilitySettingsContentObserver. Besides, we register it to observe
follow typing feature preference value.
The reasons behind refactor:
1. We change callback signature due to the consistency for register it
by preference key, not by Uri.
2. We refactor the default preference key to a seperate method. Since
the default value is related to accessibility, we rename it with
accessibility prefix.
3. We can register different callback for difference collections of
preference keys.
Default preference keys: They existed in the previous constructor.
1. Settings.Secure.ACCESSIBILITY_ENABLED
2. Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES
Bug: 194668976
Test: make RunSettingsRoboTests ROBOTEST_FILTER=
AccessibilitySettingsTest
AccessibilitySettingsContentObserverTest
AccessibilityShortcutPreferenceFragmentTest
MagnificationFollowTypingPreferenceControllerTest
ToggleFeaturePreferenceFragmentTest
ToggleScreenMagnificationPreferenceFragmentTest
Change-Id: Iafd27e044ebe2536ae7ae55c1c80af54f7f0f822
Updating the Settings app to allow setting the value off for key
HAPTIC_FEEDBACK_INTENSITY. This setting state is also copied onto
HAPTIC_FEEDBACK_ENABLED setting, so both should be in sync after this
change.
Similar logic is applied between RING_VIBRATION_INTENSITY and
VIBRATE_WHEN_RINGING.
This will not disable the hardware feedback since that one is controlled
by a separate setting key now.
The "vibrate for calls" was also removed and the single toggle for
"vibrate first then ring gradually" was moved into the "Vibration &
haptics" page.
Bug: 185351540
Test: [HapticFeedback|NotificationVibration|RingVibration][Intensity|Toggle]PreferenceControllerTest
and manual testing of the AOSP settings app
Change-Id: I9c94cef331a1500a1272a601ba32667ca995ddab
This configuration should be user-scoped.
Bug: 184165158
Test: AccessibilitySettingsTest
RingVibrationPreferenceFragmentTest
VibrateForCallsPreferenceControllerTest
VibrateForCallsPreferenceFragmentTest
Change-Id: I7b8684fb1cf03d41872a700fd8732c76422e37c3
* Use FeatureFactory to improve the search only for google overlay
Bug: 184171842
Test: atest AccessibilitySettingsTest
Change-Id: I93ed52d2579b7da35dba59f9562b6715d13dd80d
Root Cause: Keys in ContentObserver registered after the keys change
Solution: Keys in ContentObserver need to be observed during the whole lifecycle to update the preferences including summary text
Fix: 183157677
Fix: 172469017
Fix: 183459237
Fix: 183459376
Test: atest AccessibilitySettingsTest
Change-Id: I3b22773965f1878c499a0f9cbd8bd0f3c9c6fae9
This is a transitional step towards truth 1.0.1, where these APIs have
been completely removed.
Bug: 168765701
Test: m checkbuild
Change-Id: I76f9c37cb699ce6ab8715ffe35d11668ccbceea1
* AccessibilitySettings only get the description to pass to the
ToggleFeaturePreferenceFragment
* ToggleFeaturePreferenceFragment handle the default description logic
Bug: 154092127
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.accessibility.AccessibilitySettingsTest"
Change-Id: I516a393aeef1472ca5d185d477a2b0b108fc5342
* Reduce the complexity of updateServicePreferences.
* Introduces RestrictedPreferenceHelper to setup installed
AccessibilityServiceInfo and AccessibilityShortcutInfo.
Bug: 142531433
Test: make RunSettingsRoboTests
Change-Id: I0f5eeac56a93caadeb05c25f1f8c4daa0d775b35