Commit Graph

16865 Commits

Author SHA1 Message Date
Charles Chen
427a66fa71 Merge "Send DA's config directly when attaching to DA" into sc-v2-dev 2021-07-10 05:02:32 +00:00
Tiger Huang
efe2a20ec1 Merge "Use the real behavior to decide the animation" into sc-dev am: 26c159d640
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15232838

Change-Id: I0d3b8ab1074e3e3dcbce151f0b92f9751b079edd
2021-07-09 19:57:04 +00:00
Tiger Huang
26c159d640 Merge "Use the real behavior to decide the animation" into sc-dev 2021-07-09 19:36:27 +00:00
Rob Carr
4718d33ee0 Merge "ViewRootImpl: Fix issue with early draw report in seamless rotation" into sc-dev am: 5f28230d34
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15235723

Change-Id: I49ddbea622e2ff431d86716bf29384e8b8ac09db
2021-07-09 02:55:26 +00:00
Rob Carr
5f28230d34 Merge "ViewRootImpl: Fix issue with early draw report in seamless rotation" into sc-dev 2021-07-09 02:28:27 +00:00
Robert Carr
a93fcc9e33 ViewRootImpl: Fix issue with early draw report in seamless rotation
When we receive RELAYOUT_RES_BLAST_SYNC from the WindowManager, we
trigger reportNextDraw, incrementing the pending draw count by one.
At the moment we unfortunately do this after dispatching callbacks
to SurfaceView. In the span of these callbacks, SurfaceView may
increment and decrement pending draw count, once it reaches zero
we will notify the WM of draw early, terminating the sync operation
without ever waiting for the ViewRootImpl to draw. By processing
RELAYOUT_RES_BLAST_SYNC before emitting the SurfaceView callbacks
we can avoid this issue.

Bug: 191921061
Test: Existing tests pass
Change-Id: I2f1096c9cdc79b89413c3f0bfd9b3054ef45f2d2
2021-07-08 13:23:33 -07:00
Evan Rosky
5b003d97e8 Merge "Hook up split-launch to legacy transition system" into sc-v2-dev 2021-07-08 18:10:40 +00:00
Evan Rosky
5ca3820ae6 Hook up split-launch to legacy transition system
Part 1 of hooking up stage-split to legacy stuff. This
actually routes the legacy remoteAnimation through shell
in order to gather the dividerbar and interract with the
WindowProcessController

Bug: 192279476
Test: atest WindowOrganizerTests.
      use SPLIT_SELECT to launch 2 apps in split and observe.
Change-Id: I4f8802e6eb33f068fae0e4b3c12942bea76e332b
2021-07-08 09:02:59 -07:00
Vishnu Nair
682565243f Merge "SurfaceControl: Query native object for transform hint" into sc-dev am: 07576112d9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15191721

Change-Id: I5830ac71715a1b5c6a32033a2641ca91323be20d
2021-07-08 15:57:11 +00:00
Vishnu Nair
07576112d9 Merge "SurfaceControl: Query native object for transform hint" into sc-dev 2021-07-08 15:45:31 +00:00
John Reck
c2697f38cc Merge "Reduce number of weakrefs per frame" into sc-dev am: a8bb119574
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15226230

Change-Id: Id8a534f1b04e1e09eb6ebd3f1d4170ddaab7115f
2021-07-08 15:23:15 +00:00
Tiger Huang
b4eac9b5d6 Use the real behavior to decide the animation
If the appearance or the behavior are not controlled by APIs,
InsetsController will still return the default values, but the
internal logic will access the real value.

Fix: 192635471
Test: Open an app which hides system bars with
      SYSTEM_UI_FLAG_IMMERSIVE_STICKY, but not
      BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE.
Change-Id: I1c2f947e3707fcb4c151c1ad19c9cd16527e11d9
2021-07-08 17:32:28 +08:00
John Reck
b7039c6aa5 Reduce number of weakrefs per frame
Disable end-to-end input latency metric to reduce the
number of JNI WeakGlobalRef acquires per-frame.

