Commit Graph

16697 Commits

Author SHA1 Message Date
Tiger Huang
50ae7cbf1b Merge "Defer dispatching insets to app if its window frame will be changed soon" into sc-dev 2021-06-10 07:55:53 +00:00
TreeHugger Robot
789fe38968 Merge "Remove tracing for notifyContentCapture" into sc-dev 2021-06-09 19:14:05 +00:00
TreeHugger Robot
3009984d65 Merge "Make ContentCapture event contains parcelable span" into sc-dev 2021-06-09 16:48:55 +00:00
Mark Renouf
886b1a3d7c ScrollCaptureTarget: enforce argument nullability in ctor
Bug: 180419562
Test: atest ScrollCaptureTargetTest
Change-Id: I390269c8cfc0ce57c5cf9b58ad0cbf75a0281b00
2021-06-09 16:48:26 +00:00
TYM Tsai
b8fc743699 Make ContentCapture event contains parcelable span
The spans were removed by ag/13819626. Adds them back into the
ContentCaptureEvent. And removes unnecessary Map data because we
can get it via travel events. The total of events is not large.

Bug: 190035037
Bug: 184311217
Test: atest CtsContentCaptureServiceTestCases
Test: atest FrameworksCoreTests:ContentCaptureEventTest
Change-Id: I5fa1f7a6b51fd050a63731543cca98972c294b22
2021-06-09 16:48:23 +00:00
Tiger Huang
7be2a4c964 Defer dispatching insets to app if its window frame will be changed soon
If the frames of insets source window and the frame of an app window
are changed in the same layout pass, we should dispatch the insets
calculated from the new insets source frames and the new app window
frame. So when the app frame is not up-to-date, we defer dispatching
insets to the app.

Fix: 160732586
Test: Add logs to check if we dispatch the correct insets to apps while
      rotating the display.
Change-Id: Ic9e71d8eabde51067b740b35404ae7c9b68228d7
2021-06-09 15:52:39 +08:00
Shawn Lin
ecb653c2bb Merge "Add a method in RecentsAnimationController to animate the nav bar" into sc-dev 2021-06-09 01:39:49 +00:00
Philip Cuadra
ef671105e1 Remove tracing for notifyContentCapture
These traces get expensive in aggregate due to an increased number of
notifyContentCapture events.  Remove them.

Bug 188836620
Test:  Confirmed no notifyContentCapture trace points in systrace

Change-Id: I5d77bd9048b2e8cd267187f866dc095792a3f455
2021-06-08 13:34:21 -07:00
shawnlin
7d77609543 Add a method in RecentsAnimationController to animate the nav bar
There is no transition for app launch from recent in live tile so we
have to add a method for Launcher to trigger the nav bar animation for
this case.

Bug: 189278432
Test: manual - launch app from recent in live tile mode

Change-Id: Ia63964491449e6f634350cbc8599cdec42d76d06
2021-06-08 21:44:12 +08:00
Joanne Chung
1e5e988de4 Merge "Dump the last Activity information when dumpsys translation" into sc-dev 2021-06-08 13:11:29 +00:00
Joanne Chung
94b6e6515c Dump the last Activity information when dumpsys translation
When bugreport dumps Activity information, it will dump translation
related information. But it adds -v parameter, the bugreport will
only dump visible task's top Activity. If message apps go to the
background, we cannot find our expected information. We try to let
translation dumpsys to dump the last Activity information if the
Activity isn't destroyed yet, e.g. go to background.

Bug: 187889345
Test: open chat app and back home then dumpsys translation. Let
Activity destroyed and make sure no Activity dump.

Change-Id: Ie5b935696a74ca3f298c5e6e5994fa659389e198
2021-06-08 12:17:27 +08:00
Lucas Dupin
0e92d34215 Merge "Deal with blur sysprop as a boolean" into sc-dev 2021-06-07 23:51:32 +00:00
Sally Yuen
00d32f2d61 Merge "Add AccessibilityManager#removeClient" into sc-dev 2021-06-04 22:33:10 +00:00
Sally
4a41eca71b Add AccessibilityManager#removeClient
Whenever an app makes a Text toast, this gets routed through systemUI
starting from R. Two A11yManagerClients are registered with
A11yManagerService for every toast. Since clients aren't removed until
the process is killed, there are a bunch of clients from systemui
hanging around and potentially cause the system to crash.

We add a way here to explicitly unregister a client

Test: build and flash,
atest android.view.accessibility.AccessibilityManagerTest
Bug: 189010828

