Bug: 367414968
Test: atest com.android.settings.accessibility
Flag: EXEMPT cleanup
NO_IFTTT= Change does not alter preference list
Change-Id: I64f5f7fba112b6fb5035b88f01c04d9ee309f2c0
Also renames mPackageName to mFeatureName. This string is used as the
user-visible feature name, e.g. TalkBack, not the APK package name.
Fix: 382054546
Test: n/a (existing presubmit)
Flag: EXEMPT minor bugfix
Change-Id: I1ce6902612d89bbb68bddf30227ca231ea98dce7
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
- Cleaned up the code that won't be executed when the flag is on
- Remove unused resources
Bug: 300302098
Test: Manually verify the user can change the shortcut type, and the
changes are saved
Test: atest com.android.settings.accessibility
Flag: EXEMPT removing com.android.settings.accessibility.edit_shortcuts_in_full_screen
Change-Id: I1e32b724ca3da909feda55e20fb1d51dc4680c09
AccessibilityShortcutsTutorial.
**Root cause**
When toggle the shortcut, it asks the AccessibilityManager to turn on
the shortcut and update the Settings data. Internally, the
AccessibilityManager delegate the work to AccessibilityManagerService
via a oneway binder call.
In the past, when launching the AccessibilityShortcutsTutorial, we
assume the shortcut selection are saved in the Settings before launching
the AccessibilityShortcutsTutorial. So we pass whatever are in the
Settings as what the user has selected to the tutorial.
This is not true anymore since we use the oneway AIDL call to do the
updates. The data in Settings may not yet be updated before we use it to
launch the tutorial.
Since the user preferred shortcuts are always set before we attempt to
launch the AccessibilityShortcutsTutorial, we can rely on it instead of
the Settings value to launch the AccessibilityShortcutsTutorial for the
selected shortcut options.
**Changes in this cl**
- Mechanical refactor to extract the lines to get the user preferred
shortcut into a method.
- Use the new method to grab the shortcut options to pass to the
AccessibilityShortcutsTutorial to prevent the crash.
Bug: 341176890
Test: manual
- Modify the AccessibilityManagerService locally to delay processing
the request to update the shortcut options in Settings data
- Turn on the shortcut toggle, and verify the app won't crash
Test: atest com.android.settings.accessibility
Flag: EXEMPT bugfix (low risk + mechanical refactor)
Change-Id: Id3cc4cc5f6667061545955881632544472aedd95
PackageInstaller has protected the intent action by setting
"android:priority=1".
Test: manual
Fix: 332228634
Change-Id: If0794e5957366d8b26acd0362b59c6c9076a0c4f
Flag has been in Trunkfood for over a month.
Includes one mechanical refactor to move a method from a now-removed
file into a private method in the class that uses it: createDisableDialog
(This flag guarded a preliminary cleanup and minor bug fix for
b/303511250, but the actual feature for b/303511250 is tracked in a
different flag 'skip_accessibility_warning_dialog_for_trusted_services')
Bug: 303511250
Test: existing tests in Presubmit (no change to behavior)
Change-Id: Iccf439adb2806e988310f503fb3891a6bd022054
associate with a TileService
Bug: 322712028
Test: manual (Turn on the shortcut for the first time for various
feature with or without tile. Verify only the A11yService with tile
would show QS as the shortcut when directly turn on the main shortcut
toggle)
Test: atest com.android.settings.accessibility
Flag: aconfig android.view.accessibility.a11y_qs_shortcut
Change-Id: I569b417639d2db8b7eddd818a2b9037ed4be2509
Both frameworks/base and the Settings app define almost-identical copies
of a warning dialog shown when enabling an accessibility service.
The frameworks/base version was used for contexts outside of Settings
(e.g. while editing the volume key shortcut after triggering it with
2+ features already enabled) while the Settings version was used in
the Settings app.
This change replaces version used in Settings with the version defined
in frameworks/base.
The warning dialog's functionality is tested in
AccessibilityServiceWarningTest in frameworks/base.
Feature flag:
`adb shell device_config override accessibility android.view.accessibility.deduplicate_accessibility_warning_dialog true`
Bug: 303511250
Test: atest AccessibilityServiceWarningTest
Test: existing A11ySettings robotests
Change-Id: Iad2f13040d53d82a4afb0353fae3ac355b5548d6
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
This should also address a bug where this method used to only check
class name instead of package+class.
Bug: 264307062
Test: atest ToggleAccessibilityServicePreferenceFragmentTest
Change-Id: Ia5f602c6fbc1d23c88dc3d5076c701445b692887
Root cause: The ag/19938064 introduces Settings Core change preference value changed metrics log format. It tries to lookupMetricsCategory() at Fragment#instantiate() stage. It has not onAttach() to activity by FragmentManager#add() or #replace(). The features were added by ag/15824482.
Solution: PutInt new MATRICS_CATEGORY extra in previous class to avoid giving context for FeatureFactory.getFactory to custom 1P accessibility services for SettingsGoogle overlay.
Bug: 259355675
Test: manual test
Change-Id: Ic37d41be6a54fe388f211c1c397d0b9b87b5fb56
Root Cause: ToggleFeaturePrefreferenceFragment becomes heavy when more and more features come in.
Solution: Mirgrate to DashboardFragment, a plugin-style preference controllers, can help us separate the preference and its logic into its own controller.
* This is the first step for the whole migration. Change to extend DashboardFragment and fill up the missing override functions.
* Reorder fields and functions to the recommended general approach.
Bug: 171272809
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I852091700a4b3b3c7bbdbc82f0b5dc47c087d61c
- Lowercase for one-handed mode, color correction, color inversion, extra dim in quick settings tooltips if these words are not first words.
Bug: 220655084
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityShortcutPreferenceFragmentTest ToggleFeaturePreferenceFragmentTest LaunchAccessibilityActivityPreferenceFragmentTest ToggleAccessibilityServicePreferenceFragmentTest
Change-Id: I309ca48cecb80942112c9d5adde5857c062706c8
There are 2 different kinds of auto-added / non-auto-added subtext in QS tooltips for framework features. Show animation in the settings page for full flow for non-framework services.
Bug: 218968108
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityQuickSettingsTooltipWindowTest AccessibilityShortcutPreferenceFragmentTest
Change-Id: I462cfcece959df8b9d97fab8e28337bceca9e25e
- ToggleAccessibilityServicePreferenceFragment for unbundle
accessibility service
- LaunchAccessibilityActivityPreferenceFragment for unbundle
accessibility shortcut-activity
Bug: 210356011
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityGestureNavigationTutorialTest
Change-Id: I6f9e7e206ae7642d91e658ceb18b9e7ce4244a22
- Show tooltips when main switch is on
- Reshow tooltips when rotate device
- Add abstract functions for child components to show tooltips
Bug: 210356011
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ToggleFeaturePreferenceFragmentTest
Change-Id: I543d8af7d24a9fc82659625961850f975a7a0787
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
With FDE (Full Disk Encryption), secure start-up (i.e. requiring a PIN /
pattern / password to boot the device) was incompatible with
accessibility services. Thus, the accessibility settings would ask the
user to disable secure start-up when enabling an accessibility service.
Now that FDE support has been removed in favor of FBE (File Based
Encryption), this is no longer necessary. Remove it.
Bug: 208476087
Change-Id: I5f6e512f223df63e1b4d1c181fc8b3fe683dcd5f
Uses the atom NonA11yToolServiceWarningReported in westworld to log
the accessibility privacy warning service has been disabled in
accessibility setting.
Bug: 180983963
Test: m statsd_testdrive && statsd_testdrive 384
Change-Id: I4fb23066159f3086aaaeff521f305266e58cf42d
Goal: Improve readability which is a bit difficult because of string concatenation for accurate translation.
Root cause: In some locales, framework features name would be a word rather than a product name. Hence it need to be in the different position in a sentence.
Solution: Use whole sentence to translate instead of concatenating the string could solve this issue.
Bug: 185478543
Test: Manually testing
Change-Id: I5a0f04e7ab0d7aa789e10ce6f611cde9bf3660c1
Root cause:
When Accessibility settings parse the application which is from google
play store, the settings have no check if the resource is valid before
delivery the parameter into the corresponding fragment.
Solution:
Check if the resource is valid before creating the image uri.
Bug: 190716289
Test: manual test
Change-Id: I56eba2232ddf6ed5b2e526d4698479465a012e52
- Check the states of the switch and the accessibility service.
If the states are different, update the state of accessibility
service.
Fix: 190309601
Test: robotest and test the TalkBack manually.
Change-Id: Id8c28223b1958087e7cdc481348487376afa2203
Uninstall option is visible only when the application of the
service is not system App. It provides an efficient way to
uninstall the App if users are shocked with the perimssions
they need to grant.
Bug: 176877955
Test: Install an App with AccessibilityService and uninstall
it with this option.
Change-Id: I6b60cc56d8d34c2983458a676b500035551ec9df
- Update wi-fi calling switch.
- Update the switches in Accessibility
Fix: 178673860
Fix: 177968565
Test: Run robotest and apply the widget in Settings and see the ui
Change-Id: Id10e6a110f418ea500a2eaf3c54752bef4f36507
* mUserShortcutTypesCache -> get value from savedInstanceState only
* mUserShortcutTypes -> use local variables to replace its mission
Bug: 158540780
Test: atest ToggleFeaturePreferenceFragmentTest
Change-Id: I1473f89ed743261f616e8d19733bae829c9dbb02
* Simplify StringJoiner to '+' since it only have one case
* Simplify Collections usage to use removeIf() and findFirst() directly
* Change class name SharedPreferenceUtils to PreferredShortcuts
Bug: 158540780
Test: atest ToggleFeaturePreferenceFragmentTest
Test: atest PreferredShortcutsTest
Change-Id: I02f03ccba09b6d7edaa5c0c8223ab3561a5e976b
* Show edit shortcut dialog should belong to the basic feature, so move
them back to ToggleFeaturePreferenceFragment
* Add test cases for UserShortcutType to prepare to further refactor
Bug: 158540780
Test: atest ToggleFeaturePreferenceFragmentTest
Change-Id: Ia84bea5581f85d199f395b2065652ce69738abbf
Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference
Bug: 161896447
Test: robotest & manual
Change-Id: I94969f6903d047b9bc41b1e8c14096c92c460b38