Commit Graph

8852 Commits

Author SHA1 Message Date
Robert Carr
4522876250 SurfaceView: Correct coordinate space in windowPositionLostRT. am: 3387913237 am: d0c9771e49
am: bdf5fecc10

Change-Id: I3577db32b29be5ad42335e5eec5314ce50b3b878
2016-09-07 20:13:59 +00:00
Robert Carr
bdf5fecc10 SurfaceView: Correct coordinate space in windowPositionLostRT. am: 3387913237
am: d0c9771e49

Change-Id: I8cdb9f48a0c78e1c620b8e2c52a3dd7a45f8a90a
2016-09-07 19:34:49 +00:00
Robert Carr
d0c9771e49 SurfaceView: Correct coordinate space in windowPositionLostRT.
am: 3387913237

Change-Id: I7f28aab013bd6fe213a90e293664cc59ee6d23cf
2016-09-07 19:25:20 +00:00
Robert Carr
3387913237 SurfaceView: Correct coordinate space in windowPositionLostRT.
mWinFrame as set when returning from relayout will be in screen
space coordinates. repositionChild however expects coordinates relative to the
parent position (like relayout).

Bug: 31112993
Change-Id: Id4fcd7fcb771908e8a7db981207d19c99fb51b98
2016-09-07 11:07:18 -07:00
Phil Weaver
93521c0043 Stop double notifying a11y about Toasts. am: 532c7999c5 am: de13bcf08b
am: 6e56bb4c14

Change-Id: Ia95d2eb44f3deee794986a420a622fb1c7de9e15
2016-09-06 19:21:33 +00:00
Phil Weaver
6e56bb4c14 Stop double notifying a11y about Toasts. am: 532c7999c5
am: de13bcf08b

Change-Id: Ie3ed51a4fe4c6c818bc96e98c214ec7b610f507d
2016-09-06 16:46:46 +00:00
Phil Weaver
de13bcf08b Stop double notifying a11y about Toasts.
am: 532c7999c5

Change-Id: If8d025884b8a941386cd472403c1c93fee5a70af
2016-09-06 16:40:15 +00:00
Phil Weaver
85d18cce6d Merge "Stop double notifying a11y about Toasts." into nyc-mr1-dev 2016-09-06 16:33:42 +00:00
Svetoslav Ganov
71c510236c resolve merge conflicts of bde1d34 to master
Change-Id: Id3cef32bb97cfe8483001e71207b65bc0bc6e304
2016-09-02 18:04:29 -07:00
Svetoslav Ganov
bde1d3458f Prevent apps to overlay other apps via toast windows am: aa07653d2e
am: dea62c6f58

Change-Id: I7ee488e4ac0fc312405680d04a480d473c176ac5
2016-09-02 23:46:20 +00:00
Svetoslav Ganov
dea62c6f58 Prevent apps to overlay other apps via toast windows
am: aa07653d2e

Change-Id: I309615a989eade43401b086da42ff6522d000b68
2016-09-02 23:36:59 +00:00
Svetoslav Ganov
aa07653d2e Prevent apps to overlay other apps via toast windows
It was possible for apps to put toast type windows
that overlay other apps which toast winodws aren't
removed after a timeout.

Now for apps targeting SDK greater than N MR1 to add a
toast window one needs to have a special token. The token
is added by the notificatoion manager service only for
the lifetime of the shown toast and is then removed
including all windows associated with this token. This
prevents apps to add arbitrary toast windows.

Since legacy apps may rely on the ability to directly
add toasts we mitigate by allowing these apps to still
add such windows for unlimited duration if this app is
the currently focused one, i.e. the user interacts with
it then it can overlay itself, otherwise we make sure
these toast windows are removed after a timeout like
a toast would be.

We don't allow more that one toast window per UID being
added at a time which prevents 1) legacy apps to put the
same toast after a timeout to go around our new policy
of hiding toasts after a while; 2) modern apps to reuse
the passed token to add more than one window; Note that
the notification manager shows toasts one at a time.

bug:30150688

Change-Id: Ia1dae626bd9e22541be46edb072aa288eb1ae414
2016-09-02 14:00:07 -07:00
Yohei Yukawa
bce2195b9f Fix typos in JavaDoc for InputConnection am: 1ab959a6e0 am: 1a000651d5
am: cc2a206d92

