Commit Graph

212 Commits

Author SHA1 Message Date
jasonwshsu
15df635dd6 Fix accessibility settings page did not update the preference state
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
2021-04-20 23:13:23 +08:00
ryanlwlin
8e5e4dec12 Extract the logic of MagnificationMode to the controller
To move the preference to the upper layer, we extract all logics
to its controller.

We move all tests to the test files and add server tests to
verify the behaviour of edit shortcut dialog.

Bug: 182992338
Test: atest  MagnificationModePreferenceControllerTest

Change-Id: I34c4361e2e116a22c3e34bd35c8ac8cac752ab96
2021-04-15 18:41:44 +08:00
sallyyuen
fefb447526 Call ColorDisplayManager for Extra Dim/RBC state
- Move junit test into unit test folder
- Settings resources ids are different from the junit test ids
so we need to find the correct resource id
- ColorDisplayManager will not update in time before the controller
is checked, and it can't be mocked since it's a final class
Bug: 170970675
Test: manual, atest ReduceBrightColorsPreferenceControllerTest

Change-Id: I57bfdd8294c5b6e147b4e11ae97b6b56f6121343
2021-04-13 17:42:25 -07:00
sallyyuen
166c89890e [Reduce Bright Colors] Use a switch preference
Test: atest ReduceBrightColorsPreferenceControllerTest, manual
Bug: 128465252
Change-Id: I824af24e545d38bad74613147328cf51108a9127
2021-04-05 16:14:59 +00:00
jasonwshsu
6e33293fa3 Remove unused code
* isColorTransformAccelerated() already moved to ColorDisplayManager
* TurnScreenDarker fragment already moved to top level accessibility settings or TextAndDisplay fragment

Bug: 174829936
Test: manual test
Change-Id: I34ec6947129a5042d573e94eabe3c24c2fe761b5
2021-04-01 09:41:11 +00:00
sallyyuen
cd09b3a571 Update Reduce Bright Colors preference string
Test: manual, atest ReduceBrightColorsPreferenceControllerTest
Bug: 182116724
Change-Id: Ifde343aad7c6931efd083a1c728a2504b74f089f
2021-03-24 09:54:57 -07:00
ryanlwlin
0272002335 Change Magnification Mode Settings UI
To support new settings UI, we change the UI from scrollview
to listview to simplify UI initialization.

Bug: 182118397
Test: atest MagnificationSettingsFragmentTest
      and manual test.
Change-Id: Ib65dc139ba54f2281e5cb7e2dc55b3574ad2c733
2021-03-19 18:24:26 +08:00
jasonwshsu
9a5925c471 Remove half circle option in size selector
Half circle accessibility floating menu mode changed to be triggered from gesture.

cherry picked from commit c2057ae257

Bug: 173940869
Test: atest FloatingMenuSizePreferenceControllerTest
Change-Id: I123baaf3684d5cbb0a33fc2383da72aa022876c0
Merged-In: I123baaf3684d5cbb0a33fc2383da72aa022876c0
2021-03-17 23:05:37 +08:00
jasonwshsu
648811b2b4 Add the preference controller to control accessibility button fade preference
* Opacity preference will be disabled when fade is disabled

cherry picked from commit f9fdedaafe

Bug: 173940869
Test: atest AccessibilityButtonFadePreferenceControllerTest AccessibilityButtonOactiyPreferenceControllerTest
Change-Id: I1efd9760aa0287899cddd10ddd9a88a81ccc39ba
Merged-In: I1efd9760aa0287899cddd10ddd9a88a81ccc39ba
2021-03-17 23:01:36 +08:00
jasonwshsu
eb2411db9d Add the preference controller to control accessibility button preview preference
* Create FloatingMenuLayerDrawable class to handle the preview layer drawable

cherry picked from commit 603014760f

Bug: 173940869
Test: atest AccessibilityButtonPreviewPreferenceControllerTest FloatingMenuLayerDrawableTest
Change-Id: Ia3d030547b377e87c505b2310f559f7f3876ecd5
Merged-In: Ia3d030547b377e87c505b2310f559f7f3876ecd5
2021-03-17 23:00:39 +08:00
jasonwshsu
c72fe39597 Add the preference controller to control accessibility button opacity preference
cherry picked from commit c497c7aabe

Bug: 173940869
Test: atest FloatingMenuOpacityPreferenceControllerTest
Change-Id: I1fbe3157c93fef4611c3b9b13569c9b339e2898a
Merged-In: I1fbe3157c93fef4611c3b9b13569c9b339e2898a
2021-03-17 22:59:03 +08:00
jasonwshsu
0377025554 Add the preference controller to control accessibility button size preference
cherry picked from commit 04955b96ae

