Commit Graph

8437 Commits

Author SHA1 Message Date
Aga Madurska
009fab6070 Add support for round scroll bars to View.java
am: b19d0f9800

Change-Id: I23faff9b31a9a71c767aaabca69774f8582bfdb2
2016-07-25 16:39:58 +00:00
Aga Madurska
b19d0f9800 Add support for round scroll bars to View.java
Change-Id: If94a29d68cee504f7d31519b96f7b4b8a3af6bfa
2016-07-25 16:14:55 +01:00
Chong Zhang
b76adc5117 Clean up surfaces when app is resumed without being stopped.
am: 45e6d2dc8b

Change-Id: I9ae5c2a9c6a93246338221252cf943db6763e1c4
2016-07-22 17:17:26 +00:00
Adam Powell
e45f9d1bf6 Add View reveal on focus hint
am: 7ec3fb3947

Change-Id: Id3af05b3040821a94e3fd694d761fd317568fa5a
2016-07-22 02:24:09 +00:00
Chong Zhang
45e6d2dc8b Clean up surfaces when app is resumed without being stopped.
When quickly toggling between two apps, app could be resumed while
it's stopping but not yet stopped. Upon resuming, it could have
surfaces that's marked mDestroying and waiting for the stopped
to be destroyed.

We need to dispose these surfaces properly. If the window is already
removed, we destroy them. Otherwise, clear mDestroying flag so that
the window is ready to be used again. Leaving mDestroying=true makes
the window ineligible for certain things such as receiving wallpaper.

bug: 30255354
Change-Id: Id881653550595ab8e702d6950949bf202ac5a0d9
2016-07-21 10:17:39 -07:00
Adam Powell
7ec3fb3947 Add View reveal on focus hint
Provide a way for views to signal that they would prefer not
to have their parents scroll or otherwise rearrange when they
request focus to try to show the full focused view to the user.
In some cases this can be disruptive to the UX.

As of now, framework views do not respect this hint and custom
views such as those found in currently deployed support libs
don't either. The policy is left open to ViewParent subclasses
that implement requestChildFocus.

Bug 30256922

Change-Id: I55194de888fe2b8129be9a9aa21aa5e18cbb8296
2016-07-20 17:42:10 -07:00
Michael Wright
49bcc5dd80 Merge commit 'f8bc27d9683e4089cdfd778dcb61ae67f44665b7' into manual_merge_f8bc27d 2016-07-20 19:41:58 +01:00
TreeHugger Robot
f8bc27d968 Merge "Rename color transform to color mode and persist the value." into nyc-mr1-dev 2016-07-20 17:21:35 +00:00
Phil Weaver
5c749b8254 Merge \"Suppress exceptions for corner-case a11y events.\" into nyc-mr1-dev
am: 39abe33b50

Change-Id: If169e5ab2a6241e6df720fa427a9eaee61d3cdc8
2016-07-20 16:57:52 +00:00
Phil Weaver
890202bde4 Suppress exceptions for corner-case a11y events.
Apps are told to query AccessibilityManager#isEnabled before
calling sendAccessibilityEvent. If accessibility is disabled
between the two calls, an app can crash. We can guarantee that
this won't happen on a process's main thread, but guaranteeing
it for all threads is messier. Rather than add the complexity
of tracking the state for all threads, only log an error in the
corner case that an accessibility event is requested on a
thread that doesn't have the process's main looper.

Bug: 28985452
Change-Id: I8369deefd83b0a6b04936ddfce55c53147756f1f
2016-07-19 16:44:28 -07:00
Michael Wright
1c9977b762 Rename color transform to color mode and persist the value.
Also, standardize on a set of possible modes for the displays to
enter and separate the configuration of the color mode from the
configuration of the display mode.

Bug: 29044347

Change-Id: I6af0a7d1f11bc72d4cefc380f115c1fb00788864
2016-07-18 19:49:18 +01:00
Vladislav Kaznacheev
b604ade452 Merge \"Always return valid ClipDescription for ACTION_DRAG_EXITED\" into nyc-mr1-dev
am: 278676bdeb

Change-Id: I51a339a1a821439b5c90079812aea56833872b75
2016-07-15 18:38:08 +00:00
Vladislav Kaznacheev
7fe1f798bf Always return valid ClipDescription for ACTION_DRAG_EXITED
Bug: 30148704
Change-Id: I5f5cbb35a343e6ef61bed9ff92e3921a4ecce0c0
2016-07-14 17:15:02 -07:00
Chris Banes
54224d40f9 Merge \"Read translation and elevation attributes as floats\" into nyc-mr1-dev
am: 6487312544

