Commit Graph

81 Commits

Author SHA1 Message Date
shaoweishen
3ec1567922 [Touchpad & Mouse] Update title based on conditions
Update preference and page title based on device condition.

Bug: 364536531
Flag: NONE, bug fix for string title.
Test: verify on device
Change-Id: Id5b01680314c45f1b86661c60f9e7acedca8b6eb
2024-11-11 05:49:03 +00:00
shaoweishen
7aefcf71b6 [Physical Keyboard] Add slow keys dialog
demo: https://screenshot.googleplex.com/7CPpfHvAixe9Awr.png
Add dialog for Slow keys, which have same set up with Bounce keys.
Move dialog logic to InputSettingPreferenceController, to reuse it from
slow keys controller.

Bug: 346949547
Test: atest SettingsRoboTests
Flag: com.android.settings.keyboard.keyboard_and_touchpad_a11y_new_page_enabled

Change-Id: Ia4d74fcf3f20ed68cb252503e88d99ea79eae291
2024-10-16 09:31:06 +00:00
shaoweishen
cbe75928d9 [Physical Keyboard] Add main page for Repeat keys
Page markup: https://screenshot.googleplex.com/5xCd2wVVyXajdCB.png

Test: atest SettingsRoboTests
Bug: 345399212
Flag: com.android.input.flags.keyboard_repeat_keys
Change-Id: Ie60f4b6ea4de973644103c0aa0bcdfe9a1e758eb
2024-10-14 05:28:41 +00:00
Treehugger Robot
5a1383886e Merge "mouse: Add preference toggle for Mouse swap primary button" into main 2024-10-10 23:25:35 +00:00
Treehugger Robot
bb5896b08d Merge "Mouse: Add preference toggle for mouse reverse vertical scrolling" into main 2024-10-10 20:32:27 +00:00
Jimmy
449f4eeebc mouse: Add preference toggle for Mouse swap primary button
Bug: 359349392
Bug: 352598211
Test: Local DUT with aconfig flags enabled, verified settings
      appeared and swaps the mouse primary button

Flag: com.android.hardware.input.mouse_swap_primary_button

Change-Id: Ib762240c10e2cadcfa4a23cd78df81fcad8197dd
2024-10-09 19:30:15 +00:00
Jimmy
ff275c82aa Mouse: Add preference toggle for mouse reverse vertical scrolling
Bug: 359349392
Bug: 352598211
Test: Local DUT with aconfig flags enabled, verified settings appears
and is togglable. Verified toggle affects mouse scroll direction.

Flag: com.android.hardware.input.mouse_reverse_vertical_scrolling

Change-Id: I9620ac9bd33da7660c7a53f969426becc4f283cc
2024-10-09 19:29:10 +00:00
shaoweishen
cffb21b17f [Physical Keyboard] Add Repeat key toggle
Add repeat key toggle under Physical keybaord setting.

Bug: 345399212
Test: atest SettingsRoboTests
Flag: com.android.input.flags.keyboard_repeat_keys
Change-Id: Ib986301d108b1ad30d96d7309189e9507d38c25a
2024-10-09 14:38:55 +00:00
Shaowei Shen
f81d492243 Merge "[Physical Keyboard][A11y Page] Add Bounce keys dialog" into main 2024-10-08 07:14:03 +00:00
shaoweishen
f0a01c51dd [Physical Keyboard][A11y Page] Add Bounce keys dialog
1.Add dialog for adjust bounce key to different values.
demo video: b/346949547#comment24.
2.Update summary text.
3.When receive update from content uri, update toggle state directly.
4.Rename Controller to more suitable name.

Bug: 346949547
Test: atest SettingsRoboTests
Flag: com.android.settings.keyboard.keyboard_and_touchpad_a11y_new_page_enabled
Change-Id: I94d8d1a77528b13f59b2d67dfa30e17dd177e385
2024-10-08 03:13:40 +00:00
shaoweishen
f0b6123acc [Physical Keyboard][Setting] New pk a11y entry under a11y page
Add entry for physical keyboard a11y page under a11y setting