Change-Id: I3f71bac475b4539c7be5b328adeb0be35a0b5543
2021-06-04 20:28:26 +00:00
Lucas Dupin
315faf1258 Deal with blur sysprop as a boolean
Bug: 185580298
Test: manual
Change-Id: I828a582d4a63c32172d4954ea4b8d070ec1441c7
2021-06-03 19:35:31 -07:00
Antonio Kantek
1de80b1d70 Merge "Deleting DisplayContent#reparentDisplayContent and related code" into sc-dev 2021-06-02 23:23:41 +00:00
Adithya Srinivasan
c6273f7f15 Merge "Add TaskSurfaceHelper/Controller in WMShell to plumb game mode to SF" into sc-dev 2021-06-02 22:00:09 +00:00
TreeHugger Robot
a731c9f3f9 Merge "ViewRootImpl: Correct opaque flag usage" into sc-dev 2021-06-02 09:28:33 +00:00
Winson Chung
69660aaf86 Merge "Always copy provided gesture exclusion rects" into sc-dev 2021-06-01 18:49:41 +00:00
Antonio Kantek
42a60dc25c Deleting DisplayContent#reparentDisplayContent and related code
This code was used by ActivityView (which was deleted) only.

Test: manual (seahawk)
Bug: 179161778
Change-Id: I65544daac3bc2a280239bdcbd54dc726d604165f
2021-05-31 20:46:08 -07:00
Tiger Huang
fa6f73429d Update the surface position of each control in insets animation
If the surface position is changed during the insets animation,
the surface position of the controls in the animation should be updated.
Otherwise, the cached position in the animation will overwrite the
newly-updated leash position.

Fix: 177925500
Test: Steps in the bug.
Test: 1. Open Window Insets Tests -> Window Insets Controller.
      2. Click on the [IME INVISIBLE] button.
      3. Click on the [STATUS BARS VISIBLE] button during IME animation.
      See if the position of IME (Gborad) is correct.
Change-Id: I7441426a41019996651220e86ca90dd416ef9498
2021-05-31 18:08:31 +08:00
Adithya Srinivasan
4e8a1a05b1 Add TaskSurfaceHelper/Controller in WMShell to plumb game mode to SF
TaskSurfaceHelper(Controller) will be used as an interface to communicate
with the SurfaceControl of the underlying Task. This change adds a function
to set the game mode metadata for the task layer.

Bug: 186025682
Test: atest TaskSurfaceControllerTest
Change-Id: I136b65636b98e1883eaf9e4f4f0b34c61350d4e4
2021-05-27 20:12:08 +00:00
Ahaan Ugale
df75689d4d Translate: Text alpha animation on toggling translated state.
Apply a simple text alpha animation when toggling between original and
translated text. The text is fully faded out, then swapped to the new
text, then the fading is reversed.

Quick toggles are handled by ending the previous animation (which resets
the alpha value) when starting a new one. If the toggle is extremely
fast (<250ms for the currently defined animation duration), the text
stays in it's original state instead of swapping back-and-forth. This is
arguably not ideal, but anyway not worth the complexity for fixing.

There is an unhandled edge case where if the color is changed by the app
during the animation, the app's change would get overridden. It should
be rare and doesn't seem very important to fix.

Bug: 178651829
Test: atest CtsTranslationTestCases
Test: manual - across several apps, while scrolling, concurrently
 interacting with the app, concurrently closing the app, selecting text
 during the animation (with animation speed slowed down to see the
 effect).
Change-Id: I08a26de2253bb345f01186a6748b2d0ff6c2a419
2021-05-27 09:34:18 -07:00
Ahaan Ugale
02fe90bb42 Translate: Ignore duplicate translations.
This can happen if UiTranslationManager#startTranslation is called more
than once for the same view. If the same TranslationResponse is
returned, it can simply be ignored.

This is preferable to ignoring duplicate ViewTranslationRequests, since
the Response is already cached. The TranslationService can cache
translations, so duplicate requests isn't an issue.

Ideally, the platform intelligence shouldn't issue multiple requests for
the same view.

Bug: 144292180
Test: atest CtsTranslationTestCases
Change-Id: I0bba4a19284a61a9c7a5b79c71b4f42ddffe4e32
2021-05-27 09:33:49 -07:00
Ahaan Ugale
4df6d70e4c TranslationResponseValue: Override equals() behaviour for Extras.
Bundle doesn't override equals(). In TranslationResponseValue, the
Extras is used as a simple value type, so contents can be compared.

Bundle.kindofEquals probably works here, but this change just makes it
work for empty bundles for now, to fix a bug in animation.

