Commit Graph

282 Commits

Author SHA1 Message Date
Doris Ling
d299b03f28 Remove old code relating to SystemSettings not used in new IA.
- remove activity alias: DevelopmentSettingsDashboardAlias,
DateTimeDashboardAlias, AboutDeviceDashboardAlias,
BackupResetDashboardAlias, EnterprisePrivacyDashboardAlias, and
AccessibilityDashboardAlias and updated the corresponding target
activities with the alias metadata.

- remove InputMethodAndLanguageSettingsActivity and
GestureSettingsActivity and the associated xml.

Bug: 35764802
Test: make RunSettingsRoboTests
Change-Id: I7d4922f8dfaac40e8ad077a68008185cd9fe3304
2017-02-28 17:46:24 -08:00
Tony Mantler
4d27b2ce5b Move InputMethodAndSubtypeEnabler to SettingsLib and port to TV
Bug: 35315463
Test: adb shell am start -a android.settings.INPUT_METHOD_SUBTYPE_SETTINGS
Change-Id: I17e6e64ff2c01577d4036bccafe7d0b4ad1d5ca5
2017-02-17 14:04:40 -08:00
Doris Ling
34cfd2e24f Combine Language & region and Input & gestures in System settings.
Merge preferences into one page, and update test.

Bug: 34976047
Test: make RunSettingsRoboTests
Change-Id: I5f15192e42f6054c02d4c8ffa9f25db3075da409
2017-02-06 11:46:48 -08:00
Fan Zhang
7e6df837ee Remove getCategoryKey() from DashboardFragment children.
Use the centralized registry to look up category key instead.

Bug: 32936784
Test: make RunSettingsRoboTests -j40
Change-Id: I0b8c72d70f93e4b5c58871ac90de41f69ad15653
2017-01-24 14:51:15 -08:00
Fan Zhang
f10a5a22d0 Index input & gesture settings page.
Test: make RunSettingsRoboTests -j40
Change-Id: Ifbd68d596838b05e47d228396f266316b90a0f27
2017-01-20 11:10:07 -08:00
Tadashi G. Takaoka
0166269dda Merge "Move IME related seach landing pages to its fragments" 2017-01-12 03:51:56 +00:00
Tadashi G. Takaoka
73038da358 Merge "Move physical keyboard search landing page to its Fragment" 2017-01-12 03:51:31 +00:00
Tadashi G. Takaoka
e776821a8d Move IME related seach landing pages to its fragments
This CL moves the code building index of IMEs from
InputMethodAndLanguageSettings to VirtualKeyboardFragment and
AvailableVirtualKeyboardFragment, so that a search landing page of IME
becomes one of the fragment correctly depending on the IME state.

Bug: 32643633
Test: Manually installing/uninstalling AOSP LatinIME.apk while
      Settings app is/isn't running, then search AOSP and verify the
      landing page is correctly determined by the IME's enable state.
Test: Update robolectric DynamicIndexableContentMonitorTest
Change-Id: Ie44f358c2d3919fc864f4f88e6229293113823dd
2017-01-10 17:07:50 +09:00
Tadashi G. Takaoka
7bbc632bfb Move physical keyboard search landing page to its Fragment
This CL moves the code building index of physical keyboards from
InputMethodAndLanguageSettings to PhysicalKeyboardFragment, so that a
search landing page becomes PhysicalKeyboardFragment as expected.

Bug: 32643633
Test: Connecting/Disconnecting Anker bluetooth keyboard while Settings
      app is/isn't running, the search Anker and verify landing page
      is PhysicalKeyboardFragment.
Test: Update robolectric DynamicIndexableContentMonitorTest.

Change-Id: I51f308ada74966a96c258f8ef50a9b4fc7bc6635
2017-01-10 15:56:45 +09:00
Fan Zhang
ffd328b071 Misc fixes for IA and pattern.
Disable NFC fragments when feature is not avaiable
Link to spell checker screen with the pref is clicked
Tint "add"/"delete" button in UserDictionary actionbar to proper color.

Change-Id: I8a8e219ce3dbbafc6c4d5a0f34f835ffd0abad4f
Fix: 34155679
Fix: 34161006
Fix: 34154795
Test: RunSettingsRoboTests
2017-01-09 10:58:44 -08:00
Tadashi G. Takaoka
a034fa5407 Refactor DynamicIndexableContentMonitor
Refactor content monitoring code into a few singletons to keep alive
while Settings app is running.

Bug: 32995210
Test: Manually installing/uninstalling AOSP LatinIME.apk while
      Settings app is/isn't running, then search AOSP.