Bug: 345399212
Test: atest SettingsRoboTests
Flag: com.android.settings.keyboard.keyboard_and_touchpad_a11y_new_page_enabled
Change-Id: I0c59c3a9df1b5df5e22349ab3907f767682d6fb9
2024-10-04 09:06:10 +00:00
Pat Manning
753b476a39 Move pointer and touchpad customization settings to their own pages.
Bug: 269100659
Test: PointerTouchpadFragmentTest
Test: PointerTouchpadPreferenceControllerTest
Flag: android.view.flags.enable_vector_cursor_a11y_settings
Change-Id: I0dccf48f9b5416ad8e6d3c263188d4bb850f69e9
2024-09-12 10:33:40 +00:00
shaoweishen
bf4442162d [Physical Keyboard][A11y Page] Add new Keyboard A11y page
Add new Keyboard A11y page, and controled with flag.
Demo video: b/345399212#comment6

Bug: 345399212
Test: atest SettingsRoboTests
Flag: com.android.settings.keyboard.keyboard_and_touchpad_a11y_new_page_enabled
Change-Id: I4bd45ff16c8abb33e1cf56c377ea86c20195fe26
2024-09-04 10:00:52 +00:00
Pat Manning
15ed707dbc Log metrics for pointer icon settings changes.
Bug: 269100659
Test: PointerFillStylePreferenceControllerTest
Test: PointerStrokeStylePreferenceControllerTest
Test: PointerScaleSeekBarControllerTest
Flag: android.view.flags.enable_vector_cursor_a11y_settings
Change-Id: I5966abff27122269e59f20e63bd708b9739f4875
2024-07-19 14:58:16 +00:00
Pat Manning
c8c8c53760 Merge "Update Touchpad settings page to include mouse." into main 2024-07-15 10:52:10 +00:00
Pat Manning
620755c293 Add Settings for vector-specific PointerIcon stroke colors.
Bug: 305193969
Test: PointerIconLoadingTest
Flag: android.view.flags.enable_vector_cursor_a11y_settings
Change-Id: I72213e8806fed451a0edb16d497406ffae5c1a44
2024-07-11 15:40:03 +00:00
Pat Manning
1257610b0e Update Touchpad settings page to include mouse.
Make each setting conditionally available based on touchpad or mouse
connected to device.

Bug: 269100659
Test: TrackpadBottomPreferenceControllerTest
Test: TrackpadReverseScrollingPreferenceControllerTest
Test: TrackpadTapToClickPreferenceControllerTest
Test: TrackpadSettingsControllerTest
Flag: android.view.flags.enable_vector_cursor_a11y_settings
Change-Id: I601c29e20d69227779481c0a491256e36cfd268f
2024-07-11 13:32:44 +00:00
Pat Manning
d303afbbd7 Add Settings for vector-specific PointerIcon scale.
Bug: 305193969
Test: PointerScaleSeekBarControllerTest
Flag: com.android.systemui.enable_vector_cursor_a11y_settings
Change-Id: I2f344f1d5fc6d5c8eb7159570287b8ce6f9ac070
2024-06-25 13:55:59 +00:00
Edgar Wang
523d39266c Update SpellCheckerPreference layout to support divider
Bug: 246499664
Test: robotest and visual
Change-Id: I96908f4b566820b20a57e0161d74dfed2c566ea5
2023-11-22 14:59:17 +08:00
Daniel Huang
6b9d8c530f Revert "[PK settings] Remove metrics."
1. This reverts commit bdf89255a0.
2. Modify ACTION_USE_SPECIFIC_KEYBOARD to log vendor and product id.

Reason for revert: <Add metrics>
Test: atest

Change-Id: I187b990eec7dd0c0009f6c695f595d95420cb4ab
2023-11-02 17:10:21 +08:00
Edgar Wang
292f407071 Fix robo test case failed
Bug: 300134365
Test: robotest
Change-Id: I144fbbc962a479c97312cee1645c5a3d70351542
2023-09-26 15:49:40 +08:00
Eric Rahm
802b922593 Revert "Test Fix SettingRobolectricTest Fail"
This reverts commit 818f77cd1f.