Bug: 173940869
Test: atest FloatingMenuSizePreferenceControllerTest
Change-Id: Ic206a940abde90641442df37a634c8cb3a345597
Merged-In: Ic206a940abde90641442df37a634c8cb3a345597
2021-03-17 22:57:50 +08:00
jasonwshsu
2dc32f63f8 Add the preference controller to control accessibility button location preference
cherry picked from commit 123464429d

Bug: 173940869
Test: atest AccessibilityButtonLocationPreferenceControllerTest
Change-Id: I49a23b2eb4e07e79afcefc5a148c23b06396ec1c
Merged-In: I49a23b2eb4e07e79afcefc5a148c23b06396ec1c
2021-03-17 22:57:05 +08:00
jasonwshsu
03dbb40d2b Setup basic layout and resources for the accessibility button settings page
cherry picked from commit 93ef33655c

Bug: 173940869
Test: atest AccessibilityButtonFragmentTest
Change-Id: I3f1d8b161d1baadeead36f49f18f00a91fd40b4c
Merged-In: I3f1d8b161d1baadeead36f49f18f00a91fd40b4c
2021-03-17 22:55:47 +08:00
mincheli
3d41fe560b Hides the settings entry in Magnification Settings if device is not supported
If the device doesn't support magnification area, we should hide the
settings entry in mangification settings

Bug: 177371954
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
Change-Id: I41fc3177f86c6a19e3ef0d2fbe5e052d77c1cb47
2021-03-02 06:56:59 +00:00
Ben Chung
359665c3b0 Add turn screen darker fragment in a11y settings text and display
Accessibility settings category restructure, add turn screen darker
fragment for related accessibility services.

Bug: 174829936
Test: atest TurnScreenDarkerFragmentTest, atest AccessibilitySettingsTest
Change-Id: I8aef7a0b5a6d407813aadb22d7ade5103533efa4
2021-02-08 06:12:30 +00:00
Ben Chung
e66e641980 Add accessibility shortcuts fragment in a11y settings
Accessibility settings category restructure, add accessibility shortcuts
fragment for related accessibility services.

Bug: 174829936
Test: atest AccessibilityShortcutsFragmentTest, atest AccessibilitySettingsTest
Change-Id: I9706906863872bc60d31eae54bbf3a35d70e812e
2021-02-05 07:30:49 +00:00
Ben Chung
b6e03f21b9 Add audio adjustment fragment in a11y settings
Accessibility settings audio and on-screen text category restructure,
add audio adjustment fragment for related accessibility services.

Bug: 174829936
Test: atest AudioAdjustmentFragmentTest, atest AccessibilitySettingsTest
Change-Id: I8b4397d042a0e7ce1242f95319a6a25cc45f38bb
2021-01-15 06:20:18 +00:00
Ben Chung
29ace16b35 Accessibility settings interaction controls category restructure, add system controls fragment for related accessibility services.
Bug: 174829936
Test: atest SystemControlsFragmentTest, atest AccessibilitySettingsTest
Change-Id: I609207c8c7bf0e5cb4beda0d5c578669bcd005a4
2021-01-13 16:29:44 +08:00
Ben Chung
dfe1977044 Accessibility settings interaction controls category restructure, add tap assistance fragment for related accessibility services.
Bug: 174829936
Test: atest TapAssistanceFragmentTest, atest AccessibilitySettingsTest
Change-Id: I39c4eba8ec807248eb11371fab2466cf7d7553ef
2021-01-11 17:21:14 +08:00
PETER LIANG
90c976b8c0 Merge "Add test cases for ToggleAutoclickCustomSeekbarController." 2021-01-11 07:34:21 +00:00
Jason Hsu
606e8b1f88 Merge "Fix crash when rotating the device on magnification mode dialog" 2021-01-08 13:13:28 +00:00
jasonwshsu
bab448a610 Fix crash when rotating the device on magnification mode dialog
Root Cause:
1. onActivityCreated() has been deprecated
2. mCapabilities will be 0 when updateAlertDialogEnableState(),
   because onCreateDialog() will get mCapabilities
   but it will be called after onCreate() and before onCreateView();
   onActivityCreated() will set mCapabilities but it will be called after onCreateView()

Solution:
Move deprecated flow onActivityCreated() into onCreate() to set mCapabilities first