Change-Id: Ia3d7a6f3a2ed2dc846642ce51c6b5e46ab72d0f2
2016-09-02 20:22:45 +00:00
Yohei Yukawa
cc2a206d92 Fix typos in JavaDoc for InputConnection am: 1ab959a6e0
am: 1a000651d5

Change-Id: Ia5dd58a4c85c871a3bae9536f6571fba9930e64a
2016-09-02 17:50:16 +00:00
Yohei Yukawa
1a000651d5 Fix typos in JavaDoc for InputConnection
am: 1ab959a6e0

Change-Id: I8e945ed58761262ebe3b7521de1c4b701ab6e195
2016-09-02 00:21:37 +00:00
Yohei Yukawa
1ab959a6e0 Fix typos in JavaDoc for InputConnection
This CL fixes typos in JavaDoc for InputConnection.

This CL slso updates the content regarding a new API that was added in
API 25 [1][2].

 [1]: Iaadf934a997ffcd6000a516cc3c1873db56e60ad
      152944f490
 [2]: Ica1ba3154795c1bf44e140dfe639b299f83cd8af
      adebb52588

Bug: 31249896
Change-Id: Icafedb15943a84f8e5b03ef9eb3a50627d508bdd
2016-09-01 15:42:29 -07:00
Phil Weaver
5ef2e14b59 Merge "Add tests for accessibility cache." 2016-09-01 15:57:09 +00:00
sergeyv
22ddb31dce TextureView: clean up displaylists am: 17dd01b693 am: ac2ca87e92
am: bb37b7b613

Change-Id: I12252ddc60ad7f52fe1604ac84042a759b8373c4
2016-08-31 23:47:32 +00:00
Eino-Ville Talvala
749967cfa5 android.view.Surface: Add parceling warning am: f005f5ed88 am: 286b1a83e4
am: b13b6bd20e

Change-Id: I05b118022efb506ba57e93e1f58a077ebb951f55
2016-08-31 22:53:05 +00:00
Jorim Jaggi
32cbdcc8c0 resolve merge conflicts of c5bafe2 to master
Change-Id: I19dd5c88c664313c2f8b47d8f8fd556f630c8bf1
2016-08-31 13:51:50 -07:00
Pablo Ceballos
1209bc144b Fail createVirtualDisplay with single-buffered Surface am: aff2f94939 am: d387b20dcb
am: 658f26634f

Change-Id: I499988d911ffd5ccd4b5bc10c75f3e0ed9a897c8
2016-08-31 02:56:35 +00:00
Adam Powell
8c52bf51a2 Fixes for ImageView drawable visibility dispatch am: 06f9eb8b62 am: fd86f7fdfd am: ee2f4d890e
am: 393279da8f

Change-Id: I7e42805b096de31e388cd86ee87b44f312841aed
2016-08-31 00:54:04 +00:00
sergeyv
bb37b7b613 TextureView: clean up displaylists am: 17dd01b693
am: ac2ca87e92

Change-Id: I69adecc118bed63acf46f6a1a64c9cc7e376edaa
2016-08-31 00:37:51 +00:00
sergeyv
ac2ca87e92 TextureView: clean up displaylists
am: 17dd01b693

Change-Id: Ib32a64f032b9f7230414f038417b2151f1e6e4be
2016-08-31 00:32:17 +00:00
TreeHugger Robot
c0e2e0ad62 Merge "TextureView: clean up displaylists" into nyc-mr1-dev 2016-08-31 00:26:46 +00:00
Phil Weaver
532c7999c5 Stop double notifying a11y about Toasts.
TalkBack was speaking all Toasts twice because we were
sending both NOTIFICATION and a WINDOW_STATE_CHANGE events
when Toasts were displayed.

Stop sending the WINDOW_STATE_CHANGE event for toasts.
Bug: 30570188
Change-Id: I26c6dc50350dfd4daf2a706b94fadcf5d1e03557
2016-08-30 15:41:59 -07:00
sergeyv
17dd01b693 TextureView: clean up displaylists
bug:31066756
Change-Id: Ibc61825ad1ed12479e9de18cc06be7401d3fc93a
2016-08-30 14:03:32 -07:00
Eino-Ville Talvala
b13b6bd20e android.view.Surface: Add parceling warning am: f005f5ed88
am: 286b1a83e4

