This prevents animations and other live page content from consuming
too many resources while the user is interacting with a popup window.
Bug 5300522
Change-Id: I40fb6d16d56b540c431172052a1ae7fead7109be
Fixes up some recycling of TypedArray objects to reduce the
number we need to allocate during inflation etc.
Change-Id: I948dccc052997779001eaa99db2a710b04be01ae
1. Added an AccessibilityDelegate class in View which can be set by
a client that wants to cutomize accessibility behavior via
composition as opposed to inheritance. Insead overriding a new method in
View thus being bound to the API version that introduced this
method a developer can conditionally inject the accessibility
customization if the platform API version is heigh enough. The
developer will have to override the method of interest of the
delegate. The default implementation of the delegate methods is
the same as that of View in the case that there is no delegate
set. If a delegate is set calling an accessibility related method
on View will be handed off to the corresponsing method of the
delegate.
bug:5259555
Change-Id: I00e750e22e5e7164a1b571cb3d12ecaf4ab93db4
A core app is one that has coreApp="true" in its manifest tag.
The system can successfully boot (though a little painfully) with
only framework-res.apk, SettingsProvider.apk, SystemUI.apk,
DefaultContainerService.apk, and Launcher2.apk set as core apps.
Currently this boot mode is always turned off.
Change-Id: Ieaa4a8031c2c391a12996aa8d8b1d65fc2b09d6b
The DIRTY flag is used to track which elements of the view hierarchy need
to be redrawn on the next drawing operation. This flag is set on the parent
hierarchy of a view when that view is invalidated. There is an optimization for
opaque views that tells the parent that it is dirty, but that it need not
redraw its own content because the view will cover it (since it is opaque).
This dirty-opaque logic breaks down in the current code because we only set
these dirty flags on the parent hierarchy, not on the view itself. In the situation
raised by this bug, we would invalidate the parent container directly (which does
not case the dirty flag to be set), then we would invalidate a child of that view.
Because the child is opaque, the DIRTY_OPAQUE flag would be set on the parent
container. This would cause us, in the later rendering process, to skip the
drawing on that parent container, assuming that it was only asked to be redrawn
because of its opaque child's invalidation.
The fix is to now set the DIRTY flag on an invalidated view, not just on its parent
hierarchy. The DIRTY_OPAQUE logic will avoid setting the opaque flag on views/parents
that are already marked DIRTY, thus an invalidated parent will be correctly drawn
during the drawing process.
Change-Id: Ib5e014a125a4f5168f6a5a3166e941474659aca5
1. There was a bug that was not handling correctly the
case for which the interrogator requests an accessibility
node info and the message describing how to fetch the
latter for the same process case was delivered after the
code that checks whether the message is there in order to
dispatch it is executed. Now the message handling is done
correctly - the caller checks if the message is present and
if so processes it, otherwise the caller sleeps and is
interrupted if such a message arrives.
bug:5138933
Change-Id: I4c2940b46c9a52a51c5ee48b83ca6811489765d6
Bug: 5265814
When MOVE events are batched, a ListView may not receive only
one MOVE event followed immediately by an UP in the case of
a quick fling. Unfortunately, the old code relied on there
being at least one additional MOVE event following the first
in order to really scroll or fling.
This change extracts common code from onTouchEvent to
handle scrolls as soon as they are started if there is additional
remaining motion beyond the initial touch slop (taken care of by
mMotionCorrection).
Change-Id: I8c8f03f580bfba96aa69cf111d245ba7fd3b4c2a
Reset the text wrap scale to the correct value (i.e., reading level
scale) on zoom to overview. This addresses the scenario where text is
wrapped at a larger scale following a pinch zoom and double tap to
reflow.
Bug: 5254253
Change-Id: I57f706ef4254dd3f194cc35f109dd48b61b72f73
Each channel is uniquely represented by the object itself,
so use the hash code to identify it. Using channelPath in the
calculation will mess up things - since in Connecting state the
channel path is null and when its connected, we will get a different
hash code.
Change-Id: I6af6c783e18fddbd38344432b8156e000baafb15
External storage volumes that were emulated+encrypted needed to have
their encryption mapping removed so that it doesn't try to encrypt the
volume after formatting them.
This just wires through an argument through vold, and assumes that vold
will do the right thing even if there is no encryption mapping set.
Bug: 5017638
Change-Id: I858fae3d12cb415bc34637f520f71220ad9daaad
Use the URL host and path rather than the complete url to store
form autocomplete data. This helps in the situation that a site
uses some dynamic query string on the page that contains the form.
Also set the autoocmplete threshold to 1 so that we don't flick the
autocomplete options up and down as you type the first few characters.
Bug: 5265606
Change-Id: I7b372400062ae34f70a78b786007910dc179b101