The root cause of crash bug #27749932 is that the state mismatch between
when a Loader is created and when the Loader object finishes background
task. We can easily reproduce this crash by:
1. Pair two hardware keyboard A and B.
2. Open Physical Keyboard settings.
3. Press the power button to turn off the display.
4. Move keyboard A far away so that it is unpaired.
5. Press the power button to turn on the display.
6. Unlock the device.
One of the reasons PhysicalKeyboardFragment was unstable is that loader
ID reuse. PhysicalKeyboardFragment starts background data loading
because of many events such as #onResume() and #onInputDeviceAdded() but
there are chances that loader ID was reused because we specified
hardware keyboard device index as the loader ID. This was dangerous
also because device index can change when a device is added and removed.
With his CL each loader object has an unique ID and
PhysicalKeyboardFragment keeps tracking the list of active Loader IDs
only from which PhysicalKeyboardFragment should accept data.
Also, this CL removes dependencies on PhysicalKeyboardFragment from each
loader object so that we can have a clear boundary of responsibility
between data loader and data consumer.
Bug: 27749932
Change-Id: I53fcb2426d028a492c775bb2b4ec6a5419e33bb4
InputMethodAndSubtypeUtil#saveInputMethodSubtypeList() has a bug that
it saves implicitly enabled subtypes when "Use system languages" is
checked. Implicitly enabled subtypes are transient data and the system
should have only a null data (0) in the persistent strage. The root
cause of this bug is that the method in question has not checked whether
the preference item is in enabled (not grayed-out). If it is
grayed-out, its checked state does not mean that the user manually
checked that subtype but it is just an indicator for the user.
The strange UI jank when dismissing InputMethodAndSubtypeEnabler is one
of the victim of the above bug because we have worked around it by
actually changing checked state before calling the method in question.
With this CL we no longer need to update preference items in
InputMethodAndSubtypeEnabler#onPause().
Bug: 27867966
Change-Id: Ifc291d77ea41a988438765b9ba16bc5d18a15e1b
All settings preferences related to credentials of any kind should be
stopped by this user restriction.
Bug: 26879958
Change-Id: I983c6e58081bd4022bb006942499cba4b74954e7
- Notification icon is Settings icon
- VpnName is obtained as the same way as AppPreference
- Post notification as the current user with PendingIntent to VpnSettings to parent user
- Auto-cancel when user taps on the notification
- This implementation posts notification only when the failure happens sychronously
(Assume ConnectivityService only unset always-on package immediately after calling setAlwaysOnVpnPackageForUser)
Bug:27374485
Change-Id: I0aee38498c8cc300dd8eb9687adcae5f9dc4f8af
StickyHeaderListView will not layout all the way to the top of the screen
if fitsSystemWindows is true.
bug:27875272
Change-Id: I4150dc183778284df2f07f3a6220e0c0b2607774
Framework bug was fixed by ag/900274, so this is no longer needed.
This reverts commit 062efd0f17.
Change-Id: I8ebfad33420d908444910a2feffa09661b0542ff
Some preferences (namely inside the encryption interstitial) can flow
passed a single line when the font size is set to largest. We should
allow for this to extend to another line instead of using ellipsis.
bug:27875272
Change-Id: I2697ae37bfe39a4890298f82cf80fc70b93881df
There are still some remaining animation issues on the wifi screen.
To avoid regressions from M, just disable animations on the entire
wifi screen.
Change-Id: Iabf8ace731638ae7af483c6f3887ca351b17ac60
Fixes: 26271353
Remove the always there checkbox for phonebook permission when pairing
from a device that supports the client side of PBAP rather than the
server side. A device should not support both PBAP PSE and PCE.
Bug: 25933871
Change-Id: I9535bbb9d5fcdfeaa13a2fec3461f47bb5518e28
Per comment from UX, we do not show gear icons on InputMethodPreference
because there is no difference between tapping the item itself and
tapping the gear icon.
Bug: 27543291
Change-Id: Ieea9a13a4b7af9c90c3a2a8f365bd318663998b1
Per comment from UX, we replace "Add virtual keyboard" with
"Add or edit virtual keyboards" because the user is able to not only
enable but also disable virtual keyboards.
Bug: 27543291
Change-Id: Id2ae61519152bbe622aa5915f728a4cbbc49e078