Commit Graph

7975 Commits

Author SHA1 Message Date
Svetoslav Ganov
f13f14ef30 Merge "Remove unusable a11y APIs for ClickableSpans." into nyc-dev 2016-04-06 02:05:42 +00:00
Yohei Yukawa
1bc62ce846 Merge "Don't give IME focus to temporarily detached View." into nyc-dev 2016-04-05 21:21:09 +00:00
Chris Craik
cd6ea77d07 Merge "Fix software layer alpha" into nyc-dev 2016-04-05 18:50:26 +00:00
Yohei Yukawa
e470fcfeb0 Merge "Fix a remaining View leak in InputMethodManager." into nyc-dev 2016-04-05 17:22:47 +00:00
Chris Craik
cfa6dade73 Fix software layer alpha
Fixes: 27429404

Software layers must combine layerpaint alpha, if present, with view
alpha.

Change-Id: If9c7dcb53ab8754b4e123cf9cc332a566fd792c4
2016-04-05 10:15:11 -07:00
Adam Lesinski
a149c42071 Merge "Fix issue with overridden configuration in onConfigurationChanged" into nyc-dev 2016-04-05 02:22:52 +00:00
Phil Weaver
72fde85f7f Remove unusable a11y APIs for ClickableSpans.
This change essentially backs out ag/683646, which added an API to click
on ClickableSpans within a TextView. This API has the flaw, however,
that ClickableSpans are not parcelable, so they are not in general
reported to AccessibilityServices. That means that services will have no
idea what they are activating.

Since the API is not usable end-to-end, I'm backing it out before the
API is final.

Bug: 17726921
Change-Id: I541c6218f2899ff67a6b32a13fd9ae6f3b53b3c4
2016-04-04 18:37:32 -07:00
Yohei Yukawa
a4ed0cfcb6 Don't give IME focus to temporarily detached View.
The root cause of Bug 18920212 is that when AutoCompleteTextView tries
to show completion window upon text input,
InputMethodManager#focusInLocked() can be called with a View that is
temporarily detached, which should be ignored.

Bug: 18920212
Change-Id: Ia79bbd8468f768d546354382b47b39dd31ef7bb5
2016-04-05 00:05:26 +00:00
Yohei Yukawa
807c3a828b Merge "Unhide View#dispatch{Start,Finish}TemporaryDetach()" into nyc-dev 2016-04-05 00:05:09 +00:00
Adam Powell
13af9845d4 Merge "Tweaks for ScaleGestureDetector" into nyc-dev 2016-04-04 23:06:00 +00:00
Adam Lesinski
3ad1b4899f Fix issue with overridden configuration in onConfigurationChanged
When using applyOverrideConfiguration, subsequent callbacks to
onConfigurationChanged didn't take into account the locally overridden
configuration. This patches the incoming configuration to match
what is expected by the application.

Bug:27644297
Change-Id: I3a090e9862a56470d999aa0aa4d5bae29f533a11
2016-04-04 15:24:48 -07:00
Chris Craik
a7f775db93 Merge "Fix how outlines are sent to rendernode" into nyc-dev 2016-04-04 22:08:32 +00:00
Jorim Jaggi
26952d748e Do not call forceLayout if not needed
If the relevant frames for the app don't actually change, there is
no reason to call forceLayout and force a layout pass.

Bug: 27864358
Change-Id: I2add8cc5791023937afc154e6e50bbf7efb35adb
2016-04-04 21:56:48 +00:00
Adam Powell
c6df18f5fa Tweaks for ScaleGestureDetector
Remove obsolete history and size tracking from ScaleGestureDetector.

Change-Id: I20c323a8a92e467b62eb412b718c2e9e906e7800
2016-04-04 14:42:24 -07:00
Chris Craik
136d1af1cc Fix how outlines are sent to rendernode
bug:27918183

Fixes an issue where all convex outlines were pushed as empty rects to
RenderNode.

Also adds outline/reveal clip property logging, so such issues are
easier to debug in the future.

