- instead of passing the screen size as a constant for computing the
layout size in RTL mode, we just use a real constant. Any value would
work actually, as soon as the value would not be null.
Change-Id: If9f5b38afa88938db36a795bfc8a403ad660726b
GridLayout uses a constraint solver to perform its layout operation. Some layout problems
result in systems of constraints that are inconsistent and so cannot be solved. GridLayout
detects this condition and makes corrections so as to always guarantee that the layout
operation will complete. In those cases where corrections are made, GridLayout issues a
warning to the Log. This CL allows (internal) clients of GridLayout to both swtich off
the logging and/or detect when this condition is encountered.
Change-Id: I5b871003381f81cf0a76ad3de767e7f8b8349923
ListView child views with transientState (setHasTransientState(true)) are not
handled correctly when the data set changes, such as when an item is added
or removed. The problem is that the transient views are cached by their
position, but this position is out of sync between the ListView and the adapter
until the ListView layout process is complete.
A better way, which unfortunately only works on ListViews with stable IDs, is
to cache the views by their itemID instead, and to use that ID to determine when
and where to reuse/retrieve a transient view during the ListView layout.
Issue #8254775 View.setHasTransient state has side-effects when deleting content in ListView
Change-Id: Ic3b1669ed79dd6cf9e4c1c6c26f9d75ccf074b3e
The original fix:
https://googleplex-android-review.googlesource.com/#/c/273122/1
was incorrect as it left GridLayout to simply ignore views with GONE status.
Instead, views with GONE status must cause their corresponding rows and
columns to collapse to zero width/height in the case where the rows/columns
are not flexible.
The actual bug is the result of the fact that getBaseLine() is not parameterized
by the height/size of the view for which the baseline is being requested. In the case of
a view that is GONE, GridLayout will request the baseline of a component that has zero height,
and get results other than 0 (which is doesn't make sense). Prevent this with a specific check.
This CL should fix 8184401 without causing:
https://b.corp.google.com/issue?id=8192858
Change-Id: Ic74888b499466bbfac5fb97d49eede5b6c343127
When the "delete" pop-up is clicked (and the wrapped text removed), the
creator of the span will receive a notification of the action.
Similarly, if the user modifies (i.e., add/remove a char), the creator of
the span will receive a notification too. The notification will not contain any
information about how the text has been modified.
Bug: 6905960
Change-Id: Ic227b8fd50066699915f69a54f225fb5330867c4
The exposed APIs are slightly simpler than the full APIs used internally.
Only APIs useful to applications are exposed.
Change-Id: Ie03014628d40ad5ef63dedbc52ce3def84429d54
Allow developers to specify shadow properties for text in a
TextAppearance, not just in direct TextView attributes.
Change-Id: I873fbaf2c26683895e1eea2d02b5d9b17ca333d0
According to ListView's layoutChildren logic, it detaches all children
and rebuilds its children based on visible area which might omit
invisible elements in the adapter.
In this case, arrowScroll methods only tries to find next scroll
candidates from its children so user is unable to scroll more with
D-pad.
This fixes the issue by look forward next child among the adapter as
well as children.
Bug: 7346868
Change-Id: I01ab19ad899b5bcb5ab420ddf08c9ffd136933d1
# By Sungmin Choi
# Via Android Git Automerger (2) and others
* commit '044a4c3e4a42aae4faac8b92ea05f122cdf45f7c':
avoid multiple-"0" to exceed the length of upper bound
# By Sungmin Choi
# Via Gerrit Code Review (1) and Sungmin Choi (1)
* commit '21af9a08465c4927aab9db30efdfcf5ee8f52410':
avoid multiple-"0" to exceed the length of upper bound
We support text traversal at a granularity over non-next views with
content description, hence we should support setting the cursor position
in such views.
bug:8134469
Change-Id: I4dba225b0ade795b7a20c201fb906ae7146c065d
While an accessibility service can set the cursor position in an editable
text field, it was not possible to set it for non-editable views with
content description. This patch enables that.
bug:8134469
Change-Id: I28b0ef1666b9e3ed5c0642718fbe63d4c9616569
Add "mirrorForRtl" property for ProgressBar (default is "false") and
use it accordingly to the following RTL rules:
- time still goes from left to right
- clocks still rotate clockwise
Change-Id: Ib91ce6ab341aa6097c0f43b13703174a2ee9ec70
Currently text editing is pretty hard (certain operations even
impossible) for a blind person. To address the issue this change
adds APIs that enable an accessibility service to perform basic
text editing operations such as copy, paste, cut, set selection,
extend selection while moving at a given granularity.
The new APIs enable an accessibility service to expose a gesture
driven efficient text editing facility.
bug:8098384
Change-Id: I82b200138a3fdf4c0c316b774fc08a096ced29d0
An app trying to modify the returned matrix (despite what the
documentation says...) would crash when the matrix is identity.
Change-Id: I8aae06b712907085088fb9f0321352dd2c3462ac
# By Sungmin Choi
# Via Android Git Automerger (2) and others
* commit 'bb74d8b9f632bdda2f5639a9516a83f58374b936':
show SELECT ALL icon with text in landscape mode
# By Sungmin Choi
# Via Android Git Automerger (1) and others
* commit '783fe4295372cee8d024388221414c253802c995':
show SELECT ALL icon with text in landscape mode
# By Sungmin Choi
# Via Gerrit Code Review (1) and Sungmin Choi (1)
* commit 'e305e5f68df8338cb3c4bdcf099d23ec9abce564':
show SELECT ALL icon with text in landscape mode
Basically RelativeLayout was broken in a very stubtle way.
RelativeLayout needs in onMeasure() to have a width in RTL mode when "myWidth=-1" (meaning "not
defined") so that the rest of the onMeasure() computation can be done (children positioning and
width computation).
As there is no way to get its width apart from running the code, in RTL mode we set its width
arbitrary to the screen width for doing the width computation and children positoning.
Then, as a last pass, we will update and fix the children position (no need to do anything with
the computed width because it is correctly computed already).
Change-Id: I426af3327160e751ef63ed3845aad5bab6dad661
Though set config_allowActionMenuItemTextWithIcon as true,
icon for the "SELECT ALL" menu on ActionBar is not shown as staring
in landscape mode.
To fix it, use "SELECT ALL" icon in onCreateActionMode() to show the
icon and text together.
To show or hide text is decided by updateTextButtonVisibility() of
core/java/com/android/internal/view/menu/ActionMenuItemView.java
STEPS TO REPRODUCE: (please be specific)
1. launch Browser/Chrome and go to google.com
2. rotate to landscape mode
3. long press on URL address
Bug: 8073761
Change-Id: Ie0e0aa45f0dff609ed8c03e4423b163bad5452ed