Commit Graph

14158 Commits

Author SHA1 Message Date
TreeHugger Robot
1660402a5c Merge "SurfaceControlViewHost: Respond to API feedback" into rvc-dev 2020-03-16 02:24:49 +00:00
TreeHugger Robot
62748d0a66 Merge "Set mNextServedView as null only when current served view lost focus" into rvc-dev 2020-03-14 00:26:57 +00:00
Mihir Patel
a5efb2c838 Merge "Notifying the on-device intelligence service when view window insets have changed" into rvc-dev 2020-03-13 21:02:15 +00:00
Selim Cinek
5f003f4e10 Merge changes I69b33b0c,If904c85e,I28444df4,I3bfa4580,I88d9667d, ... into rvc-dev
* changes:
  Decrease avatar and sender name sizes in MessagingStyle
  Fixed various conversation layout appearences
  Implemented FacePile if no group icon is present
  Fixed the behavior of headers in conversation groups
  Ensured correct coloring of badge in dark mode
  Fixed an issue where the bubble badge was visible independent of the icon
  Improved transitions for expanding messaging notifications
  Adjusted single line representation to include a colon
  Made the expand button positioning conditional on expanded state
  Ensured that the sender of the first message is hidden
  Baseline for the new ConversationLayout
2020-03-13 21:01:24 +00:00
Rob Carr
6e2a98a1f8 Merge "InsetAnimationControlImpl: Copy SurfaceControl" into rvc-dev 2020-03-13 20:18:09 +00:00
Mihir Patel
b73c421753 Notifying the on-device intelligence service when view window insets have changed
bug:137800469

Test: manual
Change-Id: Ia69e273a6646fc15e289f75084a81193e71e1eef
2020-03-13 20:04:25 +00:00
Joanne Chung
031fe36d35 Merge "Refine TC request classes." into rvc-dev 2020-03-13 19:35:33 +00:00
Adam He
640c3b4f92 Merge "Hide autofill highlight if filling only the focused field." into rvc-dev 2020-03-13 18:52:57 +00:00
Feng Cao
f0e7d48fec Merge "Sends click and long click events from the inline suggestion to host app" into rvc-dev 2020-03-13 18:25:48 +00:00
Rob Carr
3a367c4bab InsetAnimationControlImpl: Copy SurfaceControl
This way the lifetime can be bound to the animation. Otherwise
the InsetController owns the lifetime, and it can be challenging
to synchronize the two (we would need to update all the running
animations when we rebuild the control list).

Bug: 150918857
Test: Existing tests pass
Change-Id: I86017b2eaee29ab0d8174479d187c9b7dd014305
2020-03-13 17:11:52 +00:00
lumark
ec78f00fe9 Set mNextServedView as null only when current served view lost focus
mNextServedView is set to null when the next view focus is lost.
but we should not set mNextServedView as null when received the
next view focus is lost but the view is not the current served view.

It can happen when received next view focused but input connection will
disconnect when mNextServidedView is null.

The issue is found when the Activity has ListView which added SearchView
as a list item.

When the Activity is launched, input connection will be started when
activity window focused and served view will be SearchView since search
view request focus by default, then when user taps SearchView,

several view focus in/out events comes out quickly that may cause
mNextServedView set to null when the conteiner View lost focus, so input
connection will be disconnected since ImeFocusController#checkFocus checked
there is no next served view.

The fix is to set mNextServedView as null only when the current served view
loses focus.

Fix: 148974380
Test: atest FocusHandlingTests
Change-Id: I9e90428387fcf43fbf86a8407de7535913202872
2020-03-13 19:22:49 +08:00
Joanne Chung
97d3a45453 Refine TC request classes.
Centrialize SystemTextClassifier fields into a class, e.g. userId,
useDefault, callingPackageName. Then all the TextClassifer request
should contain this class object. This helps to scalability if we
want to add new fields.

Bug: 149080832
Test: atest FrameworksCoreTests:android.view.textclassifier
Test: atest FrameworksCoreTests:android.widget.TextViewActivityTest
Test: atest CtsTextClassifierTestCases
Test: Manual. Check the parameters are expected when doing smart
selection, smart linkfy.
Change-Id: I224208adac333e2da7b4213f0905f6fb0abb8b2e

