When using blast, there's no need to call preserve surfaces since the
client can synchronize layer changes with the incoming buffer in the
new size. If the client uses the WindowOrganizer.applySync call they can
ensure they only update the layer geometry in the same transaction that
the new buffer is submitted in.
When removing preserveSurfaces, we can also remove reparentChildren
since that was the only caller of reparentChildren
Test: Split with SurfaceView
Bug: 177557720
Change-Id: I4574ac0d3b8a63b13ac44846e729b73ca0f88f23
If an Insets animation was cancelled before it could complete,
handle it gracefully.
Fix: 154381667
Test: Run monkey runner that on any window that has edit text
atest InsetsControllerTests
Change-Id: I052a0455f536a1c839a2782e54f19143295ba6c6
The change is disabled by default. To enable remote animation, one needs
to set a property and to restart the WMS.
% adb root
% adb shell setprop persist.wm.enable_remote_keyguard_animation 1
% adb reboot
Test: Existing tests pass.
Bug: 175686676
Bug: 179122467
Change-Id: I65f36232df715616cfcadcf5d389b72e0894fddd
Before WindowContext 2.0, WM creates WindowToken for each
WindowContext. After that, it only creates WindowToken when
WindowContext adss the first view.
Therefore, if InputMethodMenuController invokes getSettingsContext
with different display id before showing the IME switch dialog,
moveWindowTokenToDisplay is no-op because WindowToken with
token switchDialogToken hasn't yet existed. We should re-register
to the different display to receive ImeContainer config changes for
this scenario.
Bug: 159767464
Bug: 153369119
Test: InputMethodMenuControllerTest
Change-Id: Ib9d94a275e1b686535ab3edd7c0c3ce957efd8cd
1. Fix wrong state while calling runForEachView(). Make a copy of
mView and operate these views on ui thread.
2. Don't throw Exception in Activity side if the views paramether is
empty. The parameters is aleady checked in API call level.
3. Simpify call methods with lamda
Bug: 172969740
Test: call UiTranslation APIs and make sure methods are called as expected
Change-Id: Ic319939ec72a11608c64db876c57780339b75fd3
This CL makes the blur behind functionality a public API. As part of
this change, we change its previous name (windowBackgroundBlurRadius) to
windowBlurBehindRadius. This avoids a name clash with the Window
background blur, which only blurs the area of the window. Blur behind
blurs everything behind the window (similar behaviour to the dim).
This CL exposes WM.LP.blurBehindRadius and, in addition, undeprecates an
old flag - FLAG_BLUR_BEHIND. FLAG_BLUR_BEHIND enables the blur behind
and blurBehindRadius specifies how dense the blur will be.
In addition, we expose two xml attributes on the Window -
windowBlurBehindEnable and windowBlurBehindRadius. The usage is similar
to the dim api.
Bug: 167166562
Bug: 177524486
Test: m && test app
Change-Id: If2fcde644c5bcca112495ca99ee66bae909877db
Merged-In: If2fcde644c5bcca112495ca99ee66bae909877db
This CL moves computeWindowBounds to the client side. The client can use
it to compute the frame hint on its own.
This can be a step to make client compute its window frame locally.
Bug: 161810301
BUg: 175858823
Test: atest WindowAddRemovePerfTest ActivityRecordTests
DisplayPolicyLayoutTests TaskSnapshotSurfaceTest
Change-Id: Ia5af1919b8e0e973646a63d1a4c3bf7ea7e2d1f6
Sandbox Display#getRealSize and WindowManager
bounds when letterbox or size compat mode are
applied to the configuration. Display uses
this field to provide the sandboxed display
size.
Test: atest WindowConfigurationTests
Test: atest FrameworksMockingCoreTests:android.view.DisplayTests
Test: atest WmTests:SizeCompatTests
Bug: 171386167
Change-Id: I6f78edcd9214b52ab0708e3892bc86ee05bb5b9a
With the removal, only the insets with mandatory gesture types provides
mandatory gesture insets. Previously we treat the top and bottom gesture
insets differently.
Modified to addWindowLw to let the bars provide correct insets type
corresponding to the change.
Bug: 161689946
Test: DisplayPolicyTests DisplayPolicyLayoutTests
Change-Id: I91f19d4b50d06a8afcac8355d08e1634973127f1
This more closesly mirrors the timing of pre-BLAST behavior. There
are also some concerns that we may not reach releaseSurfaces if our
first call to tryReleaseSurface came through ViewRoot#doDie.
Bug: 176691195
Test: Existing tests pass
Change-Id: I211a3e80eab1e847a4d6ade47ff19cf131de8f39
Revert "Add permission check for blurs in SurfaceFlinger"
Revert "Remove public usages of FLAG_BLUR_BEHIND"
Revert "Add pid and uid to SF::setClientStateLocked"
Revert "Add USE_BACKGROUND_BLUR to cts expected permissions"
Revert submission 13350963-blur_system_api
Reason for revert: This topic made blurs a system api. API council voted against that and we will instead aim to make it public for S. None of these changes are relevant in that case.
Reverted Changes:
I3683db296:Remove public usages of FLAG_BLUR_BEHIND
I23b21b603:Add USE_BACKGROUND_BLUR to cts expected permission...
Id21f03793:Add pid and uid to SF::setClientStateLocked
If5d8344a5:Add permission for blur SystemApi
I70d1e1715:Add permission check for blurs in SurfaceFlinger
Icf98c3607:Make window background blurs SystemApi
I0b881ec6e:Make BackgroundBlurDrawable a SystemApi
Bug: 177523043
Test: m
Change-Id: I0f7bcf34db2986d8d5e08b115a611e8e07db5917
Merged-In: I0f7bcf34db2986d8d5e08b115a611e8e07db5917
Revert "Add permission check for blurs in SurfaceFlinger"
Revert "Remove public usages of FLAG_BLUR_BEHIND"
Revert "Add pid and uid to SF::setClientStateLocked"
Revert "Add USE_BACKGROUND_BLUR to cts expected permissions"
Revert submission 13350963-blur_system_api
Reason for revert: This topic made blurs a system api. API council voted against that and we will instead aim to make it public for S. None of these changes are relevant in that case.
Reverted Changes:
I3683db296:Remove public usages of FLAG_BLUR_BEHIND
I23b21b603:Add USE_BACKGROUND_BLUR to cts expected permission...
Id21f03793:Add pid and uid to SF::setClientStateLocked
If5d8344a5:Add permission for blur SystemApi
I70d1e1715:Add permission check for blurs in SurfaceFlinger
Icf98c3607:Make window background blurs SystemApi
I0b881ec6e:Make BackgroundBlurDrawable a SystemApi
Bug: 177523043
Test: m
Change-Id: Iee4b89b06508c7dc3b7266452bb0b987f8670fac
Merged-In: Iee4b89b06508c7dc3b7266452bb0b987f8670fac
- Created a new @hide class RoundedCorners
- The class is used to create and manager all the rounded corners.
- Created a new public class RoundedCorner
- Represent each rounded corner.
- Created a new public API in Display to get the original rounded
corners.
- Created a new public API in WindowInsets to get the rounded corners
relative to the window bounds.
Bug: 161808676
Test: atest RoundedCornerTest RoundedCornersTest
DisplayPolicyLayoutTests DisplayPolicyTests
WallpaperControllerTests
Change-Id: I58c671b0e9a077cdf26764c6302537c72db0f667
It needs to clear the reference views after calling
ViewGroup#buildOrderedChildList to prevent memory leak.
Bug: 178029590
Test: manually test
Change-Id: I770c8deab00496f9361ab30837a31f44c7367a46