Bug: 189738006
Test: Observe trace section no longer appears in calculator
Change-Id: I062dad8e7cec93cca5599e51d2b0b1a1b6e39a07
2021-07-07 19:18:34 -04:00
Charles Chen
eb07884f01 Send DA's config directly when attaching to DA
WindowContext relies on WindowTokenClient#onConfigurationChanged after
calling WMS#attachWindowContextToDisplayArea.
However, it took some time to wait for onConfigurationChanged callback
from the server side so that we may get a stale value right after
creating WindowContext.
This confuses developers especially when the foreground activity is in
size compat mode or freeform because the process config is overridden
by activity's config.
This CL makes #attachWindowContextToDisplayArea return DA's configuration
and applies to WindowContext direcly.
It also benefits WindowProviderService because it can obtain DA's
 configuration before onCreate() based on [1] and this CL.

Bug: 190019118
Bug: 190745506
Test: manual - 1. launch an Activity in size compat mode
               2. create a WindowContext and verify if WindowMetrics
                  matches DA bounds.
Test: atest WindowContextTest WindowContextTests
Test: atest WindowContextControllerTest ContextGetDisplayTest
[1]: dd4a748af0

Change-Id: I8dd3987b731662502bc01e9d2ed67e718ada5f46
2021-07-05 14:02:02 +08:00
Yinglei Wang
1943d7c240 Merge "Allow app usage of AccessibilityInteractionClient#getInstance and clearCache before T" into sc-dev am: 69d877992b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15181867

Change-Id: I9dbabae9045f67d595836608de23065030ee17ba
2021-07-02 21:27:43 +00:00
Yinglei Wang
69d877992b Merge "Allow app usage of AccessibilityInteractionClient#getInstance and clearCache before T" into sc-dev 2021-07-02 21:21:33 +00:00
Vishnu Nair
f4cc95956c SurfaceControl: Query native object for transform hint
When a new SurfaceControl was created, the java object's transform
hint was not updated. This created a mismatch between the java and
native objects resulting in the client getting an incorrect transform
hint. Fix this by making the native object the source of truth for
transform hints.

Test: in landscape mode, dismiss apps and check launcher does not reject buffers
Bug: 191841127

Change-Id: Icc87b8cf8158eedb87eea886392a0460a76c6443
2021-07-02 13:08:33 -07:00
Mark Renouf
f5ff9a0425 Merge "Revert "Revert "Fix mPositionInWindow to not use global coords""" into sc-dev am: 2fe11f121d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15172668

Change-Id: I4dcb7a6bca2038484f5399dc4d3871aff2fb5352
2021-07-02 19:06:15 +00:00
Mark Renouf
2fe11f121d Merge "Revert "Revert "Fix mPositionInWindow to not use global coords""" into sc-dev 2021-07-02 18:54:07 +00:00
yingleiw
81f366110d Allow app usage of AccessibilityInteractionClient#getInstance and clearCache before T
These are needed to have a workaround fix for a11y cache filled with
stale data before android T.

NoNonSdkCheck: set maxTargetSdk to S in UnsupportedAppUsage is not allowed yet.

Bug: b/192110374

Test: it builds fine.
Change-Id: Iaa0f68b2b8e4702f6b638cb3060714a22850af7e
2021-07-02 16:58:59 +00:00
TreeHugger Robot
3760ff5953 Merge "Switch back to sync IInputMethodManager" into sc-dev am: 4e944d4634
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15176334

Change-Id: I98fc3154d5384ac6c0d75428c059d6fe8e4c7b68
2021-07-02 15:37:19 +00:00
TreeHugger Robot
4e944d4634 Merge "Switch back to sync IInputMethodManager" into sc-dev 2021-07-02 15:22:21 +00:00
Yohei Yukawa
9dde701446 Switch back to sync IInputMethodManager
This CL logically reverts recent CLs [1][2][3][4][5][6][7][8][9] to
switch back to the previous sync IPC approach in IInputMethodManager
except for the following two IPCs.

 * reportPerceptibleAsync
 * removeImeSurfaceFromWindowAsync

Reason for revert:
We need more time to understand its performance implications.

 [1]: If4b40244a2e0e3b11c38c1da9340ba8e5166ad64
      b9590fa1e1
 [2]: If79e063641a01b325c63eb9f871f5b992d7c0b72
      5a5648dcb5
 [3]: I1547b98b2aacf764e33aadc9ab784f2013f58f2f
      d833f0dab4
 [4]: I646ef4ae0570aae1812ea267f309441fdec6938d
      38fd020616
 [5]: Iaa63e01453da4ff0e3f446eac036b3be3180cb73
      4a820ccc41
 [6]: Id516fd1c961f43ac3e139c88d7ed004c188d458b
      0a32fd21ef
 [7]: Icb396ae5d74060af69c4ecb16723b2e37b9f2067
      c4663ba6a9
 [8]: I3eafbc28ed3acf3ba859885bf201cb06b3149b94
      f226a79fee
 [9]: Ic584203c1221fbae17f5e2d8f09e3992df061646
      5e2d9f271d

