Commit Graph

8010 Commits

Author SHA1 Message Date
Wale Ogunwale
3fb1c81394 Merge changes Ieefeb843,Ic2a94b09 into nyc-dev
* changes:
  Update surface insets on window elevation changes.
  Fixed bug with cropping out drop shadow for pinned stack.
2016-04-13 16:59:36 +00:00
Michael Wright
52546e4635 Merge "Crash early when requesting a keyboard shortcut helper..." into nyc-dev 2016-04-13 13:58:16 +00:00
Yohei Yukawa
d0fae0d61d Merge "Improve captalization in InputMethodSubtype#getDisplayName()." into nyc-dev 2016-04-13 06:51:34 +00:00
Yohei Yukawa
e489baf96d Improve captalization in InputMethodSubtype#getDisplayName().
The goal of this CL is to enable
InputMethodSubtype#getLocaleDisplayName() to return more natural locale
display name in terms of capitalization rules.

The key idea here is to use LocaleDisplayNames#localeDisplayName() with
an appropriate DisplayContext.CAPITALIZATION_FOR_* parameter rather than
relying on Locale#getDisplayName().

Bug: 22845728
Change-Id: If105082ce703db7a86738455db7e9fb37f3c6fe8
2016-04-13 05:30:23 +00:00
Jorim Jaggi
2917dc4918 Add shadow for minimized dock
Bug: 27972642
Change-Id: Ic4c8145f61694ff2bb0e237da1142093c6a4d965
2016-04-12 19:17:24 -07:00
Michael Wright
53b854ad7d Crash early when requesting a keyboard shortcut helper...
with a null IResultReceiver.

We're seeing Dialer crashes in this code path but they happen in the
main Handler loop so we can't see where the request with the null
request is coming from. Crashing earlier will hopefully give us a
stack trace that we can use to diagnose the issue.

Bug: 27963013
Change-Id: I60e4ef2ef328fa69790bbcaa4f196c02f7443296
2016-04-12 19:39:03 -04:00
Adam Powell
fa58a8daa6 Dispatch View#onVisibilityAggregated to views becoming invisible
When a view becomes newly invisible/gone via setFlags, its visibility
state will have already changed by the time we
dispatchVisibilityAggregated. Since we already do visibility filtering
in the ViewGroup override when we traverse to child views, permit the
normal View implementation to dispatch onVisibilityAggregated if we're
not visible and dispatching visibility false.

Bug 28123146

Change-Id: I528dffe95d2057ef938508b9fb4219c5338b060c
2016-04-12 11:18:57 -07:00
John Reck
d2eec0efb2 Merge "Framework-side of SurfaceView#getBitmap" into nyc-dev 2016-04-12 14:36:11 +00:00
John Reck
10dd0585c1 Framework-side of SurfaceView#getBitmap
Bug: 27708453

Change-Id: Ie6fd7eca522d3e6549d8af587c975fd7e6053649
2016-04-11 16:00:22 -07:00
John Reck
825fa4d5ae Merge "Revert "Make stopped state a first-class thing"" into nyc-dev 2016-04-11 20:54:36 +00:00
John Reck
eab3f2658a Revert "Make stopped state a first-class thing"
This reverts commit 945961f78a.

Change-Id: Iebc1d49fac33380233f8785fc39bec6c30a5e714
2016-04-11 20:49:28 +00:00
Yohei Yukawa
063fe652be Merge "Make additional IME Subtype ID persistent." into nyc-dev 2016-04-11 15:46:12 +00:00
Yohei Yukawa
66baf69042 Make additional IME Subtype ID persistent.
It turns out that IME subtypes specified to
InputMethodManager#setAdditionalInputMethodSubtypes() are stored in the
presistent storate without subtype IDs.  As a result, when the system is
rebooted, the system would no longer consider those additional subtypes
as enabled due to subtype ID mismatch, until the IME re-adds those
additional subtypes again with the original subtype IDs.