Change-Id: Iaef82c1d6ec8893888258820ac103f1b988eecfa
2020-03-13 13:15:39 +08:00
Feng Cao
deec8f0175 Sends click and long click events from the inline suggestion to host app
Test: manual, atest InlineSuggestionTest
Bug: 151185482

Change-Id: Iafeb4584feca8a1cb1374f81105fa22136eba183
2020-03-12 15:51:22 -07:00
Jorim Jaggi
92fd77548a Merge "Use separate thread if app doesn't listen to animations" into rvc-dev 2020-03-12 20:49:07 +00:00
Adam He
5061db8a34 Hide autofill highlight if filling only the focused field.
Fixes: 150953184
Test: atest CtsAutoFillServiceTestCases
Change-Id: Ifc23a70a41022931d6828ff9a14620bb8fc58604
2020-03-12 13:38:34 -07:00
Robert Carr
271d9c76b6 SurfaceControlViewHost: Respond to API feedback
API Council provided the following feedback:
	1. Rename addView() to setView()
	2. Add getView()

Bug: 151311937
Test: Existing tests pass
Change-Id: I26665c8bb8d0c10c5eb4228feb4ff13ee89f0d7b
2020-03-12 13:14:42 -07:00
Rob Carr
83d02a976a Merge "WindowContainerTransaction: Support PIP Transition" into rvc-dev 2020-03-12 18:39:18 +00:00
Jaineel Mehta
1a18357853 Merge "Revert "WindowInsetsController: Address API feedback"" into rvc-dev 2020-03-12 18:23:14 +00:00
Jaineel Mehta
5e7097b21e Revert "WindowInsetsController: Address API feedback"
This reverts commit c549e19c5e.

Reason for revert: Droidcop: Potential culprit for Bug X - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.

Change-Id: I2ab42d96d2599dfcc946fa48b3940e2bd92b22b0
2020-03-12 17:46:17 +00:00
Adrian Roos
3a4be4a7b1 Merge "WindowInsetsController: Address API feedback" into rvc-dev 2020-03-12 16:13:43 +00:00
TreeHugger Robot
507be52dc7 Merge "Properly handle InlineSuggestionsRequest with 0 max suggestion count" into rvc-dev 2020-03-12 13:02:28 +00:00
Selim Cinek
20d1ee2402 Baseline for the new ConversationLayout
Introduced a new Layout for Conversation Notifications.
There are still various open issues that will be
fixed in follow up Cls

Bug: 150905003
Test: Add conversations, obverve visuals
Change-Id: I8ab2e2988d3205a4491006df68ec14235109466f
2020-03-11 21:53:03 -07:00
Lucas Dupin
888edd6fdc Merge "Implement wallpaper zoom hooking it to the shade" into rvc-dev 2020-03-12 04:07:51 +00:00
Feng Cao
44dc2bdcb2 Properly handle InlineSuggestionsRequest with 0 max suggestion count
Test: manual, atest InlineSuggestionsRequestTest
Bug: 150142709

Change-Id: Id0bba142526641964087d29bf515b7d7a817bae0
2020-03-11 18:11:52 -07:00
TreeHugger Robot
76b221c84b Merge "WindowContext: Add @WindowType intdef" into rvc-dev 2020-03-11 22:02:27 +00:00
Jorim Jaggi
6d5c801c78 Use separate thread if app doesn't listen to animations
There is no need to introduce jank risk and run the inset
animations on the main thread if the app doesn't listen to
animation events. In that case, move the animations onto a
separate thread.

Bug: 118118435
Test: Inspect systrace
Change-Id: Ib6e4b4ce8e9dd8e27761ced6eb8d7700b6236a32
2020-03-11 22:58:59 +01:00
TreeHugger Robot
f5589a71e0 Merge "Temporary fix to disable augmented autofill requests coming from password fields." into rvc-dev 2020-03-11 21:43:58 +00:00
Adrian Roos
c549e19c5e WindowInsetsController: Address API feedback
Change CancellationSignal to parameter instead of return value.