Reason for revert: Underlying issue fixed in ag/23454315.

Bug: b/275023433
Test: atest SettingsGlobalRoboTests

Change-Id: I1af272efd00b3c5bd35310512f5712d5d1c7d834
2023-09-11 13:38:36 +00:00
danielwbhuang
bdf89255a0 [PK settings] Remove metrics.
Remove all metrics by the metrics concil team's comment.

Bug: 296544040
Test: manual
Change-Id: I6f5292c686d3eaac641c6e7f7631152b34a0085b
2023-08-23 21:56:25 +08:00
Rex Hoffman
3c961e1c0e Setup external/robolectric for SettingsRoboTests
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
2023-08-17 22:33:20 +00:00
Felix Stern
76707864e5 Merge "Adjusted Settings to use updated internal InputMethodManager methods" into main 2023-08-09 12:36:41 +00:00
Chaohui Wang
2541381259 Fix references to resources for Settings
Bug: 293810334
Test: m Settings
Change-Id: Ie140278f492ef7e1c062ec1ecae2866c521a86aa
2023-08-08 01:56:05 +00:00
Felix Stern
e8de480865 Adjusted Settings to use updated internal InputMethodManager methods
IMM#isStylusHandwritingAvailableAsUser, IMM#getEnabledInputMethodListAsUser, and IMM#getEnabledInputMethodSubtypeListAsUser use now UserHandle instead of userId. These internal APIs are used in Settings and are updated.

Test: atest android.view.inputmethod.cts.installtests.MultiUserTest
Fix: 283765791
Change-Id: Iedb301fbe26810f2101cbb2669b8be95b87a3e7f
2023-08-01 11:53:47 +00:00
danielwbhuang
7aaff67c3c Log metrics for PK settings topics
1. Log metrics for touchpad settings
2. Log metrics for modifier keys remapping
3. Log metrics for physical keyboard settings

Bug: 271391879
Test: manual, atest
Change-Id: I3f948927719ec6fc3dca78cdcb995c3037d8f97f
2023-06-26 16:33:10 +08:00
Vincent Wang
818f77cd1f Test Fix SettingRobolectricTest Fail
Bug: b/275023433
Test: NA
Change-Id: If2dcb8f6c196327129ccc9375b190e394c994efa
2023-05-09 06:26:39 +00:00
danielwbhuang
0b79c92348 [Fixed] Reverse scrolling setting is reversed
If useTouchpadNaturalScrolling is false, "Reverse scrolling" should be on.

[The API value]
useTouchpadNaturalScrolling: false

[The expected UX behavior]
Reverse scrolling: on
fingers upward, scroll up, content moves down

The description of "useTouchpadNaturalScrolling":
Returns true if moving two fingers upwards on the touchpad should scroll down, which is known as natural scrolling.

The description of "Reverse scrolling":
Content moves up when you scroll down.

Bug: 280047007
Test: manual and passed atest TrackpadReverseScrollingPreferenceControllerTest
Change-Id: Ia5e30fa14b599ddcffae99005114f10412ccad3c
2023-05-03 23:59:55 +08:00
Wilson Wu
ce7ad1f8a0 Merge "Fix wrong user in personal profile" into udc-dev 2023-03-31 09:56:56 +00:00
Wilson Wu
a7620427b5 Fix wrong user in personal profile
If the user is profile, it should use the current
user's profile parent to create the context instead
of always using the primary user(system user).

Bug: 264867495
Test: Manual test with work profile enabled, multi user flow, etc
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableVirtualKeyboardFragmentTest
Change-Id: I66d1462441359c40dda2a38c7534500791db9c83
2023-03-29 17:36:34 +08:00
danielwbhuang
cc749159df Open the settings page for a specific physical keyboard
1. Check open from a notification
2. Check open from Bluetooth entry
3. If the inputDeviceIdentifier is not null, open the next page
   directly.