Change-Id: I22bdfa3abbc85ffb8de7bef62fae0e2e68e2368a
2016-07-14 09:21:17 +00:00
Chris Banes
6487312544 Merge "Read translation and elevation attributes as floats" into nyc-mr1-dev 2016-07-14 09:11:05 +00:00
Phil Weaver
35dc926772 Merge \"Behave if the same view gets a11y focus twice.\" into nyc-mr1-dev
am: 93d51af336

Change-Id: I7ea7779f5f8735d6c10743eb3e7199b5a1d6c85d
2016-07-14 01:31:25 +00:00
Phil Weaver
0aaf427550 Behave if the same view gets a11y focus twice.
In some corner cases, ViewRootImpl#setAccessibilityFocus
can be called twice for the same view. Make sure we're
actually changing views before clearing accessibility focus
to avoid inconsistent state.

Bug: 29637593
Change-Id: I5dc6f05bdeaec55c352417bfca92c11bd03c3c10
(cherry picked from commit da4692774c)
2016-07-13 21:26:16 +00:00
Chong Zhang
12fad318b1 Merge \"Revert changes to force layout after insets changes\" into nyc-mr1-dev
am: 185131442b

Change-Id: I7d3eaa1d0337c0ae62ee24169b76f1938b8b9e68
2016-07-13 19:44:37 +00:00
Chong Zhang
185131442b Merge "Revert changes to force layout after insets changes" into nyc-mr1-dev 2016-07-13 19:39:08 +00:00
Chong Zhang
75eccbd0ff Revert changes to force layout after insets changes
Alternative fix for b/29391054 ag/1152795 sends an MOVE message to
client which also force a layout, so we no longer need to force
it after the insets change in the traversal.

Reverting the following two related fixes as it does more
measures than necessary.

bug: 29391054
bug: 29533997
bug: 29634368

Revert "Fix layout issue after insets changed"

This reverts commit 76fdbb72c9.

Revert "Do a forceLayout if pending insets is changed after relayout window"

This reverts commit 71f2c31469.
2016-07-13 19:24:04 +00:00
Chris Banes
b20891b08a Read translation and elevation attributes as floats
Since they're recorded as floats, we should keep the
precision from the attribute values.

BUG: 30109000
Change-Id: I07e6a3ff771198bcb24d32e3dd06a79f10e51a7e
2016-07-13 13:55:01 +00:00
Zak Cohen
ee2f46485e Merge \"Adds a screenshot wallpaper method to WallpaperManagerService.\" into nyc-mr1-dev
am: b4d4ce31ab

Change-Id: I4737e4d758335240614d2d2b51c11b8c739160fc
2016-07-13 10:22:02 +00:00
Zak Cohen
b4d4ce31ab Merge "Adds a screenshot wallpaper method to WallpaperManagerService." into nyc-mr1-dev 2016-07-13 10:15:02 +00:00
Vladislav Kaznacheev
9c225d60e0 Fix docs for View.DRAG_FLAG_GLOBAL am: 9a44eaec53
am: 9ac6a460c8

Change-Id: I62af5eba6621e25c51cbcbfe7f9670e7be1449a3
2016-07-13 00:17:39 +00:00
Vladislav Kaznacheev
9ac6a460c8 Fix docs for View.DRAG_FLAG_GLOBAL
am: 9a44eaec53

Change-Id: I82786f107815361b73655b92dc4e54ee255296d9
2016-07-13 00:08:50 +00:00
Vladislav Kaznacheev
9a44eaec53 Fix docs for View.DRAG_FLAG_GLOBAL
Document that cross-app drags only involve apps compiled for API 24 or later.

Bug: 30076806
Change-Id: Ia630f4623c23d787b52692ff1f6475408cefa177
2016-07-12 15:24:48 -07:00
Zak Cohen
3683fb1e1d Adds a screenshot wallpaper method to WallpaperManagerService.
Bug: 29963541

Change-Id: If0a574004f8bddf1ba170587a8187253fe045ef4
2016-07-12 17:18:36 +00:00
Vladislav Kaznacheev
dc4d435dde Merge \\"Fix docs for DragEvent\\" into nyc-dev am: b6fa207c67
am: 879b3fb9ce

