Commit Graph

8330 Commits

Author SHA1 Message Date
Kevin Hufnagle
f3f234ff36 docs: Clarified definition of KeyEvent.Callback.onKeyMultiple()
am: b248b1f689

Change-Id: I9f1c7377e09fc6a7831ab3e49784c21c4a3cf873
2016-09-26 23:10:26 +00:00
Mark Lu
56be5c1ae0 docs: update javadoc description for View.setVisibility() method
am: ae0459f532

Change-Id: I3c9d70fc6fc2b6770076454cdfbb1ed1b619dfb9
2016-09-23 22:18:35 +00:00
Gopal Krishna Shukla
621e87d72f Merge "Provide synchronization to setview to avoid NPE" am: b05b93a674
am: 810c31fdca

Change-Id: Ibd664e4836eaceef8a4d8363793667afa757387a
2016-09-23 13:11:23 +00:00
Gopal Krishna Shukla
f7abcda5f2 Provide synchronization to setview to avoid NPE
If setView() will be called from two different threads
then mView property of a View object may have inconsistent
value. For instance, setView() may set mView to null causing
NullPointerException. Synchronize root.setView() as well to
avoid this.

Change-Id: I5f9cf47ece5d4aca575bd8644ecfcee0ed43d843
2016-09-22 04:48:24 +00:00
Dianne Hackborn
bae14052a0 Cherrypick so we can publish N version code description ASAP
am: 491bc2b8d6

Change-Id: I27da25afcaca61ac0159699c0cfc8fbf2338aa2c
2016-09-20 17:05:09 +00: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
Gopal Krishna Shukla
e790c7b2fe Merge "Remove synchronization from getCurrentInputMethodSubtype()" am: 85539bed77
am: d3e1e473df

Change-Id: Iad174757bbb77ce2eef4bd39fd218b64f6e35931
2016-09-16 05:36:36 +00:00
Gopal Krishna Shukla
fa1886feea 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-16 03:41:46 +00:00
Vladislav Kaznacheev
f96d962aac Update JavaDoc for DragEvent.getLocalState
am: 048f3bfaf0

Change-Id: I53373b3292c4a10a01afa73eb417c105a83c970e
2016-09-09 18:42:35 +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
Mark Lu
4ff96480b3 docs: fix grammar mistake in TextureView
am: e8691d19cb

Change-Id: I06b70cf94595bbb1b3903b1d17d201ac86f169a0
2016-09-07 23:29:26 +00: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
Chris Craik
dbf69818a2 Cherry pick TextureView fixes
am: 2e8a8a2432

Change-Id: I0f650bf2647f9141f9639a4e8875170640d78237
2016-08-29 23:41:22 +00:00
John Reck
8eaa65b867 Merge "Cherry pick TextureView fixes" into nyc-dev 2016-08-29 23:33:57 +00:00
Yohei Yukawa
87b9a88c32 Make sure IME focus is synced to View focus
am: 8eb07090a4

Change-Id: Ia0db5adc86c72f122a5b9bab91962ffa2923469a
2016-08-29 22:40:07 +00:00
Chris Craik
2e8a8a2432 Cherry pick TextureView fixes
The following changes are in this commit:

Avoid destroying TextureView surfaces for onStop

bug:30238922

TextureViews will hold onto their backing surfaces, which will allow
them to resume gracefully when the app's surfaces are saved.

Now only resources that are destroyed for onStop are DisplayLists.

(cherry picked from commit 391d560402)

TextureView: destroy layer on destroyHardwareResources event

bug:30468770

(cherry picked from commit 1c16c37d86)

Fix NPE in TextureView

Bug: 30651595

(cherry picked from commit 3c2587f26e)

Fix NPE in TextureView

Bug: 30779663

(cherry picked from commit 7e237189c2)

Fix maps resume being blank

Bug: 30889568

Fixes an issue where mLayer didn't have
the mSurface set on it in certain resume
scenarios.

(cherry picked from commit 03df0834e6)
2016-08-29 14:22:13 -07:00
Yohei Yukawa
8eb07090a4 Make sure IME focus is synced to View focus
This CL fixes an edge case that my previous CL [1] forgot to handle.

The goal of my previous CL was to avoid InputMethodManager from getting
confused by a false focus-in event from temporarily detached Views.
However, my CL forgot to take care of the case where the temporarily
detached View is still focused even after the temporary detach mode is
done.

The bad news is that such a situation is relatively easy to trigger by
having a ListView that has EditText as follows, which seems to be
known to be a common technique in Android developer community to put an
EditText in a ListView.
  ListView#listView.addHeaderView(new EditText(context), null, true);