4. Add extra to record the class of sender for the future metrics.

Demo: http://screencast/cast/NDU4MTYxOTIzMTg4MzI2NHxiYTQ0ODE5Ny02YQ

Bug: 269212353
Test: manual, atest
[Pass] atest KeyboardSettingsPreferenceControllerTest
[Pass] atest PhysicalKeyboardPreferenceControllerTest

Change-Id: Ie874003260896bbb949806623913e70486e4731d
2023-03-28 14:15:08 +00:00
Lifu Tang
caa1b51ef2 Revert "Remove duplicate strings."
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
2023-03-15 22:39:24 +00:00
danielwbhuang
cf4be05b64 Update KeyboardLayoutPickerControllerTest
The logic is changed, so we need to update the test. (https://screenshot.googleplex.com/AnrJgmGfK2fPxmQ.png)

Bug: 270109384
Test: atest KeyboardLayoutPickerControllerTest
[1/8] com.android.settings.inputmethod.KeyboardLayoutPickerControllerTest#isAlwaysAvailable: PASSED (5.876s)
[2/8] com.android.settings.inputmethod.KeyboardLayoutPickerControllerTest#test_createPreferenceHierarchy_shouldAddTwoPreference: PASSED (192ms)
[3/8] com.android.settings.inputmethod.KeyboardLayoutPickerControllerTest#testOnDeviceRemove_getSameDevice_shouldFinish: PASSED (5.797s)
[4/8] com.android.settings.inputmethod.KeyboardLayoutPickerControllerTest#testLifecycle_onStart_shouldRegisterInputManager: PASSED (1.495s)
[5/8] com.android.settings.inputmethod.KeyboardLayoutPickerControllerTest#test_createPreferenceHierarchy_shouldAddOnePreference: PASSED (75ms)
[6/8] com.android.settings.inputmethod.KeyboardLayoutPickerControllerTest#testOnDeviceRemove_getDifferentDevice_shouldNotFinish: PASSED (366ms)
[7/8] com.android.settings.inputmethod.KeyboardLayoutPickerControllerTest#testLifecycle_onStop_shouldCancelRegisterInputManager: PASSED (65ms)
[8/8] com.android.settings.inputmethod.KeyboardLayoutPickerControllerTest#testLifecycle_onStart_NoInputDevice_shouldReturn: PASSED (309ms)

Change-Id: I018873cba9e73c6d684d828858cc1b08d3f2f7f9
2023-03-07 16:31:15 +08:00
danielwbhuang
1f3261467d Set preference visible to false when there is no keyboard.
1. Physical keyboard settings should only show up if at least one PK is connected.
2. Update tests.
3. Fix NullPointerException.

Bug: 269983475
Bug: 270109384
Bug: 271357910
Test: atest and manual
Change-Id: If7798587fb386dbf669fc249cab304d91a26879b
2023-03-03 18:16:55 +08:00
Josep del Rio
8411d1c663 Use InputSettings in Settings app
At the moment the settings app will make use of certain exposed
functions in InputManager that are being moved to a separate
class. This CL migrates those usages to the new internal API.

Bug: 267758905
Test: compiles, and should pass presubmit
Change-Id: I30dcb83aa1cc8830650fe856775a462ed37c2dda
2023-02-10 16:37:49 +00:00
danielwbhuang
6007a4bc0c Add Trackpad settings tests
1. TrackpadBottomPreferenceControllerTest
2. TrackpadPointerSpeedPreferenceControllerTest
3. TrackpadReverseScrollingPreferenceControllerTest
4. TrackpadTapToClickPreferenceControllerTest

Bug: 247080509
Test: manual, make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.inputmethod.*"
Change-Id: I61d6dd9bb807ec636e4103efc5b9ccc28d5bc2c1
2023-02-01 14:37:04 +08:00
Daniel Huang
aa88bca296 Merge "Integrate UI with APIs for trackpad settgins." 2023-01-12 05:33:48 +00:00
danielwbhuang
6125f9a9fa Integrate UI with APIs for trackpad settgins.
1. Integrate with trackpad settings dummy APIs.
2. Integrate with trackpad gesture APIs.

Bug: 247080509
Test: manual, make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.inputmethod.*"
Change-Id: Ic180e28896bb0a5aa71eb0eb63d3824bd342ff45
2023-01-11 22:42:15 +08:00
jasonwshsu
829a671265 Fix preferences under Related category can not launch its own page in bluetooth device details page
Root Cause: KeyboardSettingsPreferenceController override
handlePreferenceTreeClick() without checking the preference key, it will lead to handle all preferences' click action.

Solution: Check the preference is the expected preference key

Bug: 264017256
Test: make RunSettingsRoboTests ROBOTEST_FILTER=KeyboardSettingsPreferenceControllerTest
Change-Id: Idcdadc323df5b758b4b21329227e2bb721b1c394
2023-01-05 10:48:55 +00:00
Vaibhav Devmurari
aa3ec01f9f Change keyboard layout parameters to include Layout type.
Test: atest KeyboardLayoutPickerControllerTest
Bug: 259530132
Change-Id: I112d2c25ca5eeacee445e247bf40a57d358e7f42
2022-12-21 00:32:21 +00:00
Kweku Adams
5949fccc7a Remove duplicate strings.
"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
2022-08-26 00:07:08 +00:00
Jonathan Scott
b7f4f56cad Add missing settings strings.
Also re-enable and fix tests.

Test: manual
Fixes: 226183482
Fixes: 218799125
Fixes: 219375624

Change-Id: I9605f1f4e2e834baf63e015e96639567c5481b5f
2022-05-05 09:12:59 +00:00
Wilson Wu
ddb5147649 Fix NPE if keyboard settings is launched by work apps
IME apps can request users to enable them by directly
launching the on-screen keyboard settings page.

If keyboard settings is launched by works apps, the
current userId would be work userId. There is no managed
profile for work user so the exception happened.

-. Use current userId if it's launched by work user
-. Use primary user info for personal fragment

Fix: 216395439
Test: Manual test with issue steps
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableVirtualKeyboardFragmentTest
Change-Id: Iea573922ee789d9932c0de05bf71179c4f005eeb
2022-02-10 15:13:26 +08:00
Wilson Wu
56d8703fcb Introduce AvailableVirtualKeyboardFragmentTest
Add a test for AvailableVirtualKeyboardFragment

Fix: 207452897
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableVirtualKeyboardFragmentTest
Change-Id: I83d30ae9d085c2b90fd16e5f6c4100bb82b6b588
2022-01-25 14:29:24 +08:00
Wilson Wu
bc72945561 Use AvailableVirtualKeyboardFragment for IME settings
CL[1] make InputMethodPreference support:
-. Tap to corresponding IMEs settings
-. Using switch to enable/disble IMEs

Using AvailableVirtualKeyboardFragment for
language and input settings entries and
remove unused files.

[1]: I445551e4112117aabd8d7a48f53c29b7ffd8bafd

Bug: 197705032
Test: Manually test settings keyboard flow, test video in bug
Change-Id: I4d74df7d2dda71661e3298c7070459885aa308cb
2021-09-15 18:10:47 +08:00
Raff Tsai
74942cee5e Migrate VirtualKeyboardFragment to DashboardFragment
Fixes: 134451794
Test: robolectric
Change-Id: I2a40090178b3daea894bdad570549c7bfa34e4e6
2019-06-13 15:17:00 +08:00
Fan Zhang
9859b8b0b0 Fix failing robotest
Fixes: 124531152
Test: robotests
Change-Id: I4442ae543b062ef17b4bfd828134ede879d2b22d
2019-02-15 16:15:39 -08:00
James Lemieux
f1dade40d2 Use binary resource support in robolectric
The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
2018-12-12 19:53:49 -08:00