Test: Connecting/Disconnecting Anker bluetooth keyboard while Settings
      app is/isn't running, then search Anker.
Test: Added Robolectric test for DynamicIndexableContentMonitor.
Change-Id: I588e33be169fc9677d41c3daa59ab400f04f6419
2016-12-22 17:53:07 +09:00
Fan Zhang
8f057ca3d4 Use MetricsEvent to log page views for new IA pages.
Bug: 33812754
Test: RunSettingsRoboTests
Change-Id: Ib49daa1078df44f50ecfa351c061d36849708fd7
2016-12-21 12:12:32 -08:00
Fan Zhang
9b6f181340 Remove no-op handlePerferenceTreeClick from PrefControllers
Bug: 33429853
Test: RunSettingsRoboTests
Change-Id: I5633953e3d7b07f9006e541b96a24a2a769e2686
2016-12-07 15:34:31 -08:00
Fan Zhang
2d0b344736 Add InstrumentFragment for non-PreferenceFragment types.
This allows app fragment use a less heavyweight fragment as super class
if they don't need PreferenceFragment. Using this class as base is
generally easier to set up robolectric tests too.

Bug: 33354536
Test: RunSettingsRoboTests
Change-Id: I91c4d242ea0333c76c8767c03c3f18dee6b6e104
2016-12-05 17:13:33 -08:00
Sudheer Shanka
acb1a61f3f Update usage of ActivityManagerNative.
Bug: 30977067
Test: N/A
Change-Id: I46e37a09cff059d2784a819bc2651d6973fbd268
2016-11-14 12:59:11 -08:00
Fan Zhang
33b0d91d74 Add video to each gesture preference screen.
- Refactor GesturePreference to a generic VideoPreference.
- The old video_preference.xml is only for magnification video, so
  renamed.
- And use VideoPreference in gesture setting pages.
- Refactor common logic into GesturePreferenceController.

Bug: 32637613
Test: RunSettingsRoboTests

Change-Id: I58580b01a32873cb32c5dc5bf2ec021d5b1400cc
2016-11-10 15:24:45 -08:00
TreeHugger Robot
2c61018618 Merge "Add more gesture setting pages." 2016-11-09 21:13:02 +00:00
Fan Zhang
b99ea90046 Add more gesture setting pages.
Bug: 32637613
Test: make -j40 RunSettingsRoboTests
Change-Id: I77f90b8b7e3348ed717ee78693860f48e13070f2
2016-11-09 11:31:10 -08:00
Tamas Berghammer
29147e5fbc Merge "Update package names to work with the proto3 compiler" 2016-11-09 13:38:53 +00:00
Fan Zhang
b52c50d01d Add setting page for swipe to notification.
In this change input & gesture page added 5 separate gesture
preferences, each should lead to a new page to set gesture setting. For
now only swipe to notification preference is wired up. Will implement
the rest in later changes.

Bug: 32637613
Test: make RunSettingsRoboTests -j40
Change-Id: I57ceea8fcd85f3a0ab59cbd12da50b7138f5ca0c
2016-11-08 13:29:35 -08:00
Tamas Berghammer
265d3c2a0c Update package names to work with the proto3 compiler
Bug: b/28974522
Change-Id: I5f3adf4946ee4ba1e09e4f40afe83c151405972a
2016-11-08 14:06:17 +00:00
Fan Zhang
a1d1d67ce3 Add Input & Gesture/Language & Region pages under System.
- Removed LanguageAndInputDashboardAlias because now the contents are
  moved to new pages.

Bug: 32637613
Bug: 32643833
Test: RunSettingsRoboTests
Change-Id: Ia66a942a449a07b9cbba53bdc97738148aafadb4
2016-11-07 17:05:22 -08:00
Fan Zhang
22d42d52cf Refactor IMEAndLanguageSettings to use PreferenceController
Bug: 32642706
Bug: 32637613
Bug: 32643833
Test: RunSettingsRoboTests

This change is necessary to test preference controlling logic, as well
as making preferences reusable in other Preference pages in the new
information architecture.

Change-Id: I9e2fd2f6800579f005a5c303ed03ae06477006a6
2016-11-07 15:29:04 -08:00
Fan Zhang
e185c5cc19 Merge "Remove logic of calling InputMethodAndSubtypeUtil." 2016-11-07 18:18:41 +00:00
Fan Zhang
25cd53f0a9 Remove logic of calling InputMethodAndSubtypeUtil.
InputMethodAndLanguageSettings calls InputMethodAndSubtypeUtil for no
good reason. The page does not display or provide ways to change IMEs.
The virtualKeyboardFragment does, and it already contains logic for
refreshing InputMethodAndSubtypeUtil.