Bug: 28104337
Change-Id: I1445213e0b83d76631a839b974ec1ab9b28ad7d2
2016-04-11 02:29:35 -07:00
Yohei Yukawa
b7edebc8ad Fix inefficient CursorAnchorInfo#hashCode().
It turns out that the current CursorAnchorInfo#equals() is quite
inefficient because our CursorAnchorInfo#hashCode() tries to use almost
all the fields.  Even worse, as Matrix#hashCode() is hard-coded to 44,
we get the same hashCode() when comparing two CursorAnchorInfo objects
that are different only in transformation Matrix after such a complex
hash calculation.

In the real world scenarios, most likely calculation hash code only from
Matrix and composing text would be good enough for our use case, because
the former can cover UI scrolling scenario and the latter can cover the
text typing scenario.  More complex hash calculation is probably
inefficient.

With this CL, CursorAnchorInfo#hashCode() is pre-calculated only from
those two fields, and carefully reorder comparisons in
CursorAnchorInfo#equals() to improve the likelihood of returning false
with fewer comparisons.

Bug: 28105733
Change-Id: Id896adeab5ffe87ceddb2c2762d6d91475e28ec4
2016-04-11 01:38:23 -07:00
Jorim Jaggi
8f5701bd9f Only force drawing status bar background if target >= N
Since forcing it all the time has the potential of breaking
compatibility with apps, we don't want to do this.

Instead, we only force it if the app targets >= N.

We communicate this to window manager with
PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND.

We introduced this for 2-up split-screen. If we have an app
that doesn't draw the status bar background by itself, we
just force the whole bar to be black.

The same applies for windows that used translucent status
bar - we also force the whole bar to be black

Bug: 27285627
Change-Id: I7f1ceaa364f8a4e851935f77aa5e8d913bf11791
2016-04-08 20:49:20 -07:00
Phil Weaver
af93306a3d Merge "Reduce unnecessary accessibility cache clearing." into nyc-dev 2016-04-08 22:33:33 +00:00
Tenghui Zhu
3cb5ba75b7 Merge "Update the documentation on createCircularReveal" into nyc-dev 2016-04-08 21:24:04 +00:00
Phil Weaver
e37cfab6c6 Reduce unnecessary accessibility cache clearing.
Tracking if accessibility focus is being cleared because it is being
set to another view in the same window. In this case, leave
accessibility focus on the window.

This change greatly reduces the amount of cache re-indexing.
Previously we flushed the cache every time accessibility focus moved.

Bug: 28077283
Change-Id: If80899d36e7f58b22635f844bdd4ea37a55b875e
2016-04-08 13:06:44 -07:00
Phil Weaver
ab4d5ffd12 Merge "Eliminate side effects of a11y window title." into nyc-dev 2016-04-08 18:22:02 +00:00
John Reck
c724dcf23c Merge "Make stopped state a first-class thing" into nyc-dev 2016-04-08 15:09:42 +00:00
Teng-Hui Zhu
9b3be58403 Update the documentation on createCircularReveal
fix:25250431

Change-Id: I9fc76ad69b495c36a03c875a529f755a029fae96
2016-04-07 16:13:27 -07:00
John Reck
4a62effbfe Merge "Fix some edge cases" into nyc-dev 2016-04-07 23:08:10 +00:00
John Reck
945961f78a Make stopped state a first-class thing
Bug: 27286867

WindowManager has committed to stopped state
controlling the lifecycle of the Surface, so
make that a first-class thing in HWUI as well.

This makes it more resistent to things like
a rogue updateSurface() happening while mStopped=true,
leading to bad things down the line. Instead let
the surface be changed/updated as often as desired,
and just block any attempt to draw on that surface.

Also removes some unnecessary makeCurrent()s, as
EglManager ensures that we *always* have a valid
GL context now (using a pbuffer surface if there is
no window surface set)

Change-Id: Iead78ddebc7997e8fdb0c9534836352f5e54b9bd
2016-04-07 16:02:33 -07:00
Wale Ogunwale
246c209e4f Update surface insets on window elevation changes.
Window manager factors in the surface insets when calculating the
right crop for a window surface. Without the surface insets been
updated and new param forwarded to window manager, the window crop
will not be the right size and the window drop shadow might not show.

