Commit Graph

8354 Commits

Author SHA1 Message Date
Phil Weaver
41ff5389da Back-port fixes for b/62196835
Bug: 62196835
Test: Created an accessibility service that displays a system
and a toast overlay, confirmed that it disappeared when we
reached the accessibility permission screen that uses this
flag.

Change-Id: Ic51ead670fc480e549512ba1d02f49d9c13bc3f0
2017-07-18 15:27:23 -07:00
Phil Weaver
576768a022 Make a11y node info parceling more robust am: d0e54c1c09 am: d87b12a4df am: a0f874d5c1 am: c30868369c am: 4c898e40ef
am: b35d6eadf3

Change-Id: I460b2e5df5cc1946eec4e9366e22c5de188642c9
2017-04-07 23:17:08 +00:00
Phil Weaver
b35d6eadf3 Make a11y node info parceling more robust am: d0e54c1c09 am: d87b12a4df am: a0f874d5c1 am: c30868369c
am: 4c898e40ef

Change-Id: Icdb456c12bf0e0d3675ab15fa0b82b482ff4ddeb
2017-04-07 23:09:35 +00:00
Phil Weaver
4c898e40ef Make a11y node info parceling more robust am: d0e54c1c09 am: d87b12a4df am: a0f874d5c1
am: c30868369c

Change-Id: If1cfc920db5aea27397a8f79125db944d5c4580b
2017-04-07 23:02:10 +00:00
Phil Weaver
c30868369c Make a11y node info parceling more robust am: d0e54c1c09 am: d87b12a4df
am: a0f874d5c1

Change-Id: I2bc5c091c1c685da2be951e4294483519481789f
2017-04-07 22:53:58 +00:00
Phil Weaver
a0f874d5c1 Make a11y node info parceling more robust am: d0e54c1c09
am: d87b12a4df

Change-Id: Ic10324338024f86cfc64b3e01c6380b26334d5a3
2017-04-07 22:46:31 +00:00
Phil Weaver
d87b12a4df Make a11y node info parceling more robust
am: d0e54c1c09

Change-Id: Ie4c34b84540bc928859ef1c271b4eb9d520fa6bc
2017-04-07 22:39:22 +00:00
Phil Weaver
d0e54c1c09 Make a11y node info parceling more robust
Fix a bug where a malformed Parceled representation
of an AccessibilityNodeInfo could be used to mess with
Bundles as they get reparceled.

Bug: 36491278
Test: Verified that POC no longer works, a11y cts still passes.
Change-Id: I10f24747e3ab87d77cd1deba56db4526e3aa5441
(cherry picked from commit 687bb44b43)
2017-04-07 18:53:26 +00:00
Elliot Waite
54de77470d Fix @links in reference docs.
Change-Id: I40cea46efd80c448640ff69753698fe8404da40b
2017-01-25 17:00:55 -08:00
Andriy Naborskyy
c5bf8bc74d DO NOT MERGE ANYWHERE Revert "DO NOT MERGE ANYWHERE libhwui: make setSurface asynchronous"
This reverts commit 80e6d8873b.

Bug: 32771832

Change-Id: Ia2f2ffd08dfd87cbce1ec750d6b61277799b536f
2016-11-10 03:17:08 +00:00
Chet Haase
5c0af88764 Clean up InputConnection.commitContent() javadocs DO NOT MERGE
Test: docs only, no test apart from verifying that it builds
Bug: #32158219 clean up InputConnection.commitContent() javadocs
Change-Id: I9b438d6b14aa8bc868fe41f7e0fe22b0e83800fb
2016-11-01 00:07:13 +00:00
Thomas Buhot
80e6d8873b DO NOT MERGE ANYWHERE libhwui: make setSurface asynchronous
from AOSP: https://android-review.googlesource.com/#/c/183305/

On the critical path of the cold launch of applications
the main thread of the started application tells the RenderThread
to create a surface. This process is synchronous and blocks
the main thread of the application until the creation
of the EGLContext is complete.
As a consequence the launch time of the application is delayed
by time spent allocating the EGL Context in the RenderThread.

With this optimization the launch time of any application
is improved (for example settings by 20 to 40 ms).

Change-Id: Ibf47aaa0abb8dedf7aa00693073db3785d9d6b08
Signed-off-by: Thomas Buhot <thomas.buhot@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
2016-10-25 18:48:50 -07:00
John Reck
6ba466ff3e SurfaceView only call forceDisconnect if isValid
Change-Id: I683c2f937f44d8b3d912839a3e91cbd5b5c7f437
Fixes: 31778946
Test: Manual, launch Cookie Jam then tap recents
2016-09-30 21:33:34 +00:00
Kevin Hufnagle
8aff16acb7 docs: Clarified definition of KeyEvent.Callback.onKeyMultiple() am: b248b1f689
am: fcd4541b06