Bug: 172171402
Bug: 168567356
Test: atest MagnificationSettingsFragmentTest
Change-Id: Id9f861d59fa23f5cb77aac55b87152e921246135
2021-01-08 02:04:47 +08:00
Peter_Liang
34829bdcbc Add test cases for ToggleAutoclickCustomSeekbarController.
Bug: 168567356
Test: atest ToggleAutoclickCustomSeekbarControllerTest

Change-Id: Ie69b8788482ecaddadb31b0339d3175a26881ed8
2021-01-07 11:50:58 +08:00
Ben Chung
cfedc19ab9 Merge "Accessibility settings display category restructure, add text and display fragment for related accessibility services." 2021-01-07 01:28:17 +00:00
PETER LIANG
bed8dee669 Merge "Add test cases for RingVibrationIntensityPreferenceController." 2021-01-06 15:57:11 +00:00
Ben Chung
3e2e4407cf Accessibility settings display category restructure, add text and display fragment for related accessibility services.
Bug: 174829936
Test: atest TextAndDisplayFragmentTest, atest AccessibilitySettingsTest
Change-Id: Ie2cf147de53385ae0c626c8472306f1b85317686
2021-01-06 18:26:43 +08:00
Peter_Liang
2bdeb66ae1 Add test cases for RingVibrationIntensityPreferenceController.
Bug: 168567356
Test: atest RingVibrationIntensityPreferenceControllerTest
Change-Id: I8a719c0bec3b77230c4a6747e78e641a5151e975
2021-01-06 16:48:04 +08:00
Jason Hsu
2e01c93c45 Merge "Extract magnification capabilities from MagnificationSettingsFragment into a new class." 2020-12-31 09:04:14 +00:00
jasonwshsu
f30eded170 Extract magnification capabilities from MagnificationSettingsFragment into a new class.
* To increase single responsibility of MagnificationSettingsFragment

Bug: 168567356
Test: atest MagnificationCapabilitiesTest
Change-Id: Ic5e8a556858ac2b6ab9929b1bbdc373ce320c270
2020-12-30 19:40:43 +08:00
TreeHugger Robot
c0cbcb9f04 Merge "Add test cases for ToggleAutoclickPreferenceController." 2020-12-29 15:20:02 +00:00
Peter_Liang
c7c1e7d442 Add test cases for ToggleAutoclickPreferenceController.
Bug: 168567356
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=ToggleAutoclickPreferenceControllerTest

Change-Id: I4ea1089ddc9aad8748b950c38617533dc1d5cb02
2020-12-29 21:41:14 +08:00
Peter_Liang
5bd435e6c4 Rename and add test cases for video player in accessibility.
Bug: 168567356
Test: make RunSettingsRoboTests ROBOTEST_FILTER=VideoPlayerTest

Change-Id: I2ea415b06d2870f55650290f48dd9b2998ef608d
2020-12-28 22:39:03 +08:00
Arc Wang
62c78ff3fa Migrate robolectric tests to junit tests
This change do the 2 things:

1. Add new junit tests files which replace robolectric
   RobolectricTestRunner & RuntimeEnvironment with
   AndroidX objects without problem.
2. Remove the robolectric test files which have it's new junit files.

This change migrate 103 files, there are still 1209
files to go.

Bug: 174728471
Test: atest
      make RunSettingsRoboTests
Change-Id: I15ed3f4745b85862f720aabbf710ce1475aced93
2020-12-16 11:17:57 +08:00
John Li
ad0e3d3f71 Add haptic effect for the seekbar in Settings 2/n.
- for Audio balance, perform haptic feedback as the seekbar's progress value is the center/min/max value.
- screenshot, https://screenshot.googleplex.com/3xJUJkvJuXTUCqe

Bug: 174109628
Test: make -j42 RunSettingsRoboTests ROBOTEST_FILTER=BalanceSeekBarTest
Change-Id: I8b4ab37a2e635fb3b1ca2a9277a06b1e83f81bbb
2020-12-01 01:18:57 +00:00
Sally Yuen
67a9908db4 Merge "Change on/off values for Force Bold Text" 2020-11-16 16:55:48 +00:00
Sally
12f2d67fea Change on/off values for Force Bold Text
Use On = 300 and Off = 0. Rename setting.

Bug: b/170966021, b/110991537
Test: builds and toggle works, atest
FontWeightAdjustmentPreferenceControllerTest

