Commit Graph

255 Commits

Author SHA1 Message Date
Fan Zhang
fe292515d8 Refactor the layout for MasterSwitch to a 2 target pref
And move the layout to settingslib.

The new TwoTargetPreference is a preference object that has a vertical
divider between main panel and widget (if it exists).

Converted master switch, restricted preference, gear preference to use
the new style

Change-Id: Ia3848cebb06b8edc4e60abf9b0caf13cdb29c22c
Fix: 36511169
Test: make RunSettingsRoboTests
2017-03-22 16:03:40 -07:00
Yohei Yukawa
f6af093e2d Deprecate IMM#showSoftInputUnchecked() part 2
This is the 2nd attempt to have CryptKeeper stop depending on
InputMethodManager#showSoftInputUnchecked() do avoid non-deterministic
behaviors.  Note that the original one [1] was reverted [2] due to
ClassCastException as crypt_keeper_pin_field.xml was not updated to
use ImeAwareEditText.

We have been receiving more and more strange bug reports regarding
the initial IME visibility on CryptKeeper (Bug 31915865, Bug 35198715,
and Bug 36148078).  Most likely we have introduced more bugs before
fixing previous bugs.

As the first step to disentangle multiple problems, this CL addresses
a long standing issue that CryptKeeper relies on @hide internal API
InputMethodManager#showSoftInputUnchecked().  As explained in
Bug 36015425, IMM#showSoftInputUnchecked() is considered harmful in
terms of bypassing standard IME focus handling flows, which prevents
us from taking advantage of historical debugging mechanism that we
have added recently in Bug 35079353.

 [1]: I3cffeec286d9372ff05e85a49b82287cb1add8a2
      4ae46cd1ad
 [2]: I776ad2e6ba0eabacb3d6be6de23ba37fe5ce7bc7
      cf026ead80

Test: Manually verified that Bug 31915865 is still broken but this CL
      does not make it worse.
      1. Flash an image into a non direct-boot device.
      2. Set up a device boot password.
      3. adb reboot
      After the step 3, the software keyboard shows up automatically
      then suddenly disappears (Bug 35198715). Do the same test for
      device boot PIN instead of password.
Bug: 36015425
Change-Id: I182b05d3ff59fb3b4732d60d0d5a464f0e0e0235
2017-03-21 12:38:44 -07:00
Christine Franks
c53ab43d94 Add color temperature preference to Night Display
Bug: 32463283
Test: make RunSettingsRoboTests
Change-Id: Ibf3cf9af05b44a071603d3d7efa6e90ae00c823a
2017-03-20 15:47:41 +00:00
Daniel Nishi
3788262dac Merge "Size and position the donut." 2017-03-17 22:54:44 +00:00
Maurice Lam
e8c3a7c2d3 Remove unused ExploreByTouchHelper class
Framework bug fixes removed the need for this copy, and
it's not referenced anyway.

Test: Existing tests pass
Change-Id: I1dd5045246ed737b30da2d558d14bc2c86af4f31
2017-03-16 17:33:45 +00:00
Daniel Nishi
14ecdf1538 Size and position the donut.
Change-Id: I06801bfb342be6ded2743f12998371e1aee49ba9
Fixes: 36224169
Test: Manual
2017-03-15 14:30:53 -07:00
TreeHugger Robot
7cfcff31c1 Merge "Revert "Make IME handling deterministic in CryptKeeper"" 2017-03-15 02:43:12 +00:00
Tom Cherry
cf026ead80 Revert "Make IME handling deterministic in CryptKeeper"
This reverts commit 4ae46cd1ad.

Bug: 36148078

Change-Id: I776ad2e6ba0eabacb3d6be6de23ba37fe5ce7bc7
2017-03-15 01:15:49 +00:00
Yohei Yukawa
0617a7aebe Merge "Make IME handling deterministic in CryptKeeper" 2017-03-13 23:30:19 +00:00
Yohei Yukawa
4ae46cd1ad Make IME handling deterministic in CryptKeeper
We have been receiving more and more strange bug reports regarding
the initial IME visibility on CryptKeeper (Bug 31915865, Bug 35198715,
and Bug 36148078).  Most likely we have introduced more bugs before
fixing previous bugs.

As the first step to disentangle multiple problems, this CL addresses
a long standing issue that CryptKeeper relies on @hide internal API
InputMethodManager#showSoftInputUnchecked().  As explained in
Bug 36015425, IMM#showSoftInputUnchecked() is considered harmful in
terms of bypassing standard IME focus handling flows, which prevents
us from taking advantage of historical debugging mechanism that we
have added recently in Bug 35079353.

