- wrapHardwareBuffer will throw an illegal argument exception when
the buffer doesn't have this flag, but it's not clear how this
happens yet because all the buffers should be from surface flinger
snapshots...
Bug: 157562905
Test: Manual
Change-Id: I48be367d8aafb3e17f11a73a73432617a247c0dd
Merged-In: I48be367d8aafb3e17f11a73a73432617a247c0dd
eEarlyWakeup flag is used as a hint to SurfaceFlinger to adjust its
offsets so it can wakeup earlier and have sufficient time to compose
more complex scenes.
This flag has been replaced with explicit start and stop flags which
ensure the SurfaceFlinger offsets remain consistent during animation.
Bug: 158127834
Test: go/wm-smoke
Test: systrace to verify new tracepoint and offset behavior
Change-Id: Ib9c35c01a6bf02f88ec7cb1778e01909bd2f9055
Align animation and touch on vsync-sf to reduce jank
Bug: 157470918
Test: Enter PiP and move it
Test: atest PipAnimationControllerTest
Change-Id: I75506bb87a5e5b9a4d2f94c0a92e0a3fa25e060f
When passing a screenshot from Launcher to Sysui it should be passed
as a hardware buffer inside a bundle to avoid copying the underlying pixels.
Change also adds userid and component when a screenshot is passed.
Bug: 157380566
Bug: 156757117
Test: local
Change-Id: I531f1d1a41d179a257fe7202b68a6d1a78cc0f79
Launcher needs to distinguish display changes
that result naturally vs apps that launch
in a fixed portrait/landscape rotation during
the quickstep gesture.This callback helps anticipate
if a subseqent onDisplayChanged() will
have resulted from a natural rotation or not.
Bug: 154580671
Change-Id: I59ee7985a9f367e8fc5826c08476c1a25d1426b0
Change-Id: I2cdea6761e6665c8f863937eff33a8272381b6e9
Merged-In: I2cdea6761e6665c8f863937eff33a8272381b6e9
Bug: 155499313
Test: Swipe back while global actions are showing over the lockscreen
Don't use reference to the resource id as it might change
in the framework. Also catch all exceptions when using
scalePreview.
Bug: 154783188
Test: manual
Change-Id: I10a21d8a302c4b0d3fd9b1d64046ede22bd0d6b8
Remove and re add divider view as needed so we do not allocate memory
while split screen is not active. Also release surface reference from
server when we are done with the SurfaceControl so we don't have to rely
on GC to remove the last reference.
Fixes: 150190730
Test: test split screen manually, check for offscreen or onscreen
divider layers in winscope
Change-Id: I1a6a1c1d4346aafeae85aaf61ec4df23722e75ab
This would allow us to implement SyncRtSurfaceTransactionApplierCompat directly in Launcher
so that we can better handle surface lifecycle
Also removing java 7 restriction from librayr as the latest gradle properly handle java-8 jars
Bug: 148885018
Bug: 148194313
Test: Verified jar works with Launcher
Change-Id: I57adfea4b41ce12c8f8f2697dc554feca7ccc6b6
This way receivers like recents know whether the activity
was already visible before a restart attempt.
Bug: 154575664
Test: added test. Can also launch a running activity into
split-primary and it won't expand it.
Change-Id: If59ee1615fa36bbe3af9412194a7f96b9377528a
PipTouchHandler, similar to other components in SysUI, should be in-sync
with the destination bounds calculated within SysUI rather than WM.
Fixed also the empty movement bounds upon the first call to
PipTouchHandler#onMovementBoundsChanged. Together, this change should
fix the PIP not being lifted on IME show up. PipTouchHandlerTest is
updated correspondingly.
Bug: 153352899
Test: manually enter/exit PiP
Test: atest PipTouchHandlerTest
Change-Id: I2912af2a181b7fb57c6d90751744d46c6b3366d2
In quick switch flows, launcher will first swipe task snapshot
through recents animation, and then start new task with custom animation
options through startActivityFromRecents after gesture finish detected,
and then finish recents animation finally.
But that way user may experience flickering before the new task launch
and recents animation finish.
To improve quick switch flickering, we ignore the new task's custom
animation from recents and generate task remote animation target,
and then trigger a callback for launcher to control/animate this
task surface, more like a part of RecentsAnimation,
Also, adding removeTask method for launcher can flexibility remove the
new task animation target once no need to animate, so that launcher
can decide when to finish recents animation.
Bug: 152480470
Test: manual as below steps:
1) Doing quick switch task.
2) Make sure launcher can receive onTaskAppeared callback.
3) Make sure launcher calls removeTask successfully.
4) Make sure launcher can finish recents animation after 3).
Change-Id: I0692a280a49719229fa8871509bad37a1343a00f