Commit Graph

13967 Commits

Author SHA1 Message Date
Rob Carr
d201386460 Merge "ViewRootImpl: Fix overlapping BLAST Sync issues." 2020-02-18 22:28:17 +00:00
TreeHugger Robot
1031e06adf Merge "Remove more deferTransactionUntilSurface calls" 2020-02-18 21:09:50 +00:00
Robert Carr
2bd95bf6ad ViewRootImpl: Fix overlapping BLAST Sync issues.
Currently we aren't well equipped to handle overlapping synchronization.
That is to say where a second BLAST Sync begins before the first one finishes.
We track enabling this in b/149747443. In the mean-time we take a few steps
to prevent overlap:
   1. Call finishBLASTSync directly from the RT callback rather than posting
      to the UI thread.
   2. Before consuming "mNextDrawUseBLASTSync" fence the threaded renderer to make sure
      any previous draw has finished and emitted its callback.
   3. Use seperate variable for tracking whether the BLAST transaction has been applied
      so that an earlier draw finishing inbetween us calling setNextDrawUseBLASTSync
      and calling performDraw, will not lear the value of mNextDrawUseBlastSync.

Test: Flip the flag, play with youtube.
Bug: 149747443
Bug: 146598493
Bug: 149251083
Bug: 149315421
Change-Id: I6cfd976cd72345acc814fc99d182b50456014a0e
2020-02-18 11:13:21 -08:00
Robert Carr
f2f84f5f27 Remove more deferTransactionUntilSurface calls
These won't work with the BLAST adapter since the Surface isn't
known to the server side. We just convert them in to the other
variant of defer transaction calls.

Bug: 146598493
Bug: 149251083
Test: Existing tests pass
Change-Id: I34fc4bb90114bae8b0d9ffdee5c91a2371e5c240
2020-02-18 11:08:52 -08:00
Tarandeep Singh
2b39e764ab Window Manager Flag Migration (14/n) (Flips the flag)
Fully change to the new insets mode.

Bug: 118118435
Test: atest InsetsSourceProviderTest InsetsStateControllerTest
            InsetsPolicyTest WindowStateTests CommandQueueTest
            RegisterStatusBarResultTest InsetsFlagsTest
            LightBarControllerTest RegisterStatusBarResultTest
            ViewRootImplTest DisplayPolicyLayoutTests
            DisplayPolicyInsetsTests DisplayPolicyTests
            TaskSnapshotSurfaceTest
            AnimatedVectorDrawableParameterizedTest

Change-Id: I2041074beb4a6fd9da189c1d9127fc0ed1999770
2020-02-18 15:53:23 +08:00
TreeHugger Robot
2d4e0f25f2 Merge "Add the locale field and an extra Bundle to the InlineSuggestionsRequest." 2020-02-18 04:00:52 +00:00
Feng Cao
5f7e99e5d8 Add the locale field and an extra Bundle to the InlineSuggestionsRequest.
* The extra can be used to indicate the UI rendering library version, as well as anything else we may need after API freeze
* Also make the style in InlinePresentaionSpec publically accessible

Test: build
Bug: 146454892

Change-Id: Iaaf66c2dcffdef3ef8e91c347774afa3aa6176f9
2020-02-17 11:17:22 -08:00
TreeHugger Robot
8cde2c812e Merge "WindowInsetsAnimation: Clean up API" 2020-02-17 15:38:31 +00:00
Joanne Chung
559c57f493 Merge "Keep a strong reference to the InlineContentCallbackImpl" 2020-02-17 13:50:22 +00:00
Adrian Roos
db5b0c2321 WindowInsetsAnimation: Clean up API
Fixes issues the app developers have raised with
the WindowInsetsAnimation API:

- it really makes more sense to have the Animation
  as the outer class, and the Callback nested within
- it was not obvious previously that multiple animations
  could be running at the same time. A new argument to
  onProgress now makes this abundantly clear by passing
  in the list of running animations.
