Commit Graph

16 Commits

Author SHA1 Message Date
Jason Chiu
a18f9e5014 [Safer intents] Input method
To avoid implicit intents, make intents launch explicitly.

Test: build
Bug: 323061508
Change-Id: I8d9e8e2b70c3ef913087b72800cd40e0c3df8164
2024-03-28 02:44:09 +00:00
danielwbhuang
f76c528e5b Use EXTRA_ENTRYPOINT to log entry point for metrics
1. Extra name: EXTRA_ENTRYPOINT
2. Value: integer which is from SettingsEnums.EntryPointType
// access physical keyboard settings through keyboard configured notification entry point
KEYBOARD_CONFIGURED_NOTIFICATION = 0;
// access physical keyboard settings through keyboard settings entry point
KEYBOARD_SETTINGS = 1;
// access physical keyboard settings through connected devices settings entry point
CONNECTED_DEVICES_SETTINGS = 2;

Bug: 271391879
Test: manual and check the device log.
Change-Id: I0d5144790e184eb3374d4615d8874619c372742a
2023-07-06 21:02:30 +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
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
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
jyhshiangwang
4d015b17b3 Use ListFormatter to join strings
Currently in Settings we are using R.string.join_many_items_first, R.string.join_many_items_middle and R.string.join_many_items_last to manually join strings. The join code is messy and the joined string is incorrect in some languages, so we migrate all string join to just use ListFormatter.getInstance().format().

Bug: b/78248791
Test: robotests
Change-Id: I898339978e6e2027587e28994b0280fa46821fd6
2018-05-02 11:15:32 +08:00
Fan Zhang
ee3b74a61f Create a new string for keyboard disconnected state
Change-Id: I454bbb3b8e0ee22c0f7a5a340b86dfd5607de86e
Fixes: 77957016
Test: robotests
2018-04-23 14:59:19 -07:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Yohei Yukawa
7129b374bb Reenable pre-N style hard keyboard layout settings
This CL logically reverts Settings app changes for Bug 25752812, which
aimed to improve UX by tightly integrating physical keyboard layout
with input method subtype.

What went wrong is that the concept of input method subtype is not
widely accepted by the ecosystem actually.  Until we figoure out any
other better way here, let's revert back to the good old way that
enables users to specify multiple keyboard layouts per physical
keyboard device, not one layout per one input method subtype.

Note that we cannot simply revert the CL that originally introduced
the new flow [1] because it was indeed a huge CL that also touched IME
settings, which we want to continue using.  In that sense, this CL is
a kind of re-implementation of the previous style on top of the recent
language settings flow.

Note also that a fix [2] fox Bug 25062009 was also ported from
previous InputMethodAndLanguageSetting to
KeyboardLayoutPickerFragment.

 [1]: I728d7ee185827ed328c16cb7abce244557a26518
      976bb3f459
 [2]: I4483dfc89afc8d148b2cfa7c6a5f66d2a02f712a
      17b6319884

Fix: 66498367
Test: make -j RunSettingsRoboTests
Test: Manually done with two Bluetooth keyboards
Change-Id: I7a2ed6dd39dcd8207d3d94e12cd01d5d67ba4bb5
2018-03-09 01:54:55 +00:00
Jin Dong
bdcd50328f Merge "Fix memory leak of page "Languages & input"" am: f94ff6ce6f am: 6d55e0633e
am: dd91556778

Change-Id: I5fb3f956aab62b5500bfa5d753061980371b41b5
2018-02-02 14:52:58 +00:00
Jin Dong
d39c52f99e Fix memory leak of page "Languages & input"
When enter/exit from "Languages & input" screen repeatedly, memory
leak happens since InputDeviceListener is not unregistered.

Listener registration is called in onPause() when exiting from the
screen, but new activity is created when enter the screen and the
listener registered by previous activity is not unregistered in
onResume().

Bug: 72675680
Test: Manual - Repeat enter and exit "Language & input" page for
several times and check if the count of activity doesn't increase.
Change-Id: I8e0be0ab4b1d13d53c3868b10f409d1e06387c2f
2018-01-30 10:54:00 +00:00
Ben Lin
c28b46f2ea Introduce boolean flags to show/hide items for Language & input.
This adds seven new boolean flags:
config_show_phone_language
config_show_virtual_keyboard_pref
config_show_physical_keyboard_pref
config_show_spellcheckers_settings
config_show_tts_settings_summary
config_show_pointer_speed
config_show_vibrate_input_devices

Which when individually set to false, will hide the item from "Language
& input" in System. It will also hide them from surfacing in search
results.

Bug: 62379555
Test: Individual controller tests are all updated.

Change-Id: I9ef1c3037b0bec6ffa5a627006507f4f16e534c4
2018-01-10 11:27:58 -08:00
Tony Mantler
1d583e125f Make PreferenceController a mixin
Bug: 62912136
Test: Existing tests in BaseSearchIndexProviderTest
Change-Id: Ieda359806c09a019840b2005446c7ec8b61fdb00
2017-06-26 10:58:36 -07:00
Juan Lang
777ed2535a Depend on SettingsLib's version of lifecycle and FooterMixin.
The implementations have been imported into SettingsLib. Setting's copy
can now be removed, which this change also does.

Test: Manually check battery status, which uses FooterMixin, looks OK.
make RunSettingsLibRobotTests && make RunSettingsRoboTests
     && make RunSettingsGoogleRoboTests
Change-Id: I6539605fdad80d156ff5ff249e68df4a1c412067
2017-05-12 11:10:46 -07:00
Fan Zhang
2a9255b33c Misc fixes for items under system setting
- Show summary under virtual keyboard: list all avaiable keyboards
- Set about phone subtext to device model string.
- Update DND Suggestion text

Change-Id: I20acffcf691d1354c7636f5851b376099844700f
Fix: 35959817
Fix: 36395109
Test: robotests
2017-03-25 02:43:23 +00:00