Fixes: 150472709
Test: atest InsetsControllerTest
Change-Id: Id4cb53fddcecac17b7926068046760df5130dc39
2020-03-11 17:23:31 +01:00
Adrian Roos
9c17e537c7 WindowContext: Add @WindowType intdef
Fixes: 151156902
Test: make checkapi
Change-Id: I966f8cd305189a54a5de48b03e5b4bdd51700fdf
2020-03-11 16:08:16 +01:00
TreeHugger Robot
15725d999d Merge "Enter to touch mode by down or scroll event from any type of a device." into rvc-dev 2020-03-11 13:35:13 +00:00
Jorim Jaggi
8dc835316a Merge "Add OnControllableInsetsChangedListener" into rvc-dev 2020-03-11 13:33:33 +00:00
Rob Carr
ab17978c71 TaskOrganizer: Send newest TaskInfo in taskVanished
When leaving PIP SysUI might need to know the target mode
and bounds to animate correctly. taskInfoChanged may
not have yet been dispatched though. A simple solution is
to provide the info in TaskVanished.

Bug: 150716630
Test: Existing tests pass
Change-Id: I871f745198d6b4bc92cc5701128c5489c154f4f9
2020-03-10 14:34:51 -07:00
Lucas Dupin
13f4b8a158 Implement wallpaper zoom hooking it to the shade
This adds a notion of per caller wallpaper zoom, in order to support
simultaneous clients.

The shade might be pulled down while in overview, for example, and we
must coordinate between launcher and systemui.

Bug: 149792636
Bug: 146387434
Test: atest NotificationShadeWindowViewTest
Test: atest WallpaperControllerTests
Test: manual
Change-Id: I588ba56d3d2704845d033ea2a5890ce812b9ee07
2020-03-10 10:52:28 -07:00
Adam He
ef0fe20852 Temporary fix to disable augmented autofill requests coming from
password fields.

Bug: 141703197
Test: atest android.autofillservice.cts.augmented
Change-Id: I05330988899a4c21d69c655a39c29fd0fea298c3
2020-03-10 10:47:09 -07:00
Robert Carr
2bed621c15 WindowContainerTransaction: Support PIP Transition
We support the PIP transition by adding setChildWindowingMode
and setWindowingMode primitives. This allows the organizer to
replicate the old behavior during the enter pip animation of
switching the Task to PIP but having the activity continue to
render it's full-screen UI, or the opposite on the other
transition. This is a temporary solution to handle
the boundaries between Fullscreen and PIP states and the trade-off
between TaskOrg and WindowManager. Once TaskOrganizer controls
all windowing modes it won't be needed.

Bug: 149947030
Test: TaskOrganizerTests
Change-Id: I7eeb1b5fb8c5d00a00b6de976f61484f1d067048
2020-03-10 08:51:37 -07:00
Jorim Jaggi
ed35b1779b Add OnControllableInsetsChangedListener
It's useful for apps to know which inset types they can currently
control, as otherwise they have to poll by calling
controlInsetsAnimation repeatedly.

This can be used when apps want to apply a custom animation
immediately during startup as soon as possible.

Fixes: 150780468
Test: InsetsControllerTest
Test: CTS will be added soon
Test: WindowInsetsActivity
Change-Id: Ic0388c11d759843d3ac9edd8ef23904c9ce05c46
2020-03-10 12:23:58 +00:00
Jorim Jaggi
ed3c321c9f Merge "Do not set early wakeup flag for inset animations" into rvc-dev 2020-03-10 12:12:09 +00:00
Yara Hassan
4a4e1e45d0 Merge "Added @IntDef for DATA_SHARE_ERROR_ constants" into rvc-dev 2020-03-10 11:04:12 +00:00
Charles Chen
2a77f43bee Merge "Generate WindowInsets with new insets API" into rvc-dev 2020-03-10 08:46:30 +00:00
Jacky Kao
4686370935 Merge "Improvement of IME Enter Action" into rvc-dev 2020-03-10 04:05:58 +00:00
TreeHugger Robot
bd8e715c01 Merge "Add localBounds in RemoteAnimationTarget" into rvc-dev 2020-03-10 03:14:08 +00:00
Dieter Hsu
04a579c6b7 Merge "Update API ExtraRenderingInfo by review feedback" into rvc-dev 2020-03-10 03:08:50 +00:00
Jorim Jaggi
33a35ef041 Do not set early wakeup flag for inset animations
Otherwise we shift entire SF schedule for nothing...

