Due to one calculation using longs and the other using doubles, there
were situations where the percentage was off-by-one between the two
places.
By changing both places to now use doubles to calculate percentages, the
numbers should be unified.
Change-Id: I4f4ed19326562e198273adc60a1593c7d1a6b6a7
Fixes: 37923610
Test: Manual
Both View focus (which is triggered by View.requestFocus()) and IME focus
(which is internally handled inside InputMethodManager), are implemented
as delayed tasks on the UI thread. The goal here is to make sure that
InputMethodManager.showSoftInput() always gets called only after the target
EditText gained IME focus.
This requires some tricks, but is basically a solved problem with
ImeAwareEditText introduced by
I182b05d3ff59fb3b4732d60d0d5a464f0e0e0235. Here we can just reuse it.
Note that ConfirmLockPassword & ChooseLockPassword are the only ones
using ScrollToParentEditText. Latter doesn't call IMM.showSoftInput().
Fixes: 62542157
Test: Verified keyboard still shows-up on the ConfirmLock screen.
Change-Id: I892d639f3cc5d43db553b682d5278b8ce2fe72da
Updates several locations to use config_headlineFontFamily as the
android:fontFamily or Typeface object. This allows OEMs to specify
a custom headline font.
Bug: 36855735
Test: ag/2360364
Change-Id: I627515d2afd5ff018aae10843d099b8c83880635
In the Storage Settings, if the text is too long, it will overlap with
the donut. After discussing with UX, we've opted to shrink the text in
the extenuating circumstances. This is because this text is more of a
helper and the full information is on the left.
Bug: 38030457
Test: Manual with Telugu
Change-Id: I18bcaaae74d049c42eaff50868d3861ae258839d
cherry-picked from ag/2301717
Both the footer preference and the TextView they contain
were clickable, which confused some accessibility services.
Bug: 62050563
Test: Verified that switch access no longer offers users
the option of clicking on the footer for accessibility
services and Magnification as well as in the Battery
settings screen.
Change-Id: I5cb13d6268466c690dd38f2b652422d2c3d813b4
Merged-In: I937340fda93f6a8097919e1f86d5d890487370bc
Calls to stop tethering should use stopTethering instead of
setWifiApEnabled.
Bug: 38017909
Test: manual
Change-Id: Ib43f8c29b190ba7bad9c5b2d6a01bc9558110890
This lets us set a contentDescription on the icon in entity headers
for accessibility.
Bug: 62068874
Test: make RunSettingsRoboTests
Change-Id: I1af7aad34aa65b616cf4edb8b144f315040a9fdd
- Add a controller to manage add/remove onScrollChangedListener to
recyclerviews.
- When recyclerview on each screen is scrolled to top, set actionbar
elevation to 0, otherwise set it to non-zero.
- When screen is moved to background, detach the listener.
- Use the controller in entity header.
Change-Id: Iecf194d885098c98c392810f62893ae9189f3936
Fix: 37670670
Test: make RunSettingsRoboTests
This changes the donut background color to a lighter blue and changes
the overall background to be a grey. Both of these colors match the
Battery implementation.
Bug: 35245772
Test: Manual
Change-Id: I8e12afe4434a0e2428384fc496cab5c05dc998ee
Adding a title to contentDesciption of the seekbar.
The title is helpful to indicate which seekbar user is changing when
talkback is enabled.
Also move SeekBarPreference from root package to widget packge.
Change-Id: I793f41c4902e350b6bc6d62761362779cc3722a9
Fix: 35421942
Test: make RunSettingsRoboTests
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
Replace the negative margin + inset background hack with a overriding
call to requestRectangleOnScreen, which will also make a best effort
to show all the password requirements if there are multiple of them.
Bug: 38236574
Test: Added ScrollToParentEditTextTest
Change-Id: Id570652b64434b2d0b25c231540375d93884aaa9
- the summary text is the list of permissions that the app has. It is
dynamic, and when the list is long, setting the summary will expand
the text view height and make the page launch looks janky. We cannot
pre-set the summary to certain line, since the permissions list for each
app is unknown beforehand. To avoid the jank, limit the summary to 1
line and truncate it if necessary.
Change-Id: I1acb1ac9f46c55808ce03626e53cf71502231ab2
Fix: 36413664
Test: make RunSettingsRoboTests
Set the preference title as the toggle button's content description, so
that when user focus on the button, it will read the lable as well on
top of just "switch on" or "switch off".
Change-Id: Id1954fd54b7d38cb4e75d8b3e49d05ee694e0e41
Fix: 37618855
Test: make RunSettingsRoboTests
- Update master switch preference to store enabled state in case
it's set before the view holder is bound
- Update master switch preference to prevent disabled switches
from being toggled
- Show an importance summary for max importance
- properly handle null notification sounds
Change-Id: I395b95b76d2a3c1c94b41d1c2720bb0cf1cae917
Fixes: 36920159
Fixes: 37421928
Fixes: 36939825
Test: RunSettingsRoboTests & manual
- add singleLineTitle=false to SettingsPreference style, so that it will
not confined the title to a single line.
- remove the custom multi line title from DividerPreference and
MasterSwitchPreference.
Change-Id: I5a78d2cd6ac00c4482e252b0789fd2d265bd9adf
Fix: 34886787
Test: manual
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
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
Framework bug fixes removed the need for this copy, and
it's not referenced anyway.
Test: Existing tests pass
Change-Id: I1dd5045246ed737b30da2d558d14bc2c86af4f31
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
- 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
Fix: 36023418
Fix: 36058273
Test: visual
- On top of emergency preference
- On top of footer preference
Change-Id: Iefbbf0ad410d46c466f919ecb60b572dd6f1ea28