Change-Id: I799dca3ed9da618ec88b8d554520aba649918d94
2016-08-30 17:57:12 +00:00
Eino-Ville Talvala
286b1a83e4 android.view.Surface: Add parceling warning
am: f005f5ed88

Change-Id: Id2c772873fbf98653e751036790484d0fbf7bb16
2016-08-30 17:50:12 +00:00
Eino-Ville Talvala
0656931d18 Merge "android.view.Surface: Add parceling warning" into nyc-mr1-dev 2016-08-30 17:44:11 +00:00
Jorim Jaggi
c5bafe26cb Add animation when unoccluding windows (1/2) am: 6626f54e65
am: 314c05db45

Change-Id: I0e9d85e8f90d00fe835c0622438ac5b6afd2b52d
2016-08-30 02:33:24 +00:00
Eino-Ville Talvala
f005f5ed88 android.view.Surface: Add parceling warning
Surface is parcelled partly in java, partly in native, and any fields
added in java have to be accounted for in the native side as well.

Add a warning to avoid issues in the future

Bug: 31162160
Change-Id: I48ca1bc3eea29f1ac3d3065f6defb6ed2be4052a
2016-08-29 17:51:23 -07:00
Jorim Jaggi
314c05db45 Add animation when unoccluding windows (1/2)
am: 6626f54e65

Change-Id: I09be1e1b7d830067c354c6cdfd940deafa027a22
2016-08-30 00:25:52 +00:00
Jorim Jaggi
6626f54e65 Add animation when unoccluding windows (1/2)
Before there was a jump-cut when a window that was occluding Keyguard
was going away, leading to an ugly flicker. To fix this, we do the
following.

- Always show windows with FLAG_SHOW_WHEN_LOCKED above lockscreen, even
if they don't "match" the currently occluding app (which is null in the
animation case)
- Move wallpaper behind last window that is not hidden by policy, so the
window doesn't get occluded by the wallpaper.
- Add a flag in the setOccluded call whether to animate or not. SystemUI
then plays a nice animation when it's set.
- Override the animation to always be the animation that happens when we
exit a window which is revealing the wallpaper behind, to make it
consistent with the home screen case.

Fixes: 30829255
Change-Id: Ib3fe20fc9003a0f9f291c974740f044ed8707e75
2016-08-29 14:15:33 -07:00
Pablo Ceballos
658f26634f Fail createVirtualDisplay with single-buffered Surface am: aff2f94939
am: d387b20dcb

Change-Id: I8d438809f79ac8b333acaadc14f751f4282b93d7
2016-08-29 18:08:29 +00:00
Pablo Ceballos
d387b20dcb Fail createVirtualDisplay with single-buffered Surface
am: aff2f94939

Change-Id: I5cfcbd0352240d7ac2a9bb0804896cae5396450e
2016-08-29 17:59:07 +00:00
Pablo Ceballos
23784fd6d9 Merge "Fail createVirtualDisplay with single-buffered Surface" into nyc-mr1-dev 2016-08-29 17:42:00 +00:00
Adam Powell
393279da8f Fixes for ImageView drawable visibility dispatch am: 06f9eb8b62 am: fd86f7fdfd
am: ee2f4d890e

Change-Id: I8cb5a6e2ffc7a62cf6fe68176482cdaefc596ecc
2016-08-27 01:31:07 +00:00
Adam Powell
ee2f4d890e Fixes for ImageView drawable visibility dispatch am: 06f9eb8b62
am: fd86f7fdfd

Change-Id: I155ed970c7f58895419778f01eebc5babb141c33
2016-08-27 01:25:05 +00:00
Adam Powell
fd86f7fdfd Fixes for ImageView drawable visibility dispatch
am: 06f9eb8b62

Change-Id: I8b7d8c73f0a718963a191fd5460517e5a7445974
2016-08-27 01:19:28 +00:00
Chong Zhang
818b7218c5 DO NOT MERGE -- Only use saved surface if started by launcher or moved to front am: 813be138ae am: 9f92bc2602
am: 8673e303a7

Change-Id: I34d205de8f368df05e068548a69448da397d2e41
2016-08-26 23:40:04 +00:00
Chong Zhang
8673e303a7 DO NOT MERGE -- Only use saved surface if started by launcher or moved to front am: 813be138ae
am: 9f92bc2602

