Commit Graph

8176 Commits

Author SHA1 Message Date
Chong Zhang
b0e28cf5b3 Merge \"Do a forceLayout if pending insets is changed after relayout window\" into nyc-dev
am: 2756d0707f

Change-Id: I72a8192317ebaa7c036416a65b415c2471f449de
2016-06-18 02:07:55 +00:00
Yohei Yukawa
01e7c10d37 Merge "API Rename: IC#inputContent to IC#commitContent." into nyc-mr1-dev 2016-06-17 23:23:59 +00:00
John Reck
e66dedf35b Merge "Move SurfaceView offscreen if the app stops drawing it" into nyc-mr1-dev 2016-06-17 20:13:20 +00:00
John Reck
aa6e84f21d Move SurfaceView offscreen if the app stops drawing it
Bug: 29360411
Change-Id: Iefb9d7a9dafb34a2b4f79130a2a8b5a7cf7de906
2016-06-17 10:23:54 -07:00
Yohei Yukawa
adebb52588 API Rename: IC#inputContent to IC#commitContent.
As shown in below, we have already used commit* naming convention in
InputConnection.

 - InputConnection#commitCompletion(CompletionInfo);
 - InputConnection#commitCorrection(CorrectionInfo);
 - InputConnection#commitText(CharSequence, int);

Hence renaming IC#inputContent() to IC#commitContent() would make the
new method more consistent.

Bug: 29450024
Change-Id: Ica1ba3154795c1bf44e140dfe639b299f83cd8af
2016-06-17 10:10:39 -07: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
599cf6bc4a Merge \"Limit global drags to apps targeting SDK 24 and above\" into nyc-dev
am: f33af2285b

Change-Id: If4d9abfb81929f8366fc9acc7978816d55117fbc
2016-06-16 21:21:57 +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
Selim Cinek
447ee99755 Merge \"Added dismiss, expand, and collapse accessibility actions\" into nyc-dev
am: c1720dce1b

Change-Id: I14674254eb79fef58e4dcb1a8d7ecaab24831691
2016-06-16 04:25:26 +00:00
Selim Cinek
e9bad242f3 Added dismiss, expand, and collapse accessibility actions
Fixes: 20343017
Fixes: 29368014
Change-Id: Ib571242aac04c67aea2f3c3ce76139eaedc1f3f1
2016-06-15 16:30:09 -07:00
Yohei Yukawa
03f759e87e Merge "Add InputConnection#insertContent()." into nyc-mr1-dev 2016-06-14 00:26:39 +00:00
Yorke Lee
fead52ebf4 Merge \"Check for detached view in drag-related APIs\" into nyc-dev
am: cdc9d7bed9

Change-Id: Id1c2228d081e63e86278072654c4c611bdb10d1a
2016-06-13 20:15:15 +00:00
TreeHugger Robot
cdc9d7bed9 Merge "Check for detached view in drag-related APIs" into nyc-dev 2016-06-13 20:09:43 +00:00
Yorke Lee
07452c37ab Check for detached view in drag-related APIs
Bug: 29253539
Change-Id: I26285404ee15bb17e87ac23c67f7c3c6aaa2d968
2016-06-13 11:32:23 -07:00
Yohei Yukawa
152944f490 Add InputConnection#insertContent().
Providing an official protocol for IMEs to insert an image to the
application is something that has been requested from many IME
developers to Android OS.  With this CL, IMEs are able to ask
applications to insert a content including image files as follows.

 1. An application that opts in to this protocol specifies a list of
    supported content MIME types in EditorInfo#contentMimeTypes.
 2. When an IME is actively interacting with such an application, the
    IME can call InputConnection#insertContent() with a InputContentInfo
    that contains content URI, metadata (ClipDescription), and an
    optional link URI.
 3. The application can read the stream data from the given content URI
    to insert the content into somewhere in the application.

Detailed design background can be found in the JavaDoc of
InputConnection#insertContent().

Bug: 22830793
Change-Id: Iaadf934a997ffcd6000a516cc3c1873db56e60ad
2016-06-10 19:04:34 -07:00
John Reck
b8dac11e5a Merge \"Don\'t call surfaceCreated for just changed surfaces\" into nyc-dev
am: e4b1fb94e3