Test: Manually verified that Bug 31915865 is still broken but this CL
      does not make it worse.
      1. Flash an image into a non direct-boot device.
      2. Set up a device boot password.
      3. adb reboot
      After the step 3, the software keyboard shows up automatically
      then suddenly disappears (Bug 35198715).
Bug: 36015425
Change-Id: I3cffeec286d9372ff05e85a49b82287cb1add8a2
2017-03-13 22:00:15 +00:00
Doris Ling
6467d2027e Extends the touch area for the switch in Master Switch preference.
- set view click listener on the entire widget view instead of only
listening to the switch button event.
- move the preference layout end padding into the widget frame, so that
clicking on the empty space at the end will send the click event to the
widget frame instead of the preference view.

Change-Id: I98025f723465f3941cebbbd03b812209c0240590
Fix: 35872094
Test: make RunSettingsRoboTests
2017-03-13 10:29:34 -07:00
Fan Zhang
fbefd9ea01 Add dividers on a few preferences
Fix: 36023418
Fix: 36058273

Test: visual
- On top of emergency preference
- On top of footer preference

Change-Id: Iefbbf0ad410d46c466f919ecb60b572dd6f1ea28
2017-03-08 15:29:25 -08:00
Fan Zhang
26ce68c0ea Hide video preference when video is not avaiable.
Change-Id: Ic4efc21d41b328591f2146534b7edecd86cb83ac
Fix: 35855399
Test: manual
2017-03-07 15:59:39 -08:00
Julia Reynolds
762a733afa Allow switch preferences to span lines.
Test: manual
Change-Id: Ifcc801873ed143c4d9ceb6fb928c276808a95f81
2017-02-28 16:30:48 -05:00
Fan Zhang
bfb006aa32 Use framework support to customize dividers between prefs.
Bug: 33579296
Test: make RunSettingsRoboTests
Change-Id: I1bb3b82b88dc727cda05b00058e6f40564f0e5db
2017-02-27 12:47:44 -08:00
Fan Zhang
f8f55e574d Convert auto-fill default selector to full screen pattern.
Bug: 34280137
Test: RunSettingsRoboTests
Change-Id: Icde3bcaf11615010d481f39d8b32d28dfc120018
2017-02-09 12:45:53 -08:00
Fan Zhang
62e66c9ca4 Move GearPreference to widget package.
- This is step1 of making gear preference more flexible to use.

Bug: 33579296
Test: builds
Change-Id: I30ac6c75f7ad16ec5c732fbb93170e5fab0eacb7
2017-02-08 16:09:12 -08:00
Christine Franks
d7713c9d95 Require password to FR in carrier demo mode
Bug: 34341567
Test: manual - password is not required for regular user factory
resets and is required in carrier demo mode.

Change-Id: Ic594ebafdac02fc467dc6b2e46dfbd520db3ce9f
2017-02-08 07:44:57 -08:00
Fan Zhang
56199e9487 Misc fix on network & internet screen for developer preview
- Move wifi calling into wifi preference screen
- Update tethering setting title
- Ripple for master swtich preference only apply on the left half.
- Move network reset to action bar overflow menu

Fix: 34974598
Fix: 34976385
Test: RunSettingsRoboTests
Change-Id: I0e11843efc52a0042784a4da46b7ac81fcf16138
2017-02-06 18:14:14 -08:00
TreeHugger Robot
7036d46889 Merge "modified settings to use settingslib class" 2017-01-27 20:35:35 +00:00
Doris Ling
c4c9f4d50e Update Network & internet->Wi-Fi to use MasterSwitchPreference.
- Add a preference controller for Network & internet->Wi-Fi to control
  the preference toggling and summary update.
- Refactor WifiSettings and WifiEnabler to share code between the new
  wifi preference controller and the wifi setting.
- Refactor BluetoothSummaryHelper to have a common base class with the
  WifiSummaryHelper.
- Rename the summary helper to summary updater.

Bug: 34280769
Test: make RunSettingsRoboTests
Change-Id: I00ebfc161bcef89331bb41ba405ed8cb8232d248
2017-01-25 10:43:01 -08:00
Salvador Martinez
3213a28d04 modified settings to use settingslib class
LinkTextView is duplicated in various places in the
code base. The duplicate in settings has been removed
and the relevant classes have been updated to use the
one located in SettingsLib.

Test: robotests still pass
Bug: 34621372
Change-Id: I1d3cffb5e1960042fab752a47c0d842406468fd2
2017-01-23 14:12:47 -08:00
TreeHugger Robot
32bc813f04 Merge "Add new preference class MasterSwitchPreference." 2017-01-21 02:00:06 +00:00
Doris Ling
1432cb8529 Add new preference class MasterSwitchPreference.
- Add a new preference type that has Title and optional summary on the
  left, and a toggle switch on the right. Clicking the left part of the
  preference will open a settings screen.