If the ListView is initialized as above, and the EditText has input
focus, View focus and IME focus start to disagree immediatelly after the
ListView's layout is re-evaluated.  This is really easy to trigger, for
example just by dismissing the IME window.

In summary, the root cause is that InputMethodManager#focusIn(View) is
now always ignored as long as the View is temporarily detached, under an
assumption that IMM#focusIn(View) will be called back again with a View
that is not temporarily detached when everything is stable.  Hence the
fix is to do so by hooking up View#dispatchFinishTemporaryDetach() to
call IMM#focusIn(View) again when the View is actually focused in the
final state.

 [1]: Ia79bbd8468f768d546354382b47b39dd31ef7bb5
      a4ed0cfcb6

Bug: 30022872
Bug: 30578745
Bug: 30706985
Change-Id: Iecbdb00dcef8c72e4f7b31035c9bf0f4a40a578f
(cherry picked from commit dd228fbb4d)
2016-08-29 18:24:31 +00:00
Vladislav Kaznacheev
8496bb82d2 Fix docs for View.DRAG_FLAG_GLOBAL
am: 9a44eaec53

Change-Id: I4b0548a4fb7bff0312d2cd73217f64f361216c50
2016-07-13 00:08:52 +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
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
John Reck
8a953d02d9 Merge \"Add missing null checks\" into nyc-dev
am: 02e391585d

Change-Id: Ib081c05d197b01ec3a9039941dd1265bf0b9b92c
2016-06-27 17:06:22 +00:00
John Reck
474659ccc4 Add missing null checks
Bug: 29743482
Change-Id: Ic4bc5b9d5718eabd41e09a108a765b01aef4e3c8
2016-06-27 07:56:37 -07:00
Adam Lesinski
c038c55f62 Merge \"Update DisplayMetrics when resizing\" into nyc-dev
am: 34ccbe035a

Change-Id: I1b0b6711a3ad8c9fd29bbb967d59d59326fa7d25
2016-06-24 23:42:34 +00:00
TreeHugger Robot
34ccbe035a Merge "Update DisplayMetrics when resizing" into nyc-dev 2016-06-24 23:35:13 +00:00
Adam Powell
242a44395e Merge \"Fix layout issue after insets changed\" into nyc-dev
am: 119f1715b3

Change-Id: I3dc13e068c258a74acee79e6ab6a75b569c891e8
2016-06-24 23:28:37 +00:00
TreeHugger Robot
119f1715b3 Merge "Fix layout issue after insets changed" into nyc-dev 2016-06-24 23:21:29 +00:00
Yorke Lee
c9bbca5682 Merge \"Update documentation for View.startDragAndDrop\" into nyc-dev
am: c63710ea48

Change-Id: I47ee9fa89edc5495616393a1c352677c8b990030
2016-06-24 22:18:22 +00:00
Adam Lesinski
ac3e0e590a Update DisplayMetrics when resizing
Previously the DisplayMetrics passed to a new ResourcesImpl
object would be generated from the default DisplayAdjustments.
We now use the correct DisplayAdjustments for the ResourcesImpl
and make sure to update them for things like rotation changes.

Bug:29619314
Change-Id: If2ba0d7670a4554dcd3fde9766e2337f20a191fd
(cherry picked from commit 8e8d23214a)
2016-06-24 22:11:27 +00:00
Yorke Lee
c63710ea48 Merge "Update documentation for View.startDragAndDrop" into nyc-dev 2016-06-24 22:10:47 +00:00
Adam Powell
76fdbb72c9 Fix layout issue after insets changed
Fix a regression where a change in insets would forceLayout on the
view hierarchy but not run the measure/layout as a result. This would
cause layout requests to become stalled until a window-level relayout
event.

Bug 29634368

Change-Id: Ia3f32f5891c8b32c06c13f95ebd0572233572b04
2016-06-24 14:47:06 -07:00
Yorke Lee
d092e3a414 Update documentation for View.startDragAndDrop
Bug: 29606395
Change-Id: Ibbe1a20c998986c7afffac6f5f4b25769f56a8f2
2016-06-23 12:23:22 -07:00
John Reck
c86a2e325e Merge \"Remove FD from the right Looper\" into nyc-dev
am: db13dd41a9

Change-Id: I451ef3649426d9b8ea1bf15e388d0efa82dae442
2016-06-23 18:39:44 +00:00
John Reck
ac04f4e69a Remove FD from the right Looper
Bug: 29586513

Also gives BackdropFrameRenderer a direct-destroy
of Choreographer since it's hammering on new Threads
and we don't want to wait for the GC to release
FDs.