Change-Id: I488da6f9f779ddf64beb6ac12d1481d2bfd69821
2016-06-10 18:02:57 +00:00
John Reck
e4b1fb94e3 Merge "Don't call surfaceCreated for just changed surfaces" into nyc-dev 2016-06-10 17:46:54 +00:00
Phil Weaver
d567ae1b87 Merge \"Improve accessibility window title behavior\" into nyc-dev
am: f8af34365c

Change-Id: I620cb3dc270a8ad409ec1760cedd778821fd8d98
2016-06-09 23:41:45 +00:00
Phil Weaver
f8af34365c Merge "Improve accessibility window title behavior" into nyc-dev 2016-06-09 23:32:10 +00:00
John Reck
208c47cfb0 Don't call surfaceCreated for just changed surfaces
Fixes: 29223302

If the surface only changed we want to just call onSurfaceChanged,
not onSurfaceCreated.

Change-Id: I65c8b210a7e34eaa2862020335ee7f6ef56eeac2
2016-06-09 16:26:21 -07:00
Doris Liu
3f6a95283a Merge "Handle hidden RT VectorDrawable animators" into nyc-mr1-dev 2016-06-09 21:30:03 +00:00
Phil Weaver
155edc693e Improve accessibility window title behavior
Un-reverts ag/1057448, but uses a version of Resources#getText
that returns null rather than throw an exception when no title
is available. This is the same call made before, so this change
should be safer.

Bug: 28744278
Change-Id: I8c123f4f6d74f796ab9e8ffcf955aaf881770da1
2016-06-09 13:45:46 -07:00
Robert Carr
c28647084e Merge \"PiP animation: Move window with resize when ending animation.\" into nyc-dev
am: 4624d687f7

Change-Id: Ib9ce0ef71a71e998e1ffe783c178b8f514ab1469
2016-06-09 19:33:19 +00:00
Robert Carr
a9408d4a48 PiP animation: Move window with resize when ending animation.
At the end of the animation (when going from larger to smaller),
we are left with a scaled surface, that we want to seamlessly
resize to an unscaled surface of the new size. Because we have scaled
the shadow region of the surface, the position of the content
will differ before and after the resize applies. We use new
SurfaceFlinger API to cause position updates to apply after
resize. Because we have to switch into SCALING_MODE_FREEZE,
we could end up prematurely cropping the window, so we
switch to using screen space crop for the pinned stack.

Bug: 28899837
Change-Id: I9b762a237413e4fa3d432e67d30c7125bfef484c
2016-06-09 10:31:17 -07:00
Doris Liu
718cd3eb70 Handle hidden RT VectorDrawable animators
This CL changes the target of VD specific animators to VectorDrawable,
instead of RenderNode. The benefit of doing so is that animators can
now detect whether the animation is meaningful by checking whether
their VD target is in the display list. If not, that means the VD is
not drawing for the current frame, in which case we can be smarter
and more power efficient by removing the animator from the list and
posting a delayed onFinished listener callback.

By setting VD as the animation target, when an ImageView decides to
update its drawable from one AVD to something else, we'll be able
to detect that the previous AVD is no longer in the display list,
and stop providing animation pulse to the stale AVD, which is
something we couldn't do previously.  This change also
handles the case where one AVD instance could be drawn in two
different views.

Bug: 27441375
Change-Id: Iaad1ed09cfd526276b95db0dd695275c28e074e8
2016-06-09 10:27:59 -07:00
Phil Weaver
5c32d65e78 Merge \"Revert \"Improve accessibility window title behavior\"\" into nyc-dev
am: fc71309640

Change-Id: I7b0c0636a69e4cc06d525f60d8621879ce45be22
2016-06-08 02:24:42 +00:00
Phil Weaver
fc71309640 Merge "Revert "Improve accessibility window title behavior"" into nyc-dev 2016-06-08 02:19:34 +00:00
Phil Weaver
266ed9acc3 Revert "Improve accessibility window title behavior"
Bug: 29127065

This reverts commit 2a7e4442bf.

Change-Id: Ibc5527cfedd49c685ffd1b8ae59e87ed99c93d39
2016-06-08 00:34:40 +00:00
Chong Zhang
33508a49e8 Merge "Fix scroll amount calculation in ViewRootImpl" into nyc-dev
am: b1e24209f1

