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
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
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
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
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
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
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
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
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
Link embedded hierarchy for accessibility when #setChildSurfacePackage
is invoked.
Bug: 137593247
Test: a11y CTS & unit tests
Change-Id: I6e9cfb387c863314b0affc5b48fb3c4c62cdf950
This reverts commit d01913ae83.
Reason for revert: We're ready to re-enable the flag since b/149121559 is fixed
Change-Id: I1aca81bb6c2dbb544841a2a6d17ef477cb8bdc9e
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
- 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
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
On certain midrange and lower-specced devices, apps could be running
without hardware acceleration. Insets animation relied on ThreadRenderer's
frame-by-frame callbacks to animate system bars / IME.
When hardware acceleration is not available, we should just animate it
without any frame sync for now.
Bug: 111084606
Bug: 149342281
Test: Manually tested on Go device
1. Use app like Messages which don't have hw accelaration
2. Tap on editor to verify IME appears.
Change-Id: Icf453f09f4236a5092cf3ff7be99f98ece073979
Fixes an API deficiency where the request to control the animation
could not be cancelled until it has succeeded (or failed). To address that,
we return a CancellationSignal.
Bug: 143556682
Test: make checkapi; atest InsetsControllerTest
Change-Id: I03d1bcc7013c10d2deac7b1059b99894b7103230
WindowManagerGlobal should query for flag only when the service has
successfully been retrieved. Moving query into block where
sWindowManagerService is initalized
Bug: 149243163
Test: build, boot, adb shell device_config put
window_manager_native_boot wm_use_blast_adapter true/false
Change-Id: I864d60158236059fda9844844b07299bb97ee6d1
Introduce AccessibilityEmbeddedConnection. This interface provides
to the host view to the latter can interact with the view hierarchy
in SurfaceControlViewHost.
Bug: 137593247
Test: a11y CTS & unit tests
Change-Id: I9c4f5478c5ecd3bda7f688fa23660f372b59512b