Change-Id: Icf5d15fc26266578ad78bae5b6f80d193e63c82d
2020-11-11 17:25:47 +00:00
Ryan Lin
58d8cff28b Merge "Provide a way to Magnification settings via intent" 2020-11-10 11:22:03 +00:00
ryanlwlin
7deda6a901 Provide a way to Magnification settings via intent
Framework needs a way to launch magnification settings.

bug: 168635084
Test: adb shell am start -a \
     "android.settings.ACCESSIBILITY_DETAILS_SETTINGS"  \
     --es android.intent.extra.COMPONENT_NAME  \
     "com.android.server.accessibility/Magnification"
     AccessibilityDetailsSettingsFragmentTest
Change-Id: Iafb5ad4802a52e4bf3c443af99cd27ef0da0ea29
2020-11-10 13:58:00 +08:00
Jason Hsu
2b63def185 Merge changes from topic "redesignVariablesRole"
* changes:
  Apply the new design of mUserShortcutTypesCache & mUserShortcutTypes in Magnification
  Redesign roles of variable mUserShortcutTypesCache & mUserShortcutTypes
2020-11-05 10:33:23 +00:00
jasonwshsu
ba7b4bb727 Apply the new design of mUserShortcutTypesCache & mUserShortcutTypes in Magnification
Bug: 158540780
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
Change-Id: I941a6e571a5a70f27032b82fcdc00f43b672168f
2020-11-05 14:24:15 +08:00
jasonwshsu
9f54ab9afa Redesign roles of variable mUserShortcutTypesCache & mUserShortcutTypes
* mUserShortcutTypesCache -> get value from savedInstanceState only
* mUserShortcutTypes -> use local variables to replace its mission

Bug: 158540780
Test: atest ToggleFeaturePreferenceFragmentTest
Change-Id: I1473f89ed743261f616e8d19733bae829c9dbb02
2020-11-05 14:24:09 +08:00
Sally
b9ff672a31 Add a setting page for Reduce Bright Colors under A11y
This is essentially a copy page of ToggleDaltonizerPreferenceFragment.
We extend ToggleFeaturePreferenceFragment to maintain consistency with
other shortcut assignable a11y feature.

UI is a draft

This CL:
1) allows users to enabled/disable RBC with the a11y shortcut (button,
gestures, volume keys), if assigned
2) adds a slider and persist switch to the template
ToggleFeaturePreferenceFragment page (which already contains a feature
switch, shortcut preference, and footer description)
3) enables/disables the intensity slider when RBC is on/off
4) sets placeholders for calling into ColorDisplayService in
controllers and tests
5) follows convention set by other color transformations settings and
places feature under Experimental section in A11y settings page if
transformations can't be efficiently performed by hardware

Test: A11y setting and page appears, tested activation with shortcut,
preference controller tests
Bug: b/128465252

Change-Id: I291bb86ce3d855ce052ca70dc7a941a888e2c723
2020-10-21 23:08:53 +00:00
Sally Yuen
80c5b8ffe3 Merge "Add Bold Text to Accessibility settings screen" 2020-10-14 16:08:13 +00:00
Sally
904a8fa369 Add Bold Text to Accessibility settings screen
Bug: b/110991537
Test: setting appears, atest ForceBoldTextPreferenceControllerTest
Change-Id: I001b078cafd2b6da62929ffa1a7a09ddb28c9854
2020-10-13 16:57:00 +00:00
jasonwshsu
48b546eccf Extract UserShortcutType functions from ToggleFeaturePreferenceFragment
* 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
2020-10-09 00:34:04 +00:00
jasonwshsu
26f1b5f65c Add data class PreferredShortcut to replace inner class UserShortcutType
* Add basic function equals(), hashcode() into data class
* Change flatternToString() to toString()
* Change constructor to fromString(flatternToString)

Bug: 158540780
Test: atest PreferredShortcutTest
Change-Id: I0ee46dd940d22ff9f168b95fe75d9cff2f0fddfb
2020-10-08 10:53:48 +00:00
Alexander Dorokhine
7aadf2da70 Merge "Migrate away from deprecated Truth APIs." 2020-10-06 07:06:00 +00:00
Peter_Liang
7f0919aebe Add test cases for legacy components.
Bug: 168567356
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ColorPreferenceTest
&& make RunSettingsRoboTests ROBOTEST_FILTER=EdgeTypePreferenceTest

Change-Id: I7ffc0561c6124050fe8c37007e547facdf8ab278
2020-10-05 10:22:37 +08:00
PETER LIANG
24e31fa068 Merge "Add test cases for legacy components." 2020-09-26 09:22:01 +00:00