Bug: 144292180
Test: atest CtsTranslationTestCases
Change-Id: I68daac8cafceb1aa446ee89ba1405595b22e6213
2021-05-27 09:31:58 -07:00
Ahaan Ugale
75d63c116c Merge "Force to notify ContentCapture event even view is not laid out" into sc-dev 2021-05-27 00:35:19 +00:00
Winson Chung
36f8ff7f85 Always copy provided gesture exclusion rects
- Disallow callers from concurrently modifying the exclusion rects
  list after it's set by making a copy.

Bug: 166594759
Test: atest android.view.cts.SystemGestureExclusionRectsTest
Change-Id: I80183cf85d16ac669320cfda9ec9deed9e348e33
2021-05-26 16:57:49 +00:00
TYM Tsai
1d0ad76872 Force to notify ContentCapture event even view is not laid out
Some recycled views cached its layout and a relayout is unnecessary.
In this case,  system still needs to notify content capture the view
appeared.

Bug: 177687849
Test: atest CtsContentCaptureServiceTestCases
Test: atest ContentCapturePerfTests
Change-Id: I480436c4fc3508b9eed485421a1cc778d55d5dde
2021-05-27 00:52:50 +08:00
Joanne Chung
ba76d446ee Merge "Added documentation for TResponseValue bundle on how to use and example structure." into sc-dev 2021-05-26 06:18:49 +00:00
Robert Carr
776dd9e556 ViewRootImpl: Correct opaque flag usage
In performTraversals, "params" may be null. In this case we were
not passing params to the WM indicating no changes (an obscure
artifact of the protocol).  In R the WM would simply ignore this
however our updateOpacity logic in S is treating null as "translucent"
it seems easiest to just pass mWindowAttributes directly avoiding
the null case. While the opacity was broken, it seems an animation
was added to StartingSurfaceDrawer which depends on having a translucent
window. We also update this code to request a transparent pixel format
as would have been required in the R API.

Bug: 186555833
Test: Existing tests pass
Change-Id: I180bf1796bbb4b7049ae9811f674f31014c2a400
2021-05-25 17:14:26 -07:00
Adam He
a8ad787594 Manual overwrite @removed for genereated builder apis.
Fixes: 186475868
Test: atest CtsTranslationTestCases
Change-Id: Ie56e57ac0afb2a3b1c99eb489d38d557fd1e2124
2021-05-25 13:07:12 -07:00
Tiger Huang
ea428b55e7 Merge "Flush the animation if it is canceled" into sc-dev 2021-05-25 17:12:16 +00:00
Vadim Caen
fc1efcb428 Merge changes from topic "splashscreen-surface" into sc-dev
* changes:
  Do not reparent the SC when package is already realeased
  Display Splashscreen AVD in a SurfaceView
2021-05-25 15:24:08 +00:00
Tiger Huang
1ce223481a Flush the animation if it is canceled
The issue was that: if navigation bar is requested to show while a
controller is playing an animation of hiding both status bar and
navigation bar, the animation will be canceled and will stay in an
intermediate state, and then, another controller will play an animation
of showing navigation bar. At the end, status bar will stay visible but
it should be invisible.

This CL fast-forwards the insets animation to the end state if it is
canceled.

Fix: 185459811
Test: Steps in the bug.
Change-Id: Id6ae321b6c153ed1d7155afd6111b193ac9c045c
2021-05-25 13:39:49 +00:00
Galia Peycheva
ee1219ac1d Merge "Add TunnelModeStateListener in java+jni" into sc-dev 2021-05-25 12:05:42 +00:00
Joanne Chung
cee152ee43 Merge "Refine the ViewTranslationCallback usage." into sc-dev 2021-05-22 07:41:18 +00:00
Nikita Dubrovsky
7bac522d23 Merge "Improve javadocs for OnReceiveContentListener" into sc-dev 2021-05-22 05:05:40 +00:00
Nate Myren
4421186590 Merge "Add PrivacyIndicator APIs to WindowInsets" into sc-dev 2021-05-22 00:13:34 +00:00
Nikita Dubrovsky
abd1ae225b Improve javadocs for OnReceiveContentListener
Bug: 186122267
Test: Presubmit
Change-Id: I7d9648ea3d942f69770dc65c1d4f4a799edf11ad
2021-05-21 15:53:15 -07:00
Adam He
db0514ea5b Added documentation for TResponseValue bundle on how to use and example
structure.