Change-Id: If0e9042f0df23403a128e45ca61258930b7db982
2016-09-26 23:47:09 +00:00
Kevin Hufnagle
fcd4541b06 docs: Clarified definition of KeyEvent.Callback.onKeyMultiple()
am: b248b1f689

Change-Id: Ie7380c80fc81b65a89337c7c126abc1dfe58a76e
2016-09-26 23:12:46 +00:00
Kevin Hufnagle
358b289a4d Merge "docs: Clarified definition of KeyEvent.Callback.onKeyMultiple()" into nyc-dev 2016-09-26 22:46:02 +00:00
TreeHugger Robot
1bc452b5a5 Merge "Update/correct Drag and Drop docs." into nyc-mr1-dev 2016-09-23 23:23:22 +00:00
Mark Lu
357dfd039a docs: update javadoc description for View.setVisibility() method am: ae0459f532
am: 66192078c5

Change-Id: I7f3775c5fd9e63252cea9fafb8ed4b79c95bfcba
2016-09-23 22:28:41 +00:00
Mark Lu
66192078c5 docs: update javadoc description for View.setVisibility() method
am: ae0459f532

Change-Id: Ie217e46288a11e86b2e5b6e56d8ce5cb2a214861
2016-09-23 22:19:47 +00:00
Mark Lu
d91c303e6c Merge "docs: update javadoc description for View.setVisibility() method" into nyc-dev 2016-09-23 22:10:39 +00:00
Vadim Tryshev
c5109b3f6e Update/correct Drag and Drop docs.
This CL reflects the N MR1 behavior and
fixes some bugs.

Defining the compatibility behavior will be
done separately.

Bug: 31702571
Change-Id: I2a79871f47849f9f5a9c3377a3061208488e6ecb
2016-09-23 11:47:09 -07:00
TreeHugger Robot
9d88f86190 Merge "SurfaceView: Force surface disconnection before reuse." into nyc-mr1-dev 2016-09-22 22:52:16 +00:00
TreeHugger Robot
07d798b902 Merge "Removing private system ui flags from status bar flags logic." into nyc-mr1-dev 2016-09-20 23:00:37 +00:00
TreeHugger Robot
f902fb5fa8 Merge "For pre-N apps, cascade LOCATION and DROP events." into nyc-mr1-dev 2016-09-20 22:03:07 +00:00
TreeHugger Robot
0ef6986379 Merge "For pre-N apps, keep entered all parents of an drag-entered child." into nyc-mr1-dev 2016-09-20 20:27:25 +00:00
TreeHugger Robot
b1dd85c081 Merge "Eliminating the “black hole” effect with location/drop events." into nyc-mr1-dev 2016-09-20 02:52:24 +00:00
Winson
ab216609f1 Removing private system ui flags from status bar flags logic.
- Prevent third party apps from inadvertently changing internal SystemUI
  flags through a call to setSystemUiVisibility().  These flags are only
  set in the individual SystemUI components and can be updated in WMS
  directly.

Bug: 29875297
Change-Id: I5ea238c8fb16a0eccd6e993d95a912acb359cee6
2016-09-19 18:39:25 -07:00
Vadim Tryshev
45bee6b24c For pre-N apps, cascade LOCATION and DROP events.
To restore the pre-N behavior, if a view returns false from its
LOCATION or DROP event handler, the event goes to its parent.

Bug: 31559942
Change-Id: I322099ae1e8a5cbbcf8814f2cd274fbae53b6848
2016-09-19 13:55:46 -07:00
Dianne Hackborn
491bc2b8d6 Cherrypick so we can publish N version code description ASAP
Fix issue #30766518: Document what targeting N does

Also small documentation cleanup in a few other places.

(cherry picked from commit b34cbedb4e)

Change-Id: I9560b29faa4f2674277349272af8193122a1f95e
2016-09-19 19:31:19 +00:00
Kevin Hufnagle
b248b1f689 docs: Clarified definition of KeyEvent.Callback.onKeyMultiple()
The onKeyMultiple() event captures simulated, not actual, presses of
the same key in rapid succession. Adjusted the method definition to
include this clarification.

Bug: 2335983
Change-Id: Id01182d81dafe98df9e559ff24f9e1d5a1f949c3
2016-09-19 11:22:31 -07:00
Vadim Tryshev
ef12811560 For pre-N apps, keep entered all parents of an drag-entered child.
The bug complains that parents of a view under the drag location
don’t get drag events.
This is first of a 2 CLs that will restore the old functionality
(modulus fixing bugs) for pre-N apps.

This CL restores pre-N "nested" model of the entered state for
pre-N apps. It also makes possible restoring "nested" model for
LOCATION and DROP (implemented in a follow-up CL)

The CL replaces (for pre-N) generation of ENTER/EXIT events that
happens at the moment of changing the drag focus with generation
folowing the recursive delivery of coordinate-bearing events.

