This is a manual reland of I3680256d41793f62def42fda00e26db1dcc9,
which was certainly merged into lmp-mr1-dev then auto-merged into
master but silently lost there for unknown reasons when
I8c42a1e6091b0fe1253e90265ac248087e was auto-merged into master.
Changes in WindowAnimator.java was already covered by
I2933eaf0ab55fe31cb382c46c411033e33a756e0 so this CL does not
include that change.
Bug: 18021493
Bug: 22158649
Change-Id: Ib1bf9f5bef44d0400230afc32231f7d1f3a1c98b
This bug caused views which used to be quick-rejected to continue to not
be drawn because the parent's DisplayList no longer contained them. The
fix is to notice when offsetting a view puts it back on screen and invalidates
the parent appropriately.
Issue #21413554 offsetTopAndBottom requires invalidating parent when view becomes visible again
Change-Id: I0f5d2cc48e3da912a41635712d9c37fb30e70c86
Bug: 21750734
Doesn't fix the underlying issue that we were unable to
get a buffer but as this is non-critical be more defensive
about failures.
Change-Id: I7f2faaa35b064e3d0da0a13dba9aae3c226b9acc
Outsets aren't dynamic so they are a great candidate for a hint when the
window is added through the window manager. Thanks to this during first
view hierarchy measure or wallpaper window layout they are immediately
available and don't require multiple measure/layout passes.
Bug: 21593814
Change-Id: I573c15ffbbe4fcd8a6ed9c5e4fcd6cfbbcd7434f
Caused by ActionMenuItem's SubUiVisibilityListener
not being nulled when it is replaced via setActionProvider().
BUG: 22189734
Change-Id: Id4deaa05cd5554ca7bdf969a592e4812e39dcb75
...into account when calculating the position information
Actually what we need here is the full transformation matrix, if it
is available. And that means actually computing the location of
views on the screen requires doing this all through transformations,
so the AssistVisualizer has been changed to do this (while still
also keeping the old mechanism for comparison to verify that things
are working correctly).
Also added new properties for elevation and alpha.
And optimized the parcelling of AssistStructure to not write things
that aren't needed; this reduces the parcelled size by about half.
Change-Id: I50b0dd2e6599c74701a5d188617a3eff64b07d03
Cherry-pick from master
This change adds four new stem keycodes for Android Wear. These
keycodes are intended to represent the various hardware buttons
around the watch. There is one primary stem key that will be used
for power/settings and three generic stem keys that will be
customizable.
BUG: 21903503
Change-Id: I867cf79554c72d42c8acbb3ff8b1678e482d4fe2
Crash immediately so that we can track down the cause. If we let it
through, we'll hit an ISE later in dispatchVsync() and never know why.
Bug: 21948478
Change-Id: I84edf93cdf09d755419e18a7606b7b6cbd059956
"Default" packed colors are indicated by zero alpha and non-zero
red/blue. The cached alpha value used by Settings is stored in green.
Bug: 21602597
Change-Id: I1465210fda854ee979aa3a6b398ae60b41d10711
These methods are generally useful for writing custom views, and by
exposing them we make it easier for custom view authors to still allow
app developers to use an OnHierarchyChangedListener since it will not
be occupied by a custom view's implementation.
Also move the actual dispatch to package-scoped dispatch methods so
that a developer forgetting to call super won't stop a listener from
functioning.
Bug 21866523
Change-Id: Ie2bb5e241d7c5a02a5033f33ecdaeb40aceb20b5
This is fixed by avoiding calling toolbar.show() in PhoneWindow.
FloatingActionMode coordinates whether or not the toolbar should be
visible. PhoneWindow differs to it.
This CL also adds a new API:
ActionMode#onWindowFocusChanged(boolean)
Bug: 21617792
Change-Id: Ic49ce1000ce9c782d0f9e17e3d024d462c7b758b
To quote sendAccessibilityEvent(), "it is possible that this manager is
in the same process as the service but client using it is called through
Binder from another process."
Bug: 21737301
Change-Id: I8d4699a0ca8187a12235741ce420948061798f27
This is a follow up CL for Ifd05565ac0c057c46ec88a3fb9094c04934041d.
SpellCheckerSessionListenerImpl.taskToString(TASK_CANCEL) has
somehow returned "STATE_WAIT_CONNECTION" probably because of
a copy-and-paste mistake.
With this CL, it now returns "TASK_CANCEL", which is observable
only in debug log anyway though.
Bug: 21319642
Change-Id: Ib0bf11494bd3f210e6e8192fc25a33c65f7d313d
ViewGroup overrides class name population to
AccessibilityEvent. So className is always ViewGroup
for any ViewGroup inherited classes
b/21369265
Change-Id: I46095c21e523e05066c7f6ee395171d4725983ac
The primary goal of this CL is to address a reference leak
in SpellCheckerSession.SpellCheckerSessionListenerImpl if
the SpellCheckerSession is closed too early. Here is the
minimum repro code.
TextServicesManager tsm = (TextServicesManager)
getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE);
SpellCheckerSession session = tsm.newSpellCheckerSession(,
Locale.ENGLISH, listener, false);
session.close();
In order to make the state management reliable and easier to
debug, this CL replaces SpellCheckerSessionListenerImpl#mOpened
with an explicit state number so that we can tell three different
"not open" cases: 1) not connected yet and not closed yet, 2)
closed before establishing connection, and 3) closed after
establishing connection.
Bug: 21319642
Change-Id: Ifd05565ac0c057c46ec88a3fb9094c04934041d7