The Lollipop release introduced a feature that allowed
apps to extend under the navigation bar. This also means
any popup window that is anchored to the bottom of its
parent window will overlap with the navigation bar if the
parent window is extending underneath the navigation bar.
This change introduces a new window flag
(FLAG_LAYOUT_ATTACHED_IN_DECOR) that allows the app to
specify if the popup window should be attached to the decor
frame of the parent window thereby avoiding an overlap
with the screen decorations.
By default the flag is set on SDK version LOLLIPOP_MR1 or
greater and cleared on lesser SDK versions.
Also, replaced flags FLAG_NEEDS_MENU_KEY and
PRIVATE_FLAG_NEEDS_MENU_KEY_SET with needsMenuKey state
variable to make room for the new
FLAG_LAYOUT_ATTACHED_IN_DECOR flag.
Bug: 17789629
Change-Id: I2150e0c6ac688c966c0e8f7e54d42fd20285bea6
This is not a complete solution, and it's still awkward to use for
actually setting the time using the radial time picker. Better
software keyboard support and explore-by-touch CLs are still pending.
BUG: 17994166
Change-Id: Ia2871840a13cb00c140f7f2ab07fe03371acab2f
The selectors are now CheckedTextViews, which makes more sense when
using a screen reader.
BUG: 17468036
Change-Id: I09c62a08172a710faa8fb7ed2bf99a66331e5701
In accessibility mode when iterating over the text of a TextView we
use the selection to keep track of the current position. Consequentally,
if the text of a TextView does not support selection we change the text
to Spannable. Doing that has performance cost. While we need selection
support before we used to convert the text to Spannable even if we do
not need to. Now this transformation happens only when the user decides
to traverse the text which is very rare as opposed to doing this for
every TextView.
bug:17491082
Change-Id: Id7e82e01034e439b5d34133b9350a4efc4d19d4a
Previously we would loop forever if a selection notification was
posted after data had changed but the data changed bit was never
reset (e.g. a layout pass never occurred). This moves the pending
notification to occur as part of a layoutChildren() /
checkSelectionChanged() pass. If the client does horrible things
to prevent layout, no notification will occur -- but we won't loop
forever.
BUG: 17736536
Change-Id: I9773a769ad402c92dcbe2af7b8982d4443001961
When typing a contraction (such as "doesn't") we don't want a spell
right after the apostrophe, as this will create a false temporary red
underline, and the span split also breaks a kern pair causing text to
shift. This patch detects the case where the cursor is immediately after
such a word and suppresses correction in that case.
Bug: 17641350
Change-Id: I4d09576a31df551c96f820242fd2cbc675506dae
Previously, we didn't take into account partially-visible views. This
extracts existing logic for determining whether the list can scroll
up or down and applies that when adding scrolling actions.
BUG: 17648502
Change-Id: I7ed9382e1645970ab098c210ad10f8a077da834b
Track the nested offsets applied persistently in AbsListView and
ScrollView. This allows accurate velocity to be reported to nested
fling/pre-fling.
Bug 17548219
Change-Id: I66199c534aca7fb81746eff6d04c931e4c4e48da
If RemoteViews get a null package in the constructor we are
using the context in which they are applied to obtain resources
during inflation. In such a case if we call the getPackage()
method we were getting null, i.e. the package passed in the
contructor, but now we are returning the package if the app
that created the remote views.
bug:17513823
Change-Id: I0c4a8953c8320469a9160dbaae46ce31465b313b
Allow edgeeffect colors to be changed independently of the primary
color for the current theme.
Bug 16512225
Change-Id: Ibc13ad755f489fe1f6d16af0c61a1d12dd1a61f7