Bug: 31559942
Change-Id: Iead6bde9c1f88819b30afc78c1f424f7c1b64d51
2016-09-19 11:14:19 -07:00
Eino-Ville Talvala
c4faf0cb13 Docs: Note that a Surface acts like a weak reference
This causes frequent programming errors, when developers assume
that holding onto a Surface will keep its associated SurfaceTexture,
ImageReader, etc, also alive.

Bug: 31551063
Test: m offline-sdk-docs, manual viewing of result
Change-Id: I5fb5bb3e3c80c7d5d735417b1697e0fe9a62fc46
2016-09-16 22:58:11 +00:00
Vadim Tryshev
1edc6daf1d Eliminating the “black hole” effect with location/drop events.
Currently, a container view that doesn’t accept events, but has a
child that accepts events, prevents its parent from receiving
LOCATION/DROP events while the drag is over the container (but not
the child). This is a bug.

With this fix, such a container will prevent the parent from
invoking a (second) LOCATION/DROP event only if the event was really
delivered to any of its descendants.

To know whether the event was delivered, I added
DragEvent.mEventHandlerWasCalled member.

EXITED/ENTERED events are now generated upon delivery of the event
that has coordinates in it.

Current view that has drag focus is now global to reflect the fact
that it’s one per process.

Bug: 31469490
Change-Id: I248e8d1de87b7734853136eb4719f7571cea91d5
2016-09-16 11:20:16 -07:00
Gopal Krishna Shukla
d33c07550f Remove synchronization from getCurrentInputMethodSubtype()
getCurrentInputMethodSubtype() acquires InputManagerService.mMethodMap
within its body. There seems to be no reason for holding
InputMethodManager.mH to call getCurrentInputMethodSubtype(). Holding mH
can cause potential deadlock b/w two threads acquiring mH and mMethodMap
in different orders.

Bug: 31247871
Bug: 31273203
Bug: b.android.com/218423
Change-Id: I20cf2c20f49b1b02c0f7a18257b49d4bcc081b5d
2016-09-15 23:20:05 -07:00
Vladislav Kaznacheev
c9bab3001f Update JavaDoc for DragEvent.getLocalState am: 048f3bfaf0
am: fa05df640f

Change-Id: I535a5218bec2f5cf0ea9fa83aaa92ab70f05fcdd
2016-09-09 18:47:41 +00:00
Vladislav Kaznacheev
fa05df640f Update JavaDoc for DragEvent.getLocalState
am: 048f3bfaf0

Change-Id: I72bec54ac999ebce5779062ddc5effd1bb4d61ce
2016-09-09 18:42:34 +00:00
Vladislav Kaznacheev
048f3bfaf0 Update JavaDoc for DragEvent.getLocalState
Explicitly state that "local state" is local to the window
which has started the drag operation.

Bug: 31372686
Change-Id: Idbea7586c4e74097362067fa90390b97744181bb
2016-09-08 16:37:23 -07:00
TreeHugger Robot
c779cdc560 Merge "Change density for the correct user" into nyc-mr1-dev 2016-09-08 21:07:01 +00:00
Robert Carr
387838be95 SurfaceView: Force surface disconnection before reuse.
Prior to N, if a client received the surfaceDestroyed callback
from their SurfaceView they could trust that the surface would not be
reused. Now that is not true in multiple scenarios. If a client fails
to shut down its EGL context then, we could end up in a situation where,
the client will never disconnect. Then when we reuse the same
underlying IGraphicBufferProducer for surfaceCreated next
the app will crash with a double connect error. There is no valid
use of the surface inbetween surfaceDestroyed and surfaceCreated,
so we just force the disconnection after surfaceDestroyed.

Bug: 30236166
Change-Id: I2e3e4b3176492dc0c2d46a59e0b5a781bf9bc356
2016-09-08 13:54:29 -07:00
Mark Lu
c76ea3d727 docs: fix grammar mistake in TextureView am: e8691d19cb
am: c657eed270

Change-Id: Ie27e53ef83f31dc528df7db8973e6484d1b53230
2016-09-07 23:35:43 +00:00
Mark Lu
c657eed270 docs: fix grammar mistake in TextureView
am: e8691d19cb

Change-Id: I857deef5cf08c9cdaf0d6e8e99449e688bec5ba5
2016-09-07 23:29: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
Alan Viverette
df3a7cab8f Change density for the correct user
Bug: 30839993
Change-Id: I5368accddfc4a03b8025a257b4155fcdc6197f11
2016-09-06 17:13:41 -04: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
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
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
Mark Lu
ae0459f532 docs: update javadoc description for View.setVisibility() method
Bug: 19770068
2016-08-30 17:51:22 -07:00
Mark Lu
e8691d19cb docs: fix grammar mistake in TextureView
Bug: 6441115
2016-08-30 17:38:42 -07: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