Test: Open IME, inspect systrace
Bug: 118118435
Change-Id: I1352860a8f04271cd5dc72366ffc317175db5e3a
2020-03-09 23:55:48 +00:00
Rob Carr
c2adc8d64c Merge "WindowManager: Avoid reparenting BLAST Surface in reparentChildren" into rvc-dev 2020-03-09 21:41:35 +00:00
Rob Carr
521e363a0f InsetController: Release leashes from RenderThread
We handle changes to the leashes from the UI thread, but use
the same SurfaceControl wrapper object from the RenderThread with
SyncRtSurfaceTransactionApplier. This means that at the time
we release a SurfaceControl from the UI thread we might have already
scheduled a SyncRtSurfaceTransactionApplier to use it, and actually
that could be in the process of running, leading to racy access and
crashes. To fix this we release the SurfaceControl from the RenderThread
so that it happens behind all existing operations.

Bug: 151086678
Test: Existing tests pass.
Change-Id: I2308d1c64f3f368c32587f99ddfb9e05955f821f
2020-03-09 11:44:08 -07:00
Yara Hassan
e41b29ec57 Added @IntDef for DATA_SHARE_ERROR_ constants
Bug: 150844071
Fix: 150844071
Test: NA
Change-Id: I853f10addf5b2f104ce04503aa033e7a8609d4b3
2020-03-09 18:35:59 +00:00
Rob Carr
698b684fdd WindowManager: Avoid reparenting BLAST Surface in reparentChildren
In cases where we are replacing the client surface transparently (e.g.
preserved surfaces), we call reparentChildren to move client added
Surfaces of the preserved Surface to the new Layer. However we are calling
this on the WSA layer, and so we end up reparenting the BLAST Surface
to the new layer. But since we always construct a new BLAST surface on the
WM side, we end up with 2! Rather than try and juggle about when we need
to or need not to construct a BLAST surface and reparenting them across
preservedSurfaces, it seemed either to just use the BLAST surface as the
root of the reparentChildren operation.

Bug: 150013915
Test: Enable BLAST, use split-screen
Change-Id: I1357200b41d183c2331b684ff636dd40a3b98168
2020-03-09 10:47:54 -07:00
lumark
2ec1912dfb Add localBounds in RemoteAnimationTarget
With Hierarchical animation, the animation layer will no longer
be a fixed fullscreen layer but animate on the parent container's surface.

In order to run a remote animation, the animation controller needs to
know bounds of the target relative to both its parent and the screen.

The CL includes:
1) RemoteAnimationTarget changes:
    - Add localBounds field for indicating the target bounds which
    the coodiates relatives to its parent.
    - Add screenScreenBounds field to replace souceContainerBounds
      to reflect the target bounds relatives to the screen.
    - Mark position & sourceContainerBounds as deprecated.
2) Modified related places to set correct localBounds information.

Test: build / run, make sure installing the old version of launcher on
      the this new platform change still compatible without crash.
Test: manual as follow steps:
  - Launching app from launcher to split-screen secondary stack
  - Swipe up to overview screen and drag TaskView to see if the TaskView
    surface is shfted, expected is not.
Bug: 148780840
Change-Id: Id9dbf6de193ab73fe94bc24ef6a27edc93380a14
2020-03-09 22:24:17 +08:00
Yuichiro Hanada
718c4da0cd Enter to touch mode by down or scroll event from any type of a device.
This CL reverts the touch mode behavior to that in N and prior.

Bug: 135752906
Bug: 147710276
Test: Mouse click causes entering to touch mode.
Test: ViewTest#testTouchMode
Change-Id: I9d6a8ad95fba524701df7d318732d553fce958f8
Merged-In: Id5fbb500eed279c66ed6817c2b7d001a5a68737a
(cherry picked from commit 391c123e9e)
2020-03-09 00:55:38 +00:00
Dieter Hsu
809a286aef Update API ExtraRenderingInfo by review feedback
Bug: 150685398
Test: m update-api docs
Change-Id: Id21dbde8d15dc936fbbe157b1b50e19564dcd051
Merged-In: Id21dbde8d15dc936fbbe157b1b50e19564dcd051
(cherry picked from commit 327bb81a78)
2020-03-06 05:15:41 +00:00