Change-Id: I94e29886a23fc829b4608a908df90746a4d794e5
2016-08-26 23:33:27 +00:00
Chong Zhang
9f92bc2602 DO NOT MERGE -- Only use saved surface if started by launcher or moved to front
am: 813be138ae

Change-Id: Id64071882a0b90212b92234a4d0bdc67f2ee5e1a
2016-08-26 23:28:17 +00:00
Adam Powell
06f9eb8b62 Fixes for ImageView drawable visibility dispatch
Some apps rely on their drawables not getting not-visible hints via
setVisible when the window visibility changes. This manifests as
additional animations, such as crossfading from placeholders when the
window becomes visible again.

Apps should be able to handle this case in the future now that we have
more detailed reporting via onVisibilityAggregated, but to keep
existing apps working as-is, ImageView now operates in a compatibility
mode for targetSdkVersion < N and will only dispatch visibility
signals based on the same triggers used in M. New apps get the more
detailed signals.

Fix a bug where window visibility dispatch via onVisibilityAggregated
would double-dispatch "not visible" when the window is transitioning
from GONE => INVISIBLE or INVISIBLE => GONE.

Make the growing set of compatibility check fields in ImageView
static, matching the pattern from View.

Bug 30216207

Change-Id: I88875260bf6aaa23687c7d51353de8d633383531
2016-08-26 22:59:39 +00:00
Chong Zhang
813be138ae DO NOT MERGE -- Only use saved surface if started by launcher or moved to front
Restrict saved surface to launcher start (ACTION_MAIN&CATEGORY_
LAUNCHER), or there is no intent at all (eg. task being brought to
front). If the intent is something else, likely the app is going
to show some specific page or view, instead of what's left last time.

This solves problems like the launcher shortcuts on DeckClock,
each of them is a different intent and will show one specific
view regardless of last states. Another example is Chrome tab
opened directly by action VIEW to open some URL.

(Note that this doesn't solve the problem with Chrome homescreen
shortcuts, it will still start with saved surface (if Chrome
is already open). This is because the shortcut is a trampoline
activity that starts the real chrome tab activity, but when
the trampoline is started, the whole task is already brought
to front, and ChromeTab could become visible with the task
before we actually start it.)

bug: 31055479
bug: 27747315

Change-Id: Id3e61c61ef516b0edc1f174320f02661222f226b
(cherry picked from commit ad24f96def)
2016-08-26 15:41:58 -07:00
Chong Zhang
885f6495ac Merge "Only use saved surface if started by launcher or moved to front" 2016-08-26 19:30:40 +00:00
Alan Viverette
077cde7c6e Clean up VideoView, SurfaceView constructors am: 768ca7d19b am: 9af5e5b31b
am: 54131127e8

Change-Id: I8e10d0145e84489707623a934df352e61654a57c
2016-08-26 18:26:04 +00:00
Chet Haase
62275034b0 Merge "Clarify docs for various methods in View" 2016-08-26 17:16:24 +00:00
Chong Zhang
ad24f96def Only use saved surface if started by launcher or moved to front
Restrict saved surface to launcher start (ACTION_MAIN&CATEGORY_
LAUNCHER), or there is no intent at all (eg. task being brought to
front). If the intent is something else, likely the app is going
to show some specific page or view, instead of what's left last time.

This solves problems like the launcher shortcuts on DeckClock,
each of them is a different intent and will show one specific
view regardless of last states. Another example is Chrome tab
opened directly by action VIEW to open some URL.

(Note that this doesn't solve the problem with Chrome homescreen
shortcuts, it will still start with saved surface (if Chrome
is already open). This is because the shortcut is a trampoline
activity that starts the real chrome tab activity, but when
the trampoline is started, the whole task is already brought
to front, and ChromeTab could become visible with the task
before we actually start it.)

bug:27747315

Change-Id: Id3e61c61ef516b0edc1f174320f02661222f226b
2016-08-26 09:58:19 -07:00
Phil Weaver
b010b1270f Add tests for accessibility cache.
Also adding ability to check for unrecycled objects.

Also fixing a few missing recycles and making sure we
track initial focus if it arrives without an event.

Change-Id: I4d22565ae69946a19f4acb1ac726832f4347340d
2016-08-25 17:37:55 -07:00