- The dispatch mode really fits better as a final
  property on the callback, rather than it being
  queried once from a getter.

Also fixes lint warnings.

Fixes: 143556682
Test: make checkapi; atest WindowInsetsControllerTests
Change-Id: I8cd8faac70dd5a15d779d2c983f0a0ea5d6bbd8e
2020-02-17 14:30:25 +01:00
Tiger Huang
e96570e291 Merge "Refactor AttachInfo.mGlobalSystemUiVisibility" 2020-02-17 12:24:44 +00:00
Tiger Huang
1828adfab2 Refactor AttachInfo.mGlobalSystemUiVisibility
Move it to ViewRootImpl and rename it: mDispatchedSystemUiVisibility
with default value 0 in the new insets mode instead of -1. Because
mCompatibleVisibilityInfo.globalVisibility will always be updated in the
new insets mode, we don't need the -1 value to detect the change from
non-zero value to zero dispatched from the server.

Bug: 118118435
Test: atest LayoutTests
Change-Id: I45064bdcdca37b9a2b30d82bb9d9c84e45732029
2020-02-17 18:27:58 +08:00
Joanne Chung
332c6a9a1f Keep a strong reference to the InlineContentCallbackImpl
1. Keep a strong reference to the contentCallback.
2. Make sure inflated() only allowed to be called once.

Bug: 146524826
Test: atest CtsInputMethodTestCases:android.view.\
inputmethod.cts.InlineSuggestionTest
Test: manual. Call inflate() twice and make sure the
behavior is expected.

Change-Id: Id9bd386269111d11a2b2c27e33832cac90061b61
2020-02-17 18:04:46 +08:00
Jackal Guo
0d8fea17d3 Merge "Use boundsOnScreen to offset the translate" 2020-02-17 03:47:30 +00:00
TreeHugger Robot
02b797b3f9 Merge "Add an API to allow AugmentedAutofillService to request an autofill." 2020-02-16 08:45:18 +00:00
Valerie Hau
e80f306fdf Merge "Fixing another crash when creating/updating BLASTBufferQueue" 2020-02-15 23:24:49 +00:00
Feng Cao
0fd5641dd7 Add an API to allow AugmentedAutofillService to request an autofill.
Test: manual verification
Bug: 149531989

Change-Id: I3b7ade5fb57da344379378b4c50e67b4cbad213c
2020-02-14 23:02:49 -08:00
TreeHugger Robot
575d7ad93c Merge "Response and Dataset authentication via inline autofill." 2020-02-15 02:41:58 +00:00
Valerie Hau
a8fe842973 Fixing another crash when creating/updating BLASTBufferQueue
If the BLAST surface control was not returned, fail early instead of
trying to update the BLAST adapter

Bug: N/A
Test: build, boot, turn BLAST on, no crash
Change-Id: Ib921fdb8c5313519ff0b09304d1e0359fcc7c018
2020-02-14 17:01:55 -08:00
Adam He
5be0f15801 Response and Dataset authentication via inline autofill.
Bug: 148815880
Test: manual verification
Change-Id: Ic72f6d828521737db5ce890c0e79cd6f8d16a6c6
2020-02-14 16:25:52 -08:00
TreeHugger Robot
1e154d1d63 Merge "Draw shadows in root task instead of leaf task and use EffectLayer to draw shadows" 2020-02-14 23:49:52 +00:00
Dominik Laskowski
b26dbebce0 Merge "Plumb display connection type to DMS" 2020-02-14 22:54:08 +00:00
Vishnu Nair
fd6fb67466 Draw shadows in root task instead of leaf task and use EffectLayer to draw shadows
Temporarily disable compositor shadows for freeform until root task has the correct/non-fullscreen bounds.

Fixes: 148807641