* commit 'b1e24209f16621fd095dacb615364bfd15dfe721':
  Fix scroll amount calculation in ViewRootImpl

Change-Id: I538add512f7899ced2e0f940b16c8c34df5a9681
2016-06-02 21:05:58 +00:00
Chong Zhang
6725472329 Fix scroll amount calculation in ViewRootImpl
When calculating scroll amount, we should check whehter focus
is visible using before-scrolling position.

It's possible that the view is already scrolled, then visible
insets changes (eg. IME went away). Previous scroll position
still makes the focus visible, but it will leave the focus
in a bad position when it should be scrolled back.

bug: 29025892
Change-Id: I091f16bebc4c1e5ba831616c51ab2ac75d4c4b3c
2016-06-02 13:33:40 -07:00
Selim Cinek
80b8e67a99 Merge "Fixed a few accessibility issues with notifications and groups" into nyc-dev
am: ddc6de1eda

* commit 'ddc6de1eda495790e6564438994df5d49ddf248f':
  Fixed a few accessibility issues with notifications and groups

Change-Id: Ieec9526a2c54edd2f0d3b34973cc61f610f452ae
2016-05-31 19:36:21 +00:00
Selim Cinek
ddc6de1eda Merge "Fixed a few accessibility issues with notifications and groups" into nyc-dev 2016-05-31 19:26:16 +00:00
Selim Cinek
ddf1b399d8 Fixed a few accessibility issues with notifications and groups
Change-Id: I78fa62884eaa0efe825b5eb1e6cac7d88fc05a7f
Fixes: 28069681
2016-05-27 17:04:56 -07:00
Jorim Jaggi
819cbb3dd3 Merge "Close IME when attaching dock stack" into nyc-dev
am: c5fc6c602c

* commit 'c5fc6c602c16f0e985d8f8ba7f94075229e52320':
  Close IME when attaching dock stack

Change-Id: I7921bf88bb49134d1fbde752d5fa963786ec1d46
2016-05-27 21:15:22 +00:00
Jorim Jaggi
3c5d0f1041 Close IME when attaching dock stack
So we don't end up with animation weirdness.

Bug: 28905720
Change-Id: I04124995dd99fa26d2e9be467c5976d7b20810a7
2016-05-27 21:08:39 +00:00
Teng-Hui Zhu
56d4dae9ec Merge "Update the light center when the root view\'s layout changed" into nyc-dev
am: e78ba24c17

* commit 'e78ba24c176fd6a0c54eaf7e52be545952ba1ab7':
  Update the light center when the root view's layout changed

Change-Id: Ic973b9b47df6550c5170c2248c7e0f2ab25c6a57
2016-05-27 02:50:14 +00:00
Tenghui Zhu
e78ba24c17 Merge "Update the light center when the root view's layout changed" into nyc-dev 2016-05-26 17:48:49 +00:00
Michael Wright
28984d4d80 Merge "DO NOT MERGE Remove Pointer Capture API" into nyc-dev
am: c396f0f70e

* commit 'c396f0f70ef40ea0fb42a0872a13f4c4e9a6a5f0':
  DO NOT MERGE Remove Pointer Capture API

Change-Id: I77cb742feacdd3b8af0cf33d4e7ab246f776417f
2016-05-26 14:38:56 +00:00
Michael Wright
c396f0f70e Merge "DO NOT MERGE Remove Pointer Capture API" into nyc-dev 2016-05-26 14:03:47 +00:00
Phil Weaver
0a16a8d1d6 Merge "Improve accessibility window title behavior" into nyc-dev
am: 7ab1a4d286

* commit '7ab1a4d286898acffd1f3b444f9efc9e1d2a104e':
  Improve accessibility window title behavior

Change-Id: Iff0d61871f48a66510e1fab72adbfb062c01c203
2016-05-26 00:19:19 +00:00
Phil Weaver
7ab1a4d286 Merge "Improve accessibility window title behavior" into nyc-dev 2016-05-26 00:11:25 +00:00
Phil Weaver
2a7e4442bf Improve accessibility window title behavior
Suppress the default, unlocalized strings from being read as title.