Bug: 27364161
Change-Id: Ieefeb8435543f3137672a065269cdeefca371111
2016-04-07 15:22:49 -07:00
Phil Weaver
9be3c7bdc7 Eliminate side effects of a11y window title.
ag/898112 added passing the window title to accessibility. To do that,
it also updated copy of the title in WindowManager.LayoutParams. That
was a behavior change, and the change broke cts tests that enforce that
the title in LayoutParams matches its expected format.

This change restores the previous behavior and adds a separate field to
LayoutParams to old an up-to-date title to pass to accessibility.

Bug: 28002185
Change-Id: Ia5b549113600b7c4fcc80b76c3f3a944dddaf483
2016-04-07 15:15:41 -07:00
John Reck
51f2d606dc Fix some edge cases
Bug: 27709981

This desperately needs a refactor, but to keep
the current (really needed & nice) behavior of
dispatching after sync finishes would be difficult
to handle cleanly without lots of ripping so... #yolo

Change-Id: I831a06c6ae7412a062720d68ecbe3085190f0258
2016-04-07 14:10:43 -07:00
Vladislav Kaznacheev
78740add9b Merge "Rename View.DragShadowBuilder#onProvideShadowMetrics parameters" into nyc-dev 2016-04-07 20:41:54 +00:00
Andrii Kulian
48143f7ec5 Merge "Caps Lock toggle with Meta + Alt (2/2)" into nyc-dev 2016-04-07 01:43:03 +00:00
Andreas Gampe
12a722e569 Merge "Frameworks/base: Move Animation.USE_CLOSEGUARD to inner class" into nyc-dev 2016-04-06 22:45:36 +00:00
Selim Cinek
82404bc068 Merge "Deprecated the contentinfo and the number" into nyc-dev 2016-04-06 20:45:56 +00:00
Andreas Gampe
56c560a9dd Frameworks/base: Move Animation.USE_CLOSEGUARD to inner class
Move flag to inner class to isolate Animation. This allows compile-
time initialization of Animation and subclasses.

Bug: 27265238
Change-Id: I3d95ab77e87de0c033f97545609461bdc9bd5d61
2016-04-06 13:03:02 -07:00
Andrii Kulian
112d05678b Caps Lock toggle with Meta + Alt (2/2)
Caps Lock implementation in frameworks/base

Bug: 27482276
Change-Id: Ie0d8145c049197d4591e012832a710e4f751d2ac
2016-04-06 12:36:33 -07:00
Selim Cinek
0f9dd1e2f5 Deprecated the contentinfo and the number
It was mainly adding noise to the notification
rather than useful information.

Bug: 27431551
Change-Id: Ie22c9935d60eeac1cca5d9ce97239aadfac9b3cf
2016-04-06 12:18:31 -07:00
Jorim Jaggi
11c62e17af Dynamic density change handling
- In PWM, make sure to read the height values after the new
configuration has been applied.
- Reset all navigation bar button icons when density changes.
- Adjust height of notification bar.
- Reload divider height values in SysUI and WM.
- Snap divider handle to a new position after loading the
new configuration, as the snap points change.

Bug: 26844819
Bug: 27450471
Bug: 27921696
Change-Id: I9e28f0c49f6367c5fcfac010e7a6e98a42e85996
2016-04-06 19:12:24 +00:00
Svetoslav Ganov
f13f14ef30 Merge "Remove unusable a11y APIs for ClickableSpans." into nyc-dev 2016-04-06 02:05:42 +00:00
Vladislav Kaznacheev
82fdb2e9d1 Rename View.DragShadowBuilder#onProvideShadowMetrics parameters
Added 'out' prefix to the two out parameters of this method.

Bug: 27810738
Change-Id: I2825cc90c2d2a1786578be31aff250ea6673ff9f
2016-04-05 17:06:44 -07: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