- Update Connected devices->Bluetooth to use this new preference.
- Refactor BluetoothSettings and BluetoothEnabler to share code between
  the new bluetooth preference controller and the bluetooth setting.

Bug: 34280769
Test: make RunSettingsRoboTests
Change-Id: I109ecdba640ecdd4748a6e5b2b4f4c47cbf653fd
2017-01-20 16:19:00 -08:00
Fan Zhang
64c83afa8b Move RadioButtonPreference to generic widget package
Bug: 34280137
Test: no regression
Change-Id: Ib59efe767af83d182fba1ea1651026ddbb9ce6d5
2017-01-13 17:33:38 -08:00
Daniel Nishi
b465005c29 Update the storage summary header.
This changes it to now have a donut graph and reflects the new UI.
Finalized redlines are still pending, so there will be a follow
up patch to get everything aligned as per the mocks.

Bug: 33199077
Test: Settings Robo Tests
Change-Id: Ic12a77bd9be335af14f80886d1ecc24c82940e9b
2017-01-11 12:37:33 -08:00
Fan Zhang
4addb59265 Remove divider lines from all PreferenceFragments.
(this is partially revert of ag/I0ce486f7ac6)

- Only draw divider lines on top of PreferenceCategory and
  FooterPreference

Bug: 33601143
Test: make RunSettingsRoboTests
Change-Id: I26146dcae1603dc807e54ea431910685107be94c
2016-12-14 16:41:49 -08:00
Fan Zhang
d5b48454a3 Build a new FooterPreference UI.
- Create a new layout for footer prefs.
- Create a new FooterPreference type to use the layout
- Create a Mixin to create and add the pref to screen
- Create a new lifecycle observer type to invoke mixin at right time
- Switch SettingsPreferenceFragment to use footer mixin.
- Switch FingerprintSettings to use the new footer pref.

Bug: 33579394
Test: RunSettingsRoboTests
Change-Id: I548ac39a0d120196a7ffed09b4f98bd9a80bae90
2016-12-14 16:41:49 -08:00
Jiaquan He
1ff0a53529 Merge "Show the highlight for the wifi toggle switch." 2016-12-08 18:56:42 +00: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
Jiaquan He
2a77408663 Show the highlight for the wifi toggle switch.
To make wifi settings more keyboard friendly, we need to show the
highlight for the toggle switch when it has the focus.

Bug: 32087448

Change-Id: I4a71ad295f7b2c37a4eb141a6281de6934b072fd
2016-11-09 13:22:24 -08:00
Maurice Lam
67df126291 [Fingerprint] Make enroll progress bar scalable
Make the fingerprint enroll progress bar scalable by moving it to a
single FingerprintProgressBar view and make it fill the remaining
space.

- The background fingerprint icon was changed to include the padding
internally so it can be added as the background directly onto the
progress bar view.
- The icon in landscape mode is also fixed to use the fingerprint
icon rather than the lock icon.

Test: cd tests/robotests && mm
Bug: 32123370
Change-Id: Ia5cf37d92f0af7c1cf39287f5070c44f51d44878
2016-10-20 17:20:56 -07:00
Lei Yu
f4c5904863 Merge "Add classloader for RtlCompatibleViewPager" 2016-09-29 16:52:37 +00:00
Matthew Fritze
202193109b Tablet Settings Layout is no longer stretched am: c4a9b18121 am: a936610ae2
am: fa7aa9663e

Change-Id: I7865b06593fc99cabe78dac7bb4a3574dea79404
2016-09-29 05:59:08 +00:00
jackqdyulei
0bfee2799d Add classloader for RtlCompatibleViewPager
To avoid BadParcelableException when reload the activity after it
is killed by OS.

Bug: 31707097
Test: make SettingsTests && adb install -r \
${OUT}/data/app/SettingsTests/SettingsTests.apk && \
adb shell am instrument -w \
'com.android.settings.tests/android.support.test.runner.AndroidJUnitRunner'

Change-Id: Ic8f20d9e2d236f0bea96071a88fbc6e7ba856f54
2016-09-28 17:56:04 -07:00
Matthew Fritze
c4a9b18121 Tablet Settings Layout is no longer stretched
Change-Id: If4a883077f41b859f4e8aaf92a4f397b94814137
Fixes: 31583422
Tests: Visual Inspection
2016-09-28 15:40:55 -07:00
Fan Zhang
aa71afe597 Use MetricsFeatureProvider for logging in Settings.
Bug: 31664539
Test: make RunSettingsRoboTests for regression
Test: adb logcat -b events | egrep "(sysui_|notification_)" for
      verifying log