Bug: 28744278
Change-Id: Iea0f7d8fed3d6428ada725cf3ffa077ba974b74a
2016-05-25 12:48:13 -07:00
Robert Carr
1d4f1cda2d Merge "Force pending transactions to flush before screenshot." into nyc-dev
am: 39e8022a75

* commit '39e8022a75507be06179c3de7358cebb1bb22e06':
  Force pending transactions to flush before screenshot.

Change-Id: Ib8dd84af143226e2b62cdfa51066e68ba7802d28
2016-05-25 19:21:34 +00:00
TreeHugger Robot
39e8022a75 Merge "Force pending transactions to flush before screenshot." into nyc-dev 2016-05-25 19:16:13 +00:00
Mady Mellor
3425c6c62c Merge "Changes based on API council feedback for performContextClick" into nyc-dev
am: 7c17e70f2f

* commit '7c17e70f2f795ca06006ff2560c8b8211ce1dd52':
  Changes based on API council feedback for performContextClick

Change-Id: Ief8c3036b93c28b27ba2f117ec656d38a1562fcf
2016-05-25 19:10:59 +00:00
Mady Mellor
7c17e70f2f Merge "Changes based on API council feedback for performContextClick" into nyc-dev 2016-05-25 19:00:08 +00:00
Mady Mellor
4f3ab93147 Changes based on API council feedback for performContextClick
Added an overloaded version with (float x, float y).

Fixes: 28295818
Change-Id: I41c2bf225964436655986b3ad4d0c630c658e38b
2016-05-25 09:52:51 -07:00
Yohei Yukawa
e8ae33f6e6 Merge "Make IMM more robust to spurious window focus-in" into nyc-dev
am: 50c33d1ca1

* commit '50c33d1ca1218ec00eb37f66a7c11315603c9ef7':
  Make IMM more robust to spurious window focus-in

Change-Id: I3c80320a5c6711bf3aaeb3043fe54c741c127966
2016-05-25 04:57:43 +00:00
Yohei Yukawa
8e9214b4bd Make IMM more robust to spurious window focus-in
InputMethodManager (IMM) has a latch switch named IMM#mHasBeenInactive
to forcefully refresh IME focus state when an inactive client
(IMM#mActive == false) is gaining window focus.  However, it turns out
that there is a race condition where the latch could be unexpectedly
turned off. This is probably what we have been chasing in bug 25373872.

Imagine the following scenario:

  1. An app receives MSG_WINDOW_FOCUS_CHANGED w/ hasWindowFocus=false
  2. IMM inside the app receives MSG_SET_ACTIVE w/ active=false
  3. The app receives MSG_WINDOW_FOCUS_CHANGED w/ hasWindowFocus=true
  4. The app receives MSG_WINDOW_FOCUS_CHANGED w/ hasWindowFocus=false
  5. The app receives MSG_WINDOW_FOCUS_CHANGED w/ hasWindowFocus=true

Here, our current strategy has been:
  A. Turn on the latch when MSG_SET_ACTIVE (w/active=false) is handled.
  B. Turn off the latch and ask IMMS to start input when
     MSG_WINDOW_FOCUS_CHANGED (w/ hasWindowFocus=true) is handled.

The problem is that in the step B IMMS can reject the request if
WindowManagerService (WMS) tells that the window in question no longer
has window focus. This is not surprising because the app is
just handling messages in the message queue sequentially.  As a result,
the IME focus is not updated expectedly in the step 5, because the latch
is no longer enabled as we expected.

With this CL, the latch will be re-enabled if the app fails to start
input while IMM#mActive is false as a short-term solution.

In future we may want to address this issue in protocol level so that
we can address other known issues such as bug 26851566 at the same time.

Bug: 28281870
Change-Id: I60adb38013b063918b074c7b947649eada77b2c8
2016-05-24 23:55:29 +00:00
Mady Mellor
12021f5020 Merge "Children should have backgrounds" into nyc-dev
am: 31e49b0964

* commit '31e49b0964cfba0b6b91e8ae67cbc04730098569':
  Children should have backgrounds

Change-Id: I1f68467af9048b93631c33243f4a2dd2e67ccf81
2016-05-24 21:08:17 +00:00