Change-Id: Ic4a996ecd09a8ef84cdf8b963bdb4853c7f6d180
2016-04-04 13:40:39 -07:00
Bo Liu
2f1eb93354 Merge "Expose setDrawGLFunctionDetachedCallback to webview" into nyc-dev 2016-04-04 20:20:10 +00:00
Phil Weaver
7eb716c0f4 Merge "Make a11y text navigation by page symmetric." into nyc-dev 2016-04-04 16:37:05 +00:00
Phil Weaver
d4a1932608 Merge "Add accessibility window title and anchor." into nyc-dev 2016-04-04 16:36:01 +00:00
Chong Zhang
fbe10f175f Merge "Avoid extra relaunch when rotating side-by-side apps" into nyc-dev 2016-04-01 21:56:45 +00:00
Chong Zhang
167bbfac24 Avoid extra relaunch when rotating side-by-side apps
Update configuration with WM first and check if the stacks need to be
resized due to the update. If so, let activity manager resize the stacks
inline, instead of letting WM schedule another pass of resizeStack. This
way the configuration will be updated to the latest before ensureActivity-
ConfigurationLocked, and we don't need another relaunch there.

bug: 27834014

Change-Id: Ib761a96cada0c3247b0480f18370670c593159da
2016-04-01 13:58:41 -07:00
Bo Liu
ee34ef1633 Expose setDrawGLFunctionDetachedCallback to webview
Add WebViewDelegate.setDrawGLFunctionDetachedCallback system API that's
used for webview to receive the functor detach callback.

BUG: 27709981
Change-Id: Ie6b5e445c0090a181f94fcd2ec1ea77095c9cb03
2016-04-01 11:10:00 -07:00
Adam Powell
991989f318 Merge "Revert "Only call Drawable.setVisible(false) for visible outgoing drawables"" into nyc-dev 2016-04-01 15:41:04 +00:00
Clara Bayarri
3916bb045c Merge "Keyboard Shortcuts Helper: Include all System shortcuts" into nyc-dev 2016-04-01 11:17:26 +00:00
Yohei Yukawa
24df931e9e Unhide View#dispatch{Start,Finish}TemporaryDetach()
In order to fix Bug 18920212, we have to track when a View enters
temporarily detached state and when it exits from that state. To do
that, ListView needs to use View#dispatchStartTemporaryDetach() instead
of directly calling View#onStartTemporaryDetach() because there is no
guarantee that existing applications have internally followed Call-Super
pattern.

With this CL, we are going to expose temporary detach state and its
dispatching methods as public APIs.  Major changes are:
  1. ListView's indirect children will start receiving temporary
     dispatch callbacks. Previously only direct children have received
     View#on{Start, Finish}TemporaryDetach() callbacks.
  2. TextView can no longer assume that ListView never calls
     View#View#dispatchStartTemporaryDetach() but directly call
     View#onStartTemporaryDetach() instead. See the commit message
     of [1] for details.

This also enables us to do the following fixes, which will be handled in
subsequent CLs.
  A. ViewCompat support lib is finally able to rely on temporary
     dispatch mechanism without reflection.
  B. InputMethodManager is now able to ignore focus-in events from
     temporarily detached Views. This will be done in the next CL [2].

  [1]: a440b002aa
  [2]: Ia79bbd8468f768d546354382b47b39dd31ef7bb5

Bug: 18920212
Bug: 27905921
Change-Id: If8f780f8b71754f7533a65097304113ae1f5cf12
2016-03-31 17:15:23 -07:00
Adam Powell
4b2e12cc9e Revert "Only call Drawable.setVisible(false) for visible outgoing drawables"
This reverts commit 35e2ea0203.

This patch was based on two different wrong assumptions.

Bug 27822069

Change-Id: I20b1017f91f3fce3c23dd8446459d6f3e3150a48
2016-03-31 15:36:18 -07:00
George Mount
98aa25c2d9 Merge "Revert "Revert "Run cleanup before end actions of ViewPropertyAnimator.""" into nyc-dev 2016-03-31 20:14:04 +00:00
Vladislav Kaznacheev
b7d08c3f3c Merge "Add wallpaper input consumer to WindowManagerService" into nyc-dev 2016-03-31 18:43:16 +00:00
Vladislav Kaznacheev
0d50d8660d Add wallpaper input consumer to WindowManagerService
This is an input consumer similar to the one used when hiding the navbar,
but placed above wallpapers. It might be useful for processing touch
events over "desktop" in freeform MW mode.