Bug: 163453493
Bug: 174892351
Fix: 190486491
Test: atest CtsInputMethodTestCases
Change-Id: If16ac0de536d9089eb04f6e07b1ee47378124658
Merged-In: If16ac0de536d9089eb04f6e07b1ee47378124658
2021-07-02 07:06:07 +00:00
Joanne Chung
da14b09d4b Merge "Fix translation reference gone problem." into sc-dev am: 3d088cbb09
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15172174

Change-Id: If5e44d08cf649d90380a7ccb14ed833f17d42b14
2021-07-02 04:11:13 +00:00
Joanne Chung
3d088cbb09 Merge "Fix translation reference gone problem." into sc-dev 2021-07-02 03:58:36 +00:00
Charles Chen
56e17bfcd8 Merge "Remove updateImeDisplayId" into sc-v2-dev 2021-07-02 03:20:32 +00:00
TreeHugger Robot
e690168c26 Merge "[DO NOT MERGE] Remove the Client Suggestions APIs" into sc-v2-dev 2021-07-02 03:00:50 +00:00
Joanne Chung
844cc85ddf Fix translation reference gone problem.
1. We save Translator WeakReference in ServiceBinderReceiver.
It has a chance the reference is gone even the session is still
alive. Save Translator instead of WeakReference.
2. Fix not access TranslationManager mTranslators, mTranslatorIds in
the lock.
3. Fix protential NPE of resultData access in ServiceBinderReceiver.

Bug: 192205945
Test: manual. The function works.
Test: atest CtsTranslationTestCases

Change-Id: I158901db4bbcd76203c705ab2a34f1e0b37c7565
2021-07-02 10:12:32 +08:00
Joanne Chung
78878ae91f Merge "Disable log default dumps in debug ROM" into sc-dev am: 559b8dd078
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15048193

Change-Id: I24d502877c3bb160cfe16054c309087b4332dc7d
2021-07-02 00:14:53 +00:00
Joanne Chung
559b8dd078 Merge "Disable log default dumps in debug ROM" into sc-dev 2021-07-02 00:10:57 +00:00
Adam He
ff043d6c94 Merge "Remove activity name from autofill metrics logger." into sc-dev am: c254f87c57
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15147190

Change-Id: I05bc950285f84a833bbceef3dcdb5c8855cbd1f4
2021-07-01 18:49:51 +00:00
Adam He
c254f87c57 Merge "Remove activity name from autofill metrics logger." into sc-dev 2021-07-01 18:38:06 +00:00
Ady Abraham
d66543b1dd Merge "Add preferredMinDisplayRefreshRate" into sc-dev am: ac57d157da
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15141394

Change-Id: Ib7bb870db677036646aa32aaab8caee6695ddecf
2021-07-01 18:01:11 +00:00
Ady Abraham
ac57d157da Merge "Add preferredMinDisplayRefreshRate" into sc-dev 2021-07-01 17:58:23 +00:00
Mark Renouf
5f1b817783 Revert "Revert "Fix mPositionInWindow to not use global coords""
This reverts commit f3cda71966.

Reason for revert: Rolling forward with updated test.

Fix is in CTS test:
https://googleplex-android-review.git.corp.google.com/q/topic:screenshot_cts

Bug: 191877447
Change-Id: I058951ce761dc22e8cd1f684ea3f2a98fcf8a8eb
2021-07-01 14:43:49 +00:00
Joanne Chung
192818d7a5 Merge "Notify onFinished when activity is destroyed." into sc-dev am: d78977a7aa
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15125592

Change-Id: I4d089a39da9a05e94bfd7d40680eccb69980ab66
2021-07-01 13:34:18 +00:00
Joanne Chung
d78977a7aa Merge "Notify onFinished when activity is destroyed." into sc-dev 2021-07-01 13:29:21 +00:00
Joanne Chung
bb612abccd Notify onFinished when activity is destroyed.
Bug: 184901144
Test: manual
Test: atest UiTranslationManagerTest

