When passing the characteristics of the current TextView
to the StaticLayout for auto-size measurements also take
the horizontallyScrolling into account similarly with how
the actual measurements are done (@ TextView#onMeasure).
Bug: 37254477
Test: cts-tradefed run cts-dev -m CtsWidgetTestCases -t\
android.widget.cts.TextViewTest
Change-Id: I44b85e77d9b1770f188a0f59f103e3fda284e97a
Adds a method isTheFinalCountDown that allows to correctly
determine whether it is the final countdown.
Test: None
Change-Id: I786ae3455479bac25ccf25efba1c3dce18185117
- The assist menu item should always appear first
- Only the assist menu item should have an icon + text label
The description above enforces the expected UX without breaking
existing apps. Previously, apps couldn't have icons + text for a
menu item (we only rendered text for such items). If we don't
enforce that the assist menu item (android.R.id.textAssist) appears
first, then this item could potentially be rendered in a different
position for apps that specify an order number lower than that
specified for the assist menu item.
Test: Included in this cl.
Bug: 35989798
Change-Id: I56c71450c850e1d8cd80d54d4e17a6390823485f
Previously, the i18n listeners were keyed off the text locales of the
TextView. This could create some unanticipated backward
compatibility headaches. The IME hint locales seems to be a better
match, since they are supposed to be used for input.
Fixes: 37249649
Fixes: 37133729
Fixes: 37222714
Bug: https://code.google.com/p/android/issues/detail?id=2626
Bug: 8319249
Bug: 33276673
Bug: 34394455
Bug: 37160895
Test: Updated and added CTS tests pass
Change-Id: If8a115f3e30ff1601dee426a504984e2ce24a776
The BoringLayout measurements for auto-size are
incorrect. Removed those and kept the StaticLayout
measurements.
Bug: 36940118
Test: cts-tradefed run cts-dev -m CtsWidgetTestCases -t\
android.widget.cts.TextViewTest
Change-Id: I772ade08ed26efac05ca56cb7df8cfec0327633b
Previously, phone number fields defaulted to locale direction, which
created problems for apps that were not aware of LTR requirements for
phone numbers.
Now, we look at the direction of the digits for the locale, and use
that to determine the direction of the edit field. (For practically
all major RTL locales, that direction is LTR.)
Test: Manual
Bug: 33643035
Change-Id: I17c70d8462bd403ea6866057971105f1f5772ba3
Do not change anchor overlap on the underlying
PopupWindow unless ListPopupWindow.setOverlapAnchor
has been called explicitly.
Bug: 36714649
Test: ApiDemos > Views > Spinner
Change-Id: I5e66d4409a1f04cdc0fbe64e255609836c2b0e95
AdapterView already does its own sort-of auto-focusable thing.
This change makes it compatible with FOCUSABLE_AUTO.
Bug: 36984131
Test: AdapterViewTest#testchangeFocusable
Change-Id: Iff57caff0f59fb79a28ed36c78530cff41533b62
Since the characters that need to be entered for an internationalized
input type may not be available on the old non-internationalized
layouts, switch to the full text layout if there are any such
characters.
TextView is also modified to call the locale-aware listeners if
the target SDK is set to O or later.
Test: Manual
Bug: https://code.google.com/p/android/issues/detail?id=2626
Bug: https://code.google.com/p/android/issues/detail?id=82993
Bug: 8319249
Bug: 33276673
Bug: 34394455
Change-Id: I544bf0cc893a475ab5bf88cbad01cb981c6fef91
Add null checks to ScrollView and HorizontalScrollView for checking
the revealOnFocusHint. This should never happen in code called by
the framework, but some apps were hitting it.
Bug: 36379645
Test: none
Change-Id: I220eb88d82126ff08f47a7c2a7fbdddebf07de81
This CL cleans up APIs around font variation settings.
- Remove FontConfig and FontManager public API.
- Remove FontManagerService from system service.
- Extract inner class FontConfig.Axis as top-level class FontVariationAxis.
This is used by Typeface.Builder public API to create new Typeface.
- Introduce and expose FontVariationAxis utility functions from/to string.
- Throws if the invalid font variation settings is passed.
Test: android.text.cts.FontVariationAxisTest passes
Test: android.graphics.cts.TypefaceTest passes
Test: android.graphics.cts.PaintTest passes
Change-Id: I9ccafe7a53935960566243e2856e166878ca59ae
On ViewState: split value into mCurrentValue and mAutofilledValue.
On Session: replacing mAutofilledDataset by mDatasetWaitingAuth and
ViewState.getAutofilledValue() (mAutofilledDataset is still needed,
but will be removed in the first partitioning CL).
Also fixed a missed 'return' on TimePicker.autofill()
Bug: 35707731
Test: CtsAutoFillServiceTestCases pass
Change-Id: Icc32701ae3e499a77d99e6ae1daa7d070a3df631
Bug: 24342334
Bug: 31662248
Test: Tested in a test-app and verified that arrow presses/holding
do not send focus out of an EditText. Relevant TextViewTest
and EditTextTest s still pass
Change-Id: I288d9397d61844b8b650ed54cfbb6769226074b8
(cherry picked from commit I6abfe75352f09a49ea473fb0e2dec84c6c5270c4)
Adds an exception to touchscreenBlocksFocus ViewGroups which
are also keyboardNavigationClusters. The behavior we want is
that cluster navigation can jump into touchscreenBlocksFocus
clusters but normal keyboard navigation can't. Once focus is
in a touchscreenBlocksFocus cluster; however, we allow focus
navigation to move freely within that cluster. It remains in
that cluster until a subsequent cluster navigation brings it
back out.
Adds back the touchscreenBlocksFocus attributes to Toolbar
and actionbar so that they behave like they did before.
Bug: 34363323
Test: Added CTS test. Verified desired behavior in a test app
Change-Id: I555bf5570b16a57f0d4c8a020ae509a1e1b33910
(cherry picked from commit aee802f3bc)
A scrap view was retaining accessibility focus, leading to
a confusing experience for screen reader users.
Part of the problem is that views can change even when the
adapter has stable ids. This change tightens the condition
for restoring a11y focus to the same view.
AbsListView also allowed scrap views to maintain a11y focus.
While this may make sense if the views will be reused, it is
wrong if the views are not reused.
Bug: 29403113
Test: Verified that a11y focus stays put when toggling the
preference: Settings -> System -> Language & input ->
Virtual keyboards -> Advanced -> Symbol for physical keyboard
Change-Id: Ie4a15027088f158d9ed4bb3f3eeff5a288c25832
(cherry picked from commit ab4717aa2a)
Symptom:
If an application set a negative height to the popup list,
surfaceflinger is crashed with SIGABRT.
Root cause:
WindowManagerService dose not expect negative
height of ListPopupWindow. If it's negative,
WindowManagerService set the negative value to GraphicBufferAlloc,
but GraphicBufferAlloc handle the value as unsigned int,
then surfaceflinger is crashed with SIGABRT.
Solution:
Setting a negative height is a developer error.
We should throw an IAE from setHeigh(int).
Bug: 33441454
Author: Kazuki Nakayama <kazuki.x.nakayama@sonymobile.com>
Change-Id: I5887674d302e567abfe66147de4819cfdf0ef97b
- Increase the size of the text sent as context to the classifier
- Pass regex match hints to the classifer
Test: Build still works. Regex hints logged correctly. The hints won't
matter until we've actually passed in this values to native code. Native
library test will be written and I've got a tracker bug to write more robust Java tests.
Bug: 35416389
Bug: 36584397
Change-Id: I29e56189b388b36dc0cc7a8bb13ef237ff55be7b
It was checking if the weak reference pointee was null, but not for a null
weak reference per se.
Fixes: 36643768
Test: manual verification
Test: CtsAutoFillServiceTestCases pass
Change-Id: I106dfd4a91ff1d45f8cb3141a992b06cbe460367
Now the autofill UI tracks the movement of the anchor view,
both real and virtual and while still preventing the filled
app from accessing the chooser UI. This was achieved by using
a popup window in the app process to determine the window
location and adding a window presenter interface to popup
window that controls the actual window addition, removal, and
update which is implemented by the system server.
Test: all autofill CTS tests pass
bug: 36392498
bug: 35708258
bug: 34943932
fixes: 36039182
fixes: 36493078
Change-Id: I0321913b2e2e759f4b17003bf85cb873e63a467c