Test: adb shell settings put global render_shadows_in_compositor 1
Test: go/wm-smoke
Change-Id: I10371d2a2977bc4d10204d3cf4b052da5165e0e6
2020-02-14 21:36:10 +00:00
Adam He
4011625638 Move rendering logic for inline suggestions to ExtServices.
Added a render service in ExtServices to connect to the renderer in
androidx.autofill for inline suggestion slices.

Cleaned up old UI rendering code that lived in system_server.

Bug: 146453086
Test: atest ExtServicesUnitTests
Change-Id: I25a7ea438afe524683671c850625ae80dacccfaa
2020-02-14 11:15:43 -08:00
TreeHugger Robot
3eed349051 Merge "Surface GESTURE_START and GESTURE_END constants" 2020-02-14 19:07:58 +00:00
Derek Sollenberger
db8164c0ac Merge "Move RenderNodeAnimator to android.graphics.animation package" 2020-02-14 16:32:50 +00:00
Wale Ogunwale
711539126f Merge "Revert "Always get window insets from server"" 2020-02-14 13:55:40 +00:00
Wale Ogunwale
288e1bd045 Revert "Always get window insets from server"
This reverts commit 3e857ec536.

Reason for revert: Breaks wm-presubmit

Change-Id: I03fbbb01c8cabd0ebb9193adf640b9f07ce19826
2020-02-14 13:54:34 +00:00
Jackal Guo
ef364c5a55 Use boundsOnScreen to offset the translate
ScreenRect is position in current window. However, it results in the
incorrect bounds if the window isn't from (0, 0). We need to update
it with bounds on screen instead.

Bug: 149539748
Test: a11y CTS & unit tests
Change-Id: I3cb07656a2c87e5f4fd1cba78463b1135c959bd4
2020-02-14 17:03:43 +08:00
Chris Ye
4a58e34b6f Surface GESTURE_START and GESTURE_END constants
Make GESTURE_START and GESTURE_END public.

Bug: 146070157
Bug: 145553733
Change-Id: Icf32eb6e9e732639132a81546550208cd00a5afa
2020-02-13 20:26:48 -08:00
TreeHugger Robot
368e62fbf9 Merge "Always get window insets from server" 2020-02-14 03:22:32 +00:00
Jackal Guo
4e2e8a3e6e Merge "Support accessibility on embedded hierarchies (3/n)" 2020-02-14 01:51:30 +00:00
TreeHugger Robot
5de200eb17 Merge "Added OWNERS file for inputmethod" 2020-02-13 22:36:46 +00:00
Wale Ogunwale
ecf66058ea Added OWNERS file for inputmethod
Bug: N/A
Test: N/A
Change-Id: I0dd7bad55dec4f2332d7819d4ccb1e0da7a2d9b7
2020-02-13 13:14:24 -08:00
Derek Sollenberger
8c2f6b6e15 Move RenderNodeAnimator to android.graphics.animation package
A wrapper still exists at android.view.RenderNode animator
as it needs access to internals of the view that would violate
the package layering if moved into android.graphics.animation.

This CL also moves the Java and cpp files associated with creating
a native interpolator that can be run directly on the RenderThread.

Bug: 149293249
Test: CtsViewTestCases
Change-Id: I5260331fedbd634cf2f6d6d392941e7284527420
2020-02-13 16:14:06 -05:00
Derek Sollenberger
f5273a6bd9 Merge "Remove unnecessary UnsupportedAppUsage annotation" 2020-02-13 20:23:56 +00:00
Jorim Jaggi
29aa0e81ae Merge "Abort dispatching animation callbacks if the root view is gone" 2020-02-13 18:19:54 +00:00
Tiger Huang
f0ef89a522 Abort dispatching animation callbacks if the root view is gone
This CL prevents possible NullPointerExceptions.