Bug: 32642706
Test: Compiles
Change-Id: Icdbf9cd2fa95ba3037c1e47d62c7514376cf8037
2016-11-04 14:51:53 -07:00
Fan Zhang
aceee52a8b Remove dead code KeyboardLayoutPickerFragment.
Bug: 32642706
Test: compiles
Change-Id: I02b7abed470a813bff13fe9d71fcf870a47de6b3
2016-11-04 14:22:41 -07:00
Fan Zhang
cdaf4f7970 More cleanup in input & language settings.
- Removed unused preferences that are commented out in pref xml.
- Also removed code that references to them in Fragment.

Bug: 32637613
Test: compile/manual
Change-Id: I84be24f9c5df7531843f03b047a93f9aa912432e
2016-11-03 16:08:13 -07:00
Fan Zhang
46debf8256 Remove logic for select input method preference.
- The prefrence is not used in code according to comment, and it's not
  defined in xml. So this chunk of code is redundant and should be
  removed.

Bug: 32642706
Test: compiles, and manually navigate to fragment.
Change-Id: Iac38632d090c635f324bc4eed8e1c41300ddb08e
2016-11-03 15:38:57 -07:00
Fan Zhang
e0c253fccb Add summary provider for system tile.
Refactored getLocaleNames() into a FeatureProvider interface so it's
reusable and testable.

Bug: 31801428
Test: RunSettingsRoboTests
Change-Id: I2d31a66a4b32cfa7a364a4cfef1f6eea87084577
2016-10-14 11:08:51 -07:00
Fan Zhang
1e516287bd Add visibility metrics to dialogs.
Bug: 30681529
Test: adb logcat -b events | egrep "(sysui_|notification_)"
Change-Id: I199d2e1b2cb8588a562b46bb8128d8ece24952f0
2016-09-19 17:34:12 -07:00
Salvador Martinez
0308649104 Can restore state on rotate personal dict screen am: 8f4eb4d74b am: 45cdbd2669
am: 6b41874231

Change-Id: I426e4bfea077b3494a8a5a8e3eea0659186b60f8
2016-08-31 01:19:32 +00:00
Salvador Martinez
8f4eb4d74b Can restore state on rotate personal dict screen
When adding/editing a word for your personal dictionary
rotating the screen could cause the language to change
back to the device default. This has been fixed.

Test: ag/1389633, robolectric not supported in this branch.
Bug: 30874931
Change-Id: I0c8ebec5f4d5e7b23112b656c482c3b2cda7791f
2016-08-30 18:34:15 +00:00
Fan Zhang
6507613ebc Log visibility change for all fragments.
Bug: 30681771
Test: SettingsUnitTests

Refactor visibility logging from InstrumentedFragment into a mixin. And
apply mixin in remaining fragments.

Change-Id: Ibbb59904336254a3e4bb9e8c7d0b36e5a6bc2622
2016-08-18 14:04:13 -07:00
Yohei Yukawa
a6699afd05 Check if InputMethodService is Direct Boot aware am: 4e44a5ec8e am: fc7672a010
am: f6bd4d7f32

Change-Id: I94afa4c2fbdc8b7915c15aa1a309914c608b69f1
2016-07-28 23:33:52 +00:00
Jeff Sharkey
68fc8b333c Warn users when selecting non-Direct Boot apps. am: 4a8136b51b am: f3449fb81e
am: e98675ce8c

Change-Id: I4a24f153e838ee14d62b095a7d615ab9f4ee01d2
2016-07-28 00:24:58 +00:00
Yohei Yukawa
4e44a5ec8e Check if InputMethodService is Direct Boot aware
This is a small follow up CL to the previous CL [1] that added
functionality to show a warning dialog when Direct Boot unaware apps and
IMEs are being selected.

In the previous CL, we checked whether the package to which the IME
belogs to is (fully or partially) Direct Boot aware.  If the package is
partially Direct Boot aware but the InputMethodService in question is
still Direct Boot unaware, the user will not see the warning dialog.

Luckily in InputMethodPreference we already have InputMethodInfo that
indirectly exposes ServiceInfo#directBootAware.  By directly checking
that bit we can simplify the logic and avoid such false negatives.

 [1]: I0498904d2f664fb41e8c1e6bb30d1cbf437cf4b9
      4a8136b51b

Bug: 27196876
Change-Id: I869a7bd87748f09f7032a60b34ac0dbdc4a00b72
2016-07-27 16:24:37 -07:00
Jeff Sharkey
4a8136b51b Warn users when selecting non-Direct Boot apps.
Certain apps like Phone, SMS, Emergency Info, and IME are critical
enough that they ideally need to be runnable before the device is
unlocked after a reboot.  Users can still pick non-Direct Boot aware
apps, but this change now warns users that the selected app won't be
runnable until after unlocking.