Bug: 187219452
Test: atest CtsTranslationTestCases
Change-Id: I9bc6e5bcdd0b5b551be5afc727554905dc1df4fe
2021-05-21 11:54:23 -07:00
Yohei Yukawa
898b28fecc Remove CursorAnchorInfo#createForAdditionalParentMatrix()
This CL logically reverts my previous CL [1], which added an @hide
method

  CursorAnchorInfo#createForAdditionalParentMatrix()

as a preparation to support CursorAnchorInfo API on ActivityView.

Now that InputMethodManager#reportActivityView() is removed [2], we
also do not need this @hide method any more too.

Note also that CursorAnchorInfo is now fully tested in CTS rather than
FrameworksCoreTests [3].  Thus it's fine with removing
CursorAnchorInfoTest.java from FrameworksCoreTests.

  [1]: Ic7f9057623ffc61ec7a6121735dc39adecf4649d
       e4410a135b
  [2]: Idd60d96a39f827197d189beb5de016446576d9cd
       44c499d853
  [3]: Ib758bddff34b4722b39c94e7ad4e8f8da2bb8b92
       c4ef1d6ec22dc2af2ed339fd4e78075903783be0

Bug: 115693908
Bug: 179161778
Test: atest CtsInputMethodTestCases:CursorAnchorInfoTest
Change-Id: I0a05453eeed863db5bfe4b965ab4bcbad67f2783
2021-05-21 18:14:26 +00:00
Yohei Yukawa
44c499d853 Remove InputMethodManager#reportActivityView()
This CL logically reverts my previous CL [1], which re-enabled
CursorAnchorInfo API for ActivityView since ActivityView is finally
removed [2].

There should be no user/developer impact in this CL as

   InputMethodManager#reportActivityView()

is called nowhere.

 [1]: Id0411a80456182111bb5b681c6d1230b58e7ec2e
      b4f328a2f3
 [2]: Ic66f3740819634366edb20a34a7c8177af258c2f
      5456990f7e

Bug: 115693908
Bug: 179161778
Test: atest CtsInputMethodTestCases
Test: atest CtsWindowManagerDeviceTestCases:ActivityViewTest
Change-Id: Idd60d96a39f827197d189beb5de016446576d9cd
2021-05-21 18:13:17 +00:00
Vadim Caen
dd36873334 Do not reparent the SC when package is already realeased
If we pass a copy of the surface package, we can release the original,
but we need to check that in this case the surface control doesn't get
reparented to null since the SurfaceView using the copy might already
use the surface.

Test: atest CtsWindowManagerDeviceTestCases:SurfaceControlViewHostTests#testTransferSurfacePackage
Bug: 181757194
Change-Id: Ibf084aa70f3821e7dc82fe45b194c07f307ebe1e
2021-05-21 13:13:16 +02:00
Joanne Chung
18b1d3bde4 Refine the ViewTranslationCallback usage.
Currently, TextView uses its default implementation even developers
uses setViewTranslationCallback() to set their customized
ViewTranslationCallback, we should only set default TextView
implementation if developers don't set it.

The onViewTranslationResponse() will call getViewTranslationCallback
instead of getting TextView default implementation directly. This can
make sure we can get the expected ViewTranslationCallback.

Bug: 183467275
Test: manual
Test: atest CtsTranslationTestCases

Change-Id: I41417140f8985aec6c80f1bca3cfba804727d5df
2021-05-21 19:11:14 +08:00
TreeHugger Robot
cc0987b12a Merge "Soft remove deprecated translation apis." into sc-dev 2021-05-21 08:39:35 +00:00
Adam He
6ebd5b236d Soft remove deprecated translation apis.
Bug: 186475868
Test: atest CtsTranslationTestCases
Change-Id: I87395052e9e5574f4ba11652c484cedec95c0cfb
2021-05-20 18:14:56 -07:00
Yohei Yukawa
ebd27c999b Merge "Fix IME be dismissed abruptly" into sc-dev 2021-05-20 17:19:45 +00:00
Nate Myren
8e762afcd7 Add PrivacyIndicator APIs to WindowInsets
Add an API to WindowInsets that allows apps to see the maximum bounds
of the system privacy indicator

Fixes: 185932128
Test: atest PrivacyIndicatorBoundsTests
Change-Id: I01d9e36ccbbea15752eccadfbce4c54bdd35ed5a
2021-05-20 09:43:49 -07:00
Jeff DeCew
fc0a05e3e4 Merge "Remove padding logic designed for old position of the expand button" into sc-dev 2021-05-20 16:22:41 +00:00
Joanne Chung
86d3f3deae Merge "Translate TextView content description if exist" into sc-dev 2021-05-20 06:00:56 +00:00