LauncherActivity uses FLAG_SLIPPERY for certain interactions. For
example, when home screen is shown, and the user pulls down from not the
top of the screen, and notification shade is getting displayed, then the
touch should be getting transferred to the NotificationShade using
FLAG_SLIPPERY.
The newly introduced permission is added to launcher in order for this
flag to be applied to the window.
Bug: 206188649
Bug: 157929241
Test: reviewed logs, ensure that NexusLauncherActivity has FLAG_SLIPPERY
Test: re-ran the performance regression test
Merged-In: I8d05fa3663687b5382a59b0d47cdac404844c3b7
Change-Id: I8d05fa3663687b5382a59b0d47cdac404844c3b7
- Finish recents controller to app rather than to launcher, to ensure taskbar state uses in-app configuration
- Also fix an issue when a gesture completes before onLauncherStart, which happens in 3 button mode. The error I saw in the test was:
java.lang.AssertionError: http://go/tapl test failure: Failed to receive an event for the state change: expected [Overview], actual: [Background, Normal];
Context: want to switch from background to overview, clicking Recents button; now visible state is Background
(This also accurately describes what I saw on the device, where the LauncherState went to Normal but the task was still running in the live tile)
Test: testStressSwipeToOverview
Fixes: 203577620
Change-Id: I19616f7921c9821f1b45a90a3e4bec4fb3b8a9d3
Merged-In: I19616f7921c9821f1b45a90a3e4bec4fb3b8a9d3
(cherry picked from commit ce6bf7dd7f)
- Fix logic for canceling animation for continued quick switch, so that this case (starting a new gesture before onRecentsAnimationStart() of the previous gesture) instead goes to the STATE_FINISH_WITH_NO_END flow.
- Update the end target so that we go to that state instead of always overview state if swipe was past the halfway threshold when we call endLauncherTransitionController(). This is specifically so we don't use OverviewInputConsumer on the second gesture, given the first one was canceled and didn't actually go to overview.
- GestureState#isRecentsAnimationRunning() now checks for STATE_RECENTS_ANIMATION_STARTED rather than _INITIALIZED, to be consistent with its javadoc and TaskAnimationManager#isRecentsAnimationRunning(). This also ensures we can correctly calculate continued quick switch (see above).
- Call cleanUpRecentsAnimation() before creating a new one in TaskAnimationManager. This ensures that the previous listener doesn't immediately cleanup the new gesture when it gets onRecentsAnimationCanceled() due to the new recents animation starting.
Test: swipe to home twice from the app, locally ignoring the onRecentsAnimationStart() from the first one, and ensure the second one responds normally
Bug: 193851085
Change-Id: I76e27c96b54293805546c0d6c82e77f975c69d7a
Merged-In: I76e27c96b54293805546c0d6c82e77f975c69d7a
(cherry picked from commit 66ed0ff23e)
LauncherActivity uses FLAG_SLIPPERY for certain interactions. For
example, when home screen is shown, and the user pulls down from not the
top of the screen, and notification shade is getting displayed, then the
touch should be getting transferred to the NotificationShade using
FLAG_SLIPPERY.
The newly introduced permission is added to launcher in order for this
flag to be applied to the window.
Bug: 206188649
Bug: 157929241
Test: reviewed logs, ensure that NexusLauncherActivity has FLAG_SLIPPERY
Test: re-ran the performance regression test
Change-Id: I8d05fa3663687b5382a59b0d47cdac404844c3b7
This logic was aim to prevent tablet device enable One-handed gesture
so added displayInfo.densityDpi < DisplayMetrics.DENSITY_600 before.
However, it seems this densityDpi=600 does not able to represent to
tablet device, instead we already have system property
"ro.support_one_handed_mode" which provides feasibility to config false
on tablet project, as the reason we can safe to remove this condition.
Bug: 203936659
Test: adb shell wm density 600 , and observe OHM gesture is available
Test: atest WMShellUnitTests
Change-Id: Ic7ae10e8a47d26b9bb39ab80e22d591d74f89ae5
Merged-In: Ic7ae10e8a47d26b9bb39ab80e22d591d74f89ae5