Bug: 27196876
Change-Id: I0498904d2f664fb41e8c1e6bb30d1cbf437cf4b9
2016-07-27 14:49:34 -06:00
Phil Weaver
8f3c8a56a2 Fix return when virtual keyboard setting changes. am: 3587914cef
am: fc3352e585

Change-Id: I5aa18d8695ad07b01f2f5a092ae4e98855579afe
2016-07-25 20:36:36 +00:00
Phil Weaver
fc3352e585 Fix return when virtual keyboard setting changes.
am: 3587914cef

Change-Id: I29b64c04eeb036f92ff937b70e247aaf0b2eb817
2016-07-25 20:34:41 +00:00
Phil Weaver
0bda6fb550 Merge "Fix return when virtual keyboard setting changes." into nyc-mr1-dev 2016-07-25 20:23:06 +00:00
Abodunrinwa Toki
e7b3ad6726 DO NOT MERGE: InputSettings: Fix incorrect keyboard list on rotation.
This ports I1e4035f4dcff33e6b9a42d448303e962bd87c14b to MR1 dev.

Bug: 28182232
Change-Id: I292b00a21eb80577dbfec6a13f57b326571aefc7
2016-07-18 12:03:38 +01:00
Phil Weaver
3587914cef Fix return when virtual keyboard setting changes.
The OnPreferenceChangeListener for the preference to show
the virtual keyboard was returning false, indicating that the
new preference was not to be persisted, even though it was
persisting the setting. That caused the accessibility
framework not to be informed of the new value, which led
TalkBack to speak the old value rather than the new one.

Bug: 30140972
Change-Id: I02b7dc1db52cb7646650e6f2e49a1e15c2233897
2016-07-15 12:54:45 -07:00
Abodunrinwa Toki
b84bde64c8 Merge "InputSettings: Fix incorrect keyboard list on rotation." 2016-07-12 15:51:27 +00:00
Abodunrinwa Toki
6d2a0b6424 Fix order of items in language menu.
Bug: 29571417
Change-Id: I682925afe7fe07f6300197e0b4064525f0799b4f
2016-07-01 11:50:55 +01:00
Yohei Yukawa
966476b7dc Teach hard keyboard settings about correct user ID
Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD is a per-user settings.
PhysicalKeyboardFragment needs to use the current user's ID rather than
hard-coded user ID 0.

Bug: 29406181
Change-Id: Ie40f729f3c85e9ce9ad8f957caba338786b119d9
2016-06-16 00:02:01 -07:00
Yohei Yukawa
91c23ca03f Fix sentence capitalization of locale names.
It turns out that out previous CL [1] is not sufficient to address all
the requests regarding capitalization.

With [1], now InputMethodSubtype#getLocaleDisplayName() returns a locale
name whose capitalization is basically optimized to be used as a list
item.  It works well for list UI, but on a UI element that looks like a
sentence text, we still need to capitalize the first character.

This CL takes care of those UI elements in the Settings app.  This CL
also addresses a remaining TODO about locale-unaware text formatting by
using about android.icu.text.ListFormatter.

  [1]: If105082ce703db7a86738455db7e9fb37f3c6fe8
       e489baf96df2837a3a63b626d9023a4a8b322c28

Bug: 29035638
Change-Id: I59f93f0bc067cdd87c6065c972a7da3cde1128f9
2016-06-09 15:01:52 -07:00
Roozbeh Pournader
217b1d1581 Show only up to two locales in Settings
The list could otherwise grow very long, spamming the screen.

Bug: 28872122
Change-Id: I8c4dbe659e1c088eba8b5ba1b2905b5eb8bc0229
2016-05-26 19:01:06 -07:00
Yohei Yukawa
1ef9c4afd5 Follow class package change: LocaleList
In order to avoid layering violation, LocaleList needs to be moved from
android.util package to android.os package [1].  This CL follows up that
package change.

No behavior change is intended.

 [1]: Ia8de2ee9df3dd0a42b1fe84574439519b680fe18

Bug: 28819696
Change-Id: Ibd7934b30062046830d63f33d1c6febef32da976
2016-05-17 16:25:39 -07:00
Julia Reynolds
075690875b Merge "Fix crash on rotation." into nyc-dev 2016-05-16 20:12:06 +00:00
Julia Reynolds
176b28663b Fix crash on rotation.
Change-Id: Ife0a040bfc1a6ecc579d544f78cc45e37f5bca3c
Fixes: 28767083
2016-05-16 15:56:15 -04:00