Re-landing I9d6d28a624f750ad48fc39f9b149dd1f989cceba after fixing build.

Bug:26688904
Change-Id: I89fdabd9c72cdd4a1d7ca626c33ddc99ddea97f9
2016-03-31 18:42:22 +00:00
George Mount
f643fb0250 Revert "Revert "Run cleanup before end actions of ViewPropertyAnimator.""
This reverts commit 879a626f18.

Change-Id: I6fd011fb86a2aa0e30ba41fdefa3e29c7771e647
2016-03-31 11:15:27 -07:00
John Reck
44b49f070a Add a callback for rendernode parentcount=0
Bug: 27709981
Fixes: 22565656

Change-Id: I1cb4461baf9069dc4e7ca6de10d5862578c107f4
2016-03-31 08:36:50 -07:00
Vladislav Kaznacheev
b4142f70e5 Merge "Revert "Add wallpaper input consumer to WindowManagerService"" into nyc-dev 2016-03-31 01:43:11 +00:00
Vladislav Kaznacheev
2769e7ebe9 Revert "Add wallpaper input consumer to WindowManagerService"
This reverts commit 6013a55826.

Change-Id: I2711afe2e97a8b9a4bd94193202cb83113b3bd7e
2016-03-31 01:42:02 +00:00
Andrii Kulian
ac94586714 Merge "Refactor usages of Picture In Picture and Multi Window (1/4)" into nyc-dev 2016-03-31 00:57:42 +00:00
Vladislav Kaznacheev
6013a55826 Add wallpaper input consumer to WindowManagerService
This is an input consumer similar to the one used when hiding the navbar,
but placed above wallpapers. It might be useful for processing touch
events over "desktop" in freeform MW mode.

Bug:26688904
Change-Id: I9d6d28a624f750ad48fc39f9b149dd1f989cceba
2016-03-31 00:32:39 +00:00
Sergei Vasilinetc
394d3dfb2d Merge "Hide children in ViewGroup.createSnaphost via internal flag and add test for it." into nyc-dev 2016-03-30 23:42:34 +00:00
George Mount
6bb61e25a2 Merge "Revert "Run cleanup before end actions of ViewPropertyAnimator."" into nyc-dev 2016-03-30 22:55:29 +00:00
Yohei Yukawa
f6f0f5fbe9 Merge "Add IC#closeConnection()." into nyc-dev 2016-03-30 21:55:31 +00:00
George Mount
879a626f18 Revert "Run cleanup before end actions of ViewPropertyAnimator."
This reverts commit e9a4f87852.

This revert is to test to see if the gralloc lock problems are caused by this CL.

Change-Id: I395fd3675dd430c44a5d29b050ba248f3f2bf4cd
2016-03-30 21:33:18 +00:00
sergeyv
b37d44e267 Hide children in ViewGroup.createSnaphost via internal flag and add test for
it.

bug:27747923
Change-Id: I079b52b176b920bfa4c6749be31fbcd96a4dc42c
2016-03-30 14:20:09 -07:00
Yohei Yukawa
9f9afe526d Add IC#closeConnection().
It turns out that BaseInputConnection has still depended on a private
API named BaseInputConnection#reportFinish(), which was introduced
4 years ago to work around a UI freeze due to an unbalanced batch edit
count [1].  Note that such an unbalanced batch edit count cannot always
be avoidable.  It can easily occur in the following situations.
 - The current IME crashed during batch edit.
 - The user changed the View focus during batch edit.
 - The current IME called IMM#switchToNextInputMethod() during batch
   edit.