Change-Id: Ife6883b6e4b84ad3994b83683b9dfe3af6df91af
2021-07-01 13:14:54 +08:00
TreeHugger Robot
a2ac47278c Merge "Add FLAG_IS_ACCESSIBILITY_EVENT to KeyEvent and MotionEvent" into sc-dev am: 24b5ca6b4b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15021525

Change-Id: I6d72e36bb129e093bde0013c060a0eda61f16264
2021-07-01 03:43:03 +00:00
TreeHugger Robot
24b5ca6b4b Merge "Add FLAG_IS_ACCESSIBILITY_EVENT to KeyEvent and MotionEvent" into sc-dev 2021-07-01 03:37:28 +00:00
Huihong Luo
90f63c74c4 Merge "Add a sys prop to control WebView Overlays support" into sc-dev am: faa7a4383e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15158764

Change-Id: I66925c99bfd1541a1e1b32350cfb948a1af0babb
2021-06-30 23:27:21 +00:00
Siarhei Vishniakou
b42785efdf Add FLAG_IS_ACCESSIBILITY_EVENT to KeyEvent and MotionEvent
This flag indicates that the event was modified or generated by an
accessibility service.
It allows apps to tell apart real hardware events, events that are
injected (device id == -1), and events coming from accessibility (has
flag is_accessibility_event).

Events that have gone into accessibility, and got reinjected without
being modified will not be distinguishable from real hardware events.

In the next release, we will make FLAG_IS_ACCESSIBILITY_EVENT public
api. Until then, applications will have to hard-code its value (0x800)
to use it. The value is the same for both KeyEvents and MotionEvents for
convenience.

Bug: 175069843
Bug: 152399927
Test: atest VerifiedMotionEventTest VerifiedKeyEventTest
Test: atest AccessibilityGestureDispatchTest
Test: atest inputflinger_tests libinput_tests GamepadWithAccessibilityTest
Change-Id: I38ac2ab8e19e32cad927742c623f14f43ea0c588
2021-06-30 21:07:38 +00:00
Huihong Luo
eb93107b57 Add a sys prop to control WebView Overlays support
The boolean system property is named as "debug.hwui.webview_overlays_enabled"

Bug: 192267127
Test: change the property value, check presence of Webview Surface
Control

Change-Id: I01e3e26282a5fa79aa504a6e49c5abe1a1c3ea02
2021-06-30 11:47:21 -07:00
Ady Abraham
540012bf1e Add preferredMinDisplayRefreshRate
Add a new private window attribute for allowing apps to specify the min
display refresh rate in addition to the existing
preferredMaxDisplayRefreshRate. This is useful for use cases such as
keyguard where the refresh rate should be limited to a single value,
and using preferredDisplayModeId would not lock the display
refresh rate, as frame rate override might be enabled.

Test: atest RefreshRatePolicyTest FrameRateSelectionPriorityTests DisplayModeDirectorTest
Bug: 183226498
Bug: 184176119
Change-Id: I343569b3cbccd73001703dca78f0f99e196a4d52
2021-06-30 11:32:26 -04:00
Chavi Weingarten
d5e7575206 Merge "Renamed and moved InputWindow and related files" into sc-v2-dev 2021-06-30 14:46:22 +00:00
TreeHugger Robot
d2ff282263 Merge "Flush Content Capture context updated event immediately" into sc-dev am: 3a4b5e0817
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15096570

Change-Id: Ia80018aafb59ac660ea8f7268e6b26207eb5db33
2021-06-30 00:52:30 +00:00
TreeHugger Robot
3a4b5e0817 Merge "Flush Content Capture context updated event immediately" into sc-dev 2021-06-30 00:49:26 +00:00
Adam He
4ed8a9b1c6 Remove activity name from autofill metrics logger.
Bug: 192370727
Test: atest CtsAutoFillServiceTestCases
Change-Id: I88765d5ef92ed9fb03bc5c3c161ddad22e297fd6
2021-06-29 15:52:34 -07:00
Ady Abraham
6ca701154d Merge "WM: add missing plumbing for preferredMaxDisplayRefreshRate" into sc-dev am: 8dff5292c5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15133561

Change-Id: I4b43fb463fdba48ef3bf5dfaf0bc20b8e71a2383
2021-06-29 17:36:51 +00:00
Ady Abraham
8dff5292c5 Merge "WM: add missing plumbing for preferredMaxDisplayRefreshRate" into sc-dev 2021-06-29 17:19:49 +00:00