Change-Id: Id2ec0af2ee4d5304961c4ab87a104ccb92f35fc2
2016-06-23 11:00:00 -07:00
John Reck
fdff97caf0 Merge \"Change approach for windowPositionLostRT\" into nyc-dev
am: 16038a0c5f

Change-Id: I80f6bf6d169c43a10106857627f5c127d94d00a4
2016-06-22 23:45:50 +00:00
John Reck
16038a0c5f Merge "Change approach for windowPositionLostRT" into nyc-dev 2016-06-22 23:38:24 +00:00
John Reck
f23a1b8e4c Change approach for windowPositionLostRT
Bug: 29547000

Instead of shifting the window off screen fall
back to the UI-thread calculated values. This fixes
a race issue around tear-down where we stop
drawing long before our window is actually no longer
visible, as well as fixes a funky issue with
PRESERVE_GEOMETRY during first draw.

Change-Id: I792d1966f5aaee1e703295ae79166c723b97a1dc
2016-06-22 16:10:07 -07:00
Adam Lesinski
a72a6aae37 Merge \"ContextImpl: Keep DisplayAdjustments and Display in sync\" into nyc-dev
am: 0bf31c3fa6

Change-Id: If0da3136f1fcb17c43a5b8c22ca890b8abcfc25c
2016-06-22 19:17:43 +00:00
Adam Lesinski
0bf31c3fa6 Merge "ContextImpl: Keep DisplayAdjustments and Display in sync" into nyc-dev 2016-06-22 19:11:36 +00:00
Adam Lesinski
4ece3d6bb1 ContextImpl: Keep DisplayAdjustments and Display in sync
Make sure that when our Resources get updated, that DisplayAdjustment
and Display properly reflect the potentially new screen dimensions.

Bug:28388969
Change-Id: I340550ea094ece87abc8790dd46aaa60ab3cedd3
2016-06-21 17:55:58 -07:00
Yorke Lee
072ce0c29c Merge \"Tweaks to DragAndDropPermissions behavior\" into nyc-dev
am: 22faa5ddb1

Change-Id: Icbe2a2b78d19dbdf067aa69a2e0c539a809893aa
2016-06-21 21:20:11 +00:00
Yorke Lee
c8ad0cd316 Tweaks to DragAndDropPermissions behavior
No longer release permissions in finalize(), so that
apps do not have to maintain a reference to the
DragAndDropPermissions object.

Also make it parcelable, so that permission instances can be
retained across activity instances so that they can be
manually released.

Bug: 29162822

Change-Id: Ie604dd3e83ee45a8665d743449b91857dd54e896
2016-06-21 12:57:52 -07:00
John Reck
f5159155d0 Merge \"DO NOT MERGE Move SurfaceView offscreen if the app stops drawing it\" into nyc-dev
am: d11b5e6661

Change-Id: I1caf2fbac785c68c6afeb61b60493e728a83a670
2016-06-18 02:14:29 +00:00
John Reck
34bf49e4de DO NOT MERGE Move SurfaceView offscreen if the app stops drawing it
Bug: 29360411
Change-Id: Iefb9d7a9dafb34a2b4f79130a2a8b5a7cf7de906
(cherry picked from commit aa6e84f21d)
2016-06-17 20:26:10 +00:00
Chong Zhang
dba235d91a Merge \"Do a forceLayout if pending insets is changed after relayout window\" into nyc-dev
am: 2756d0707f

Change-Id: Ia95dd424c118b962a9a10ac074d508758b49ea90
2016-06-17 18:26:45 +00:00
Chong Zhang
71f2c31469 Do a forceLayout if pending insets is changed after relayout window
We might have a pending MSG_RESIZED_REPORT, but if it's executed after
relayoutWindow, mPendingInsets will already be the new value and it'll
not forceLayout. So we need to forceLayout here to make sure the measure
cache is cleared.

bug: 29391054

Change-Id: I73793b1427b89e75700369ec3b37053a6a732f0d
2016-06-17 01:11:49 +00:00
Yorke Lee
3d80871032 Merge \"Limit global drags to apps targeting SDK 24 and above\" into nyc-dev
am: f33af2285b

Change-Id: I539f39cfea50f34dade2141829b21d422809b09f
2016-06-16 21:22:22 +00:00
Yorke Lee
0e85247195 Limit global drags to apps targeting SDK 24 and above
Bug: 29127791

Change-Id: Ib5f85a207bdb79eeac0418fda78e452d225761bc
2016-06-16 09:35:40 -07:00