Change-Id: I93210c64927b5240622099a5715068f36d71bd57
2016-07-11 23:30:49 +00:00
Vladislav Kaznacheev
78004643e1 Merge \"Fix docs for DragEvent\" into nyc-dev
am: b6fa207c67

Change-Id: I7acfd89bb3cd51273007d8dc7b899ae6b95c7937
2016-07-11 23:26:31 +00:00
Vladislav Kaznacheev
879b3fb9ce Merge \"Fix docs for DragEvent\" into nyc-dev
am: b6fa207c67

Change-Id: I33c231d19065a5acc26472d4c3f175351d2a6d10
2016-07-11 23:26:05 +00:00
Vladislav Kaznacheev
3067bc69d9 Fix docs for DragEvent
Document that getClipDescription() and getLocaState() do not return valid data
when getAction() == DragEvent.ACTION_DRAG_ENDED.

Bug: 30016099
Change-Id: Id98fe8c5d6f052fc51c8c9e8d55329e162bd96b1
2016-07-11 13:52:22 -07:00
Tim Murray
03b34e402c Merge changes from topic \'fifo\' into nyc-mr1-dev
am: a96d445aef

Change-Id: If4a5c3f65cb611aecf82ad49ad6d992f098cbfb1
2016-07-07 20:48:27 +00:00
Tim Murray
33eb07f575 Add new mode for SCHED_FIFO on UI and RenderThreads.
Add a new mode, controlled by sys.use_fifo_ui property, that enables the
top app's UI and RenderThread to be SCHED_FIFO. This eliminates almost
all jank due to scheduling competition with non-UI critical
threads. This mode may not be suitable for all devices.

bug 24503801

Change-Id: I7b8a31830ad80f7efa00236928d5476998ed4e00
2016-07-07 12:55:31 -07:00
Andrii Kulian
1c836639b5 Merge \"Clarify documentation of Display#getSize()\" into nyc-mr1-dev
am: 5552dc341f

Change-Id: I6d43f9c0a572307c3e45462e571a319f78c63930
2016-07-01 23:55:32 +00:00
Andrii Kulian
5552dc341f Merge "Clarify documentation of Display#getSize()" into nyc-mr1-dev 2016-07-01 23:49:38 +00:00
Andrii Kulian
5f57a3d6d8 Clarify documentation of Display#getSize()
Bug: 25945436
Change-Id: I8574faf56427f4a6fb7155c08e31ef1e0bdb2cfa
2016-07-01 12:41:39 -07:00
Robert Carr
0dbe6db014 Merge changes I38cff63b,Id3739bbc,If052cd8c into nyc-mr1-dev
am: 30efa24b11

Change-Id: I9ed6ae1f45221ff702162a1608bb8db7059058f5
2016-07-01 19:38:49 +00:00
TreeHugger Robot
30efa24b11 Merge changes I38cff63b,Id3739bbc,If052cd8c into nyc-mr1-dev
* changes:
  Fix synchronization error for Seamless rotation.
  Disable seamless rotation while animating.
  Force CROSSFADE rotation when launching from double tap gesture.
2016-07-01 19:27:36 +00:00
Robert Carr
fd10cd1989 Force CROSSFADE rotation when launching from double tap gesture.
When activity transition triggers a rotation change, the starting
window will normally be the top window at the time we try
to select the window animation. However, these layout params won't
have the apps rotation animation set (as the client code will set that
on the real window, not the starting window). Eventually we would
like to add API to specify rotation animation via manifest to solve
this problem cleanly. In the mean time, we can force a specific rotation
animation from the double tap gesture, and clean up some camera
ugliness. We accomplish this by attaching an animation hint to
ActivityOptions.

Bug: 28838855
Change-Id: If052cd8cbae76651da43f3b4c590cd9dcc1afc0f
2016-07-01 11:05:40 -07:00
Yohei Yukawa
1a932852d4 Merge \"Automatically grant URI permission as needed.\" into nyc-mr1-dev
am: d2e046a720

Change-Id: I376fdeddb57a923fd3a71086ef6f8e6021347cbb
2016-07-01 01:23:27 +00:00
Yohei Yukawa
f3806f57a5 Automatically grant URI permission as needed.
With this CL, the system automatically grants a temporary URI permission
to the target application when the IME calls
InputConnection#commitContent() with
InputConnection#INPUT_CONTENT_GRANT_READ_URI_PERMISSION.  The temporary
permission will be revoked by any of the following events:
 - InputContentInfo#releasePermission() is explicitly called by the
   target application.
 - The target application returned false in
   InputConnection#commitContent().
 - All the InputContentInfo instances copied from the original one are
   GC-ed.