Change-Id: Id944be7c4ff9911aebee481c2df485542f1318f0
2016-09-23 08:37:37 -07:00
jackqdyulei
e54dd3a0cd RTL: Navigate to previous tab when back.
When go back from RTL language, user should be navigated to the
previous setting tab.

Bug: 31145366
Test: make RunSettingsRoboTests

Change-Id: I2f2ec727f9737ea0e52dac9950c8af34559e3d9a
2016-09-15 11:22:53 -07:00
Phil Weaver
02e894c52a Make sure setting switch bar state is announced. am: 664f6dacca am: d8c8c632d4
am: 06c04d91c7

Change-Id: I623bd0cf15f7a1ef73393e63fd739749834910c5
2016-08-31 22:07:24 +00:00
Phil Weaver
d8c8c632d4 Make sure setting switch bar state is announced.
am: 664f6dacca

Change-Id: I8ecc83b5affa7af17071971abee57320d1fe2333
2016-08-31 21:34:53 +00:00
Phil Weaver
e954b992d8 Merge "Make sure setting switch bar state is announced." into nyc-mr1-dev 2016-08-31 21:32:08 +00:00
Andrew Sapperstein
e6c06f826f Use LinkTextView for support disclaimer text. am: 7e9146950d am: d63e187b1a am: c3733b8653
am: 25d10fd293

Change-Id: Ie1ac8f05cbe91dd99ea3840c02932ba98050eb91
2016-08-31 01:19:30 +00:00
Phil Weaver
664f6dacca Make sure setting switch bar state is announced.
When the switch is clicked, a TYPE_VIEW_CLICKED a11y
event is produced. It works fine if the switch bar is
clicked, but if the switch itself is clicked the event
comes from the switch, which is marked as not important
for accessibility. Re-dispatching events from the switch
as coming from the switch bar makes sure that the event
comes from a view that accessibility services can see.

Bug: 30484493
Change-Id: Ie48cc78594c64b1cc5735475e1cb5959fadaaf4a
2016-08-30 16:40:40 -07:00
Andrew Sapperstein
7e9146950d Use LinkTextView for support disclaimer text.
LinkTextView uses LinkAccessibilityHelper to properly handle
making links accessible.

Deleted Settings' outdated fork for the version in setupwizardlib.

Test: manual

Change-Id: I38c031f96b5be0d45e4cc1aa358f95b229f17480
Fixes: 31077012
2016-08-30 19:57:39 +00:00
Fan Zhang
fcc095ffd3 Log switch toggle action whenever its status changes. am: 6d2a0c80df am: 181f21393c
am: b22d11436d

Change-Id: I9a3c39fab47e458a10255af586ea8207453b03e9
2016-08-01 22:27:05 +00:00
Fan Zhang
6d2a0c80df Log switch toggle action whenever its status changes.
Bug: 30110675

onClick is only called when the switchbar is clicked. We also need to
log when switch itself is clicked.

Change-Id: I892b72daeefe0f36608a73fe509199e200376eb7
2016-08-01 10:41:23 -07:00
Matthew Fritze
d5d92f4505 Merge \\"Settings ViewPager now correctly handles RTL mode\\" into nyc-mr1-dev am: b8257e6fee
am: b51d45aed0

Change-Id: I654d8fee969fe089b79d77af8135ac9fc3fdc309
2016-07-15 19:29:11 +00:00
Matthew Fritze
44564126c3 Settings ViewPager now correctly handles RTL mode
Previously, the settings and support tabs were incorrectly orderded,
and had inverted transitions on click and on swipe.
Ordering of tabs now correctly displays All Settings as the default,
right tab, and the Support tab to its left. The tab headers also now
function properly in transition, and onclick.

Change-Id: Iab499ee13433cb78941bc33cbb0e99ffe2937174
Fixes: 30079049
2016-07-15 11:55:53 -07:00
Doris Ling
2ed8651f1f Merge \\"Fix layout transition from Display->Ambient Display to Gestures\\" into nyc-mr1-dev am: 3633058181
am: e4b305a0f0

Change-Id: Iff8d7ff83a301a18482c008f912b0a660a314bc0
2016-07-06 22:29:27 +00:00
Doris Ling
9a3cf7725b Fix layout transition from Display->Ambient Display to Gestures
1. Add handling in Gestures settings to scroll to the corresponding
preference when launching from Display->Ambient Display
2. Remove the bitmap creation for the video preview image
3. Use a custom aspect ration framee layout to hold the animation
instead to avoid resizing of the animation view.

Bug: 29795707
Change-Id: I67209ba2508a93da4fc46ff20986309dbe5a83d5
2016-07-06 13:21:08 -07:00