Bug: 118118435
Bug: 149479853
Test: atest AnimatedVectorDrawableParameterizedTest
Change-Id: I966a15c0886b80317a34541fb315b2886981af16
2020-02-13 18:19:38 +00:00
Derek Sollenberger
6103f4363e Remove unnecessary UnsupportedAppUsage annotation
These annotations were part of the initial bulk assignment of
annotations, but do not have any active usage. Further, the
start() method is not annotated so there is no clear way for
applications to trigger any meaningful behavior.

Bug: 149293249
Test: built and surveyed for potential API usage
Change-Id: I4118d6d54562079c3c4e4a83fd0e40b50cb08434
2020-02-13 10:57:54 -05:00
Wale Ogunwale
595316bb20 Merge "Revert "Revert "Revert "Enable insets flag for IME"""" 2020-02-13 13:18:56 +00:00
Wale Ogunwale
13c9a90696 Revert "Revert "Revert "Enable insets flag for IME"""
This reverts commit 925c658631.

Reason for revert: Causing WindowManager pre-submits to fail.

Change-Id: I11dfc87e7fb2741b237688865eeefbd9e29dc981
2020-02-13 13:17:45 +00:00
Jackal Guo
ac234d6608 Support accessibility on embedded hierarchies (3/n)
Link embedded hierarchy for accessibility when #setChildSurfacePackage
is invoked.

Bug: 137593247
Test: a11y CTS & unit tests
Change-Id: I6e9cfb387c863314b0affc5b48fb3c4c62cdf950
2020-02-13 13:45:17 +08:00
Siarhei Vishniakou
b0f1fe887a Merge "New VerifiedInputEvent api" 2020-02-12 22:55:00 +00:00
Taran Singh
31af9f3ea6 Merge "Revert "Revert "Enable insets flag for IME""" 2020-02-12 21:24:24 +00:00
Taran Singh
925c658631 Revert "Revert "Enable insets flag for IME""
This reverts commit d01913ae83.

Reason for revert: We're ready to re-enable the flag since b/149121559 is fixed

Change-Id: I1aca81bb6c2dbb544841a2a6d17ef477cb8bdc9e
2020-02-12 19:07:46 +00:00
Dominik Laskowski
26290bb074 Plumb display connection type to DMS
Secondary physical displays are now properly categorized as TYPE_INTERNAL
or TYPE_EXTERNAL, rather than assumed to be external. LocalDisplayAdapter
distinguishes between primary/secondary and internal/external categories
when populating DisplayInfo.

Bug: 134771872
Test: dumpsys display
Change-Id: Id43a72411131588897f29b8d8db417f8c9e78259
2020-02-12 10:47:27 -08:00
TreeHugger Robot
806bb8bb38 Merge "Apply Insets animation when hw acceleration unavailable" 2020-02-12 10:02:29 +00:00
Shawn Lin
328e659c2d Merge "Make SHORT_EDGES mode only extends on the short edges" 2020-02-12 06:09:19 +00:00
shawnlin
465b7dea75 Make SHORT_EDGES mode only extends on the short edges
- In R, we allow long edge cutouts and therefore a new ALWAYS flag is
added which allow apps to be laid out in all edges. So now we have to
ensure apps with SHORT_EDGES mode to be laid out only in short edges.

- Set wallpapaer window to ALWAYS mode

Bug: 146876976
Test: atest DisplayPolicyLayoutTests
Test: atest WallpaperTests
Change-Id: Iaf820b5c8105927e61b30d389a659b9d28db3f94
2020-02-12 11:26:44 +08:00
Charles Chen
3e857ec536 Always get window insets from server
The previous implementation of computeWindowInsets is to
use last view from WM#addView, which may be invalid because
the last added view is removed and throws NPE when getting
property from the invalid view.
In this CL, we change the approach to always obtain window
insets from server.

fixes: 148789183
Test: atest FrameworksCoreTests:WindowMetricsTest
Test: atest WindowMetricsTests

Change-Id: Ic5512c31f86c597d99e13d29df654d3f527d6b55
2020-02-12 11:09:25 +08:00