If we do not do this and there is an application that forgot to call
that method then there is no way for IME developers to prevent
permission denial from happening in the application except for relaxing
the default permission of the ContentProvider just because of such an
application.

Although application developers are still expected to explicitly call
InputContentInfo#{request,release}Permission(), forgetting to call
InputContentInfo#requestPermission() does not hurt the user anymore.

With this CL, calling InputContentInfo#requestPermission() after calling
InputContentInfo#releasePermission() is also allowed.

Bug: 29892936
Change-Id: Id955435dd2e72549ee7134f46b3c6951581694ad
2016-06-30 16:27:46 -07:00
Yohei Yukawa
359acdee5f Merge \"Revert \"Remove InputContentInfo#requestPermission()\"\" into nyc-mr1-dev
am: 8acb1a7570

Change-Id: If7fab0527a3d4f671985a663fc6aaf808d527ace
2016-06-30 19:37:35 +00:00
Yohei Yukawa
79d1c75a3f Revert "Remove InputContentInfo#requestPermission()"
This reverts commit c4b8f36de5.

Having InputContentInfo#requestPermission() should not hurt developers,
but we can polish the behavior in a subsequent CL without changing
the API.

Bug: 29450031
Bug: 29892936
Change-Id: I1b43c19417b643d0c269af860db2d309b73a90d5
2016-06-30 19:24:43 +00:00
Yohei Yukawa
854e6f8501 Merge \"Remove InputContentInfo#requestPermission()\" into nyc-mr1-dev
am: c80c64a97b

Change-Id: Iaaf2b610852510e604c482568c0ef1dc6495e179
2016-06-30 18:35:39 +00:00
Yohei Yukawa
c4b8f36de5 Remove InputContentInfo#requestPermission()
It turns out that requiring editor authors to call
InputContentInfo#requestPermission() as needed is just confusing and can
cause compatibility issues, because if an editor author forgot to call
that method then there would be no way for IME developers to prevent
permission denial except for relaxing the default permission of the
ContentProvider just because of such an application. This is not what we
want to see.

My conclusion is that the system should automatically call
InputContentInfo#requestPermission() (or do any equivalent operation)
when InputConnection#INPUT_CONTENT_GRANT_READ_URI_PERMISSION is
specified, like we have done in Context#startActivity().

With this CL, the system automatically grants a temporary URI permission
to the target application when the IME calls
InputConnection#commitContent() with
InputConnection#INPUT_CONTENT_GRANT_READ_URI_PERMISSION, and the
temporary permission will be revoked by any of the following events:
 - InputContentInfo#releasePermission() is explicitly called by the
   target application.
 - The target application returned false in
   InputConnection#commitContent().
 - All the InputContentInfo instances copied from the original one are
   GC-ed.

Bug: 29450031
Bug: 29892936
Change-Id: I37fb744e4d3d1c59177fb0a9be4ef5c325c9a39f
2016-06-30 09:32:54 -07:00
Yohei Yukawa
badcecb2aa Merge \"Use a flag to grant a temporary URI permission.\" into nyc-mr1-dev
am: cb56978912

Change-Id: I20e1481c6f68a5af4f33e699f5bc505b3a4c1457
2016-06-27 20:30:49 +00:00
Yohei Yukawa
cb56978912 Merge "Use a flag to grant a temporary URI permission." into nyc-mr1-dev 2016-06-27 20:18:51 +00:00
John Reck
bffa989d28 Merge \\"Add missing null checks\\" into nyc-dev am: 02e391585d
am: 0fc8707e2d

Change-Id: I9b8122c0a67be36b00cae06ce543a9de7aca8d40
2016-06-27 17:12:05 +00:00
John Reck
0fc8707e2d Merge \"Add missing null checks\" into nyc-dev
am: 02e391585d

Change-Id: Idcba5c8393609034b70382844d499b45759b5e6d
2016-06-27 17:06:24 +00:00
John Reck
8a953d02d9 Merge \"Add missing null checks\" into nyc-dev
am: 02e391585d

Change-Id: Ib081c05d197b01ec3a9039941dd1265bf0b9b92c
2016-06-27 17:06:22 +00:00