The remaining problem is that #reportFinish() is still an internal API
and only subclasses of BaseInputConnection can implement it, and IMM
calls it when and only when the current InputConnection is
BaseInputConnection or its subclass.  InputConnectionWrapper and any
other InputConnection implementations will never receive such a callback
to clean up InputConnection#{begin, end}BatchEdit(), which is considered
to be a major contributor to UI freeze.

To address the above issue, we unhide BaseInputConnection#reportFinish()
as InputConnection#closeConnection() so that application developers can
receive an appropriate callback to clean up internal state including
unfinished batch edit.

  [1] I5525d776916f0c42d5e6d4a4282aed590d7f0e9a
      9d69ecbf61

Bug: 24688781
Bug: 25332806
Change-Id: I234309c5880c9fe0b299b8bd0f8862796d4dda0d
2016-03-30 12:03:51 -07:00
Clara Bayarri
1d648a14a4 Keyboard Shortcuts Helper: Include all System shortcuts
Also add support for shortcuts with no base character or keycode,
as needed by "Search" being triggered with just Meta.

Bug: 27454997
Change-Id: I75bc9d22c30f9ebcdcbea3fb53f166d942dc7b90
2016-03-30 17:12:08 +01:00
Chris Banes
6b69b12202 Merge "Re-dispatch nested scrolls if not implemented" into nyc-dev 2016-03-30 08:43:40 +00:00
Andrii Kulian
933076d805 Refactor usages of Picture In Picture and Multi Window (1/4)
Bug: 27365860
Change-Id: I1590e430a12ceb84cb83da295e0bf7e4378fea96
2016-03-29 18:39:45 -07:00
Rob Carr
ffe3098169 Merge "Ensure we change SurfaceView size from UI thread." into nyc-dev 2016-03-29 23:50:47 +00:00
Jeff Sharkey
297017d154 AccessibilityNodeInfo shouldn't touch extras.
The extras may contain custom Parcelables which aren't in the
system's default classpath, so touching them would end up clobbering
the contents.

Update code to leave the parcelled data untouched inside the bundle
until someone tries reading the extras.

Bug: 27897919
Change-Id: I99381dd50c9a0e8887667076362ea98805f0437c
2016-03-29 16:38:55 -06:00
Robert Carr
0b10c335c7 Ensure we change SurfaceView size from UI thread.
We need to change the SurfaceView size from the UI thread
so that we can appropriately deliver the SurfaceChanged
callback. We also need to not preserve geometry
in this case, as if we don't update the surface
and layout size together we could get scaling. This still has
some potential for holes, as transactions are not synced with
the parent renderer, but we have other methods to avoid
these in the case of resizing. This fixes the remaining
issues with content sizing and surface view "out of sync".

Bug: 27780983
Bug: 27687126
Bug: 27676101

Change-Id: Idd7864f00e5cf7a4eb32dd66c0b389292a788069
2016-03-29 13:42:06 -07:00
George Mount
58cf2c3da0 Merge "Run cleanup before end actions of ViewPropertyAnimator." into nyc-dev 2016-03-29 19:54:36 +00:00
Jorim Jaggi
75c21ca948 Revert "Start drawing immediately"
This reverts commit 3127c2a471.

The original CL caused various issues for which we don't have the
time/not willing to take the risk.

Bug: 27864389
Bug: 27451341
2016-03-29 19:30:21 +00:00
Chet Haase
fd48a321c9 Merge "Add setHasOverlappingRendering() method" into nyc-dev 2016-03-29 19:19:14 +00:00
Chet Haase
15b6ba5859 Add setHasOverlappingRendering() method
View.hasOverlappingRendering() is an important performance tweak that
subclasses can override to do the right thing return false when appropriate
to avoid expensive operations when view is translucent).
But this requires subclassing View to get this behavior.

This new API allows the property to be set from outside, enabling
standard views to have this behavior set. When the new method is called,
the behavior will derive from whatever it was set to. Otherwise, it
will default to the old/overriden behavior.

Issue #16561361  Make hasOverlappingRendering settable from outside/XML

Change-Id: If0fbc8667cdb82b1d85e795e782716a07196f3c0
2016-03-29 11:01:27 -07:00