diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2018-04-27 16:45:51 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2018-04-27 17:14:05 -0700 |
commit | 09cc13e20cb034f527fedb135cb8364f71e83d19 (patch) | |
tree | 926c559ffc636714ed9b204c50f1028a51d69fd1 | |
parent | c2c907edec37b3946aa0488956cfe22aafb0401a (diff) | |
download | android_packages_apps_Trebuchet-09cc13e20cb034f527fedb135cb8364f71e83d19.tar.gz android_packages_apps_Trebuchet-09cc13e20cb034f527fedb135cb8364f71e83d19.tar.bz2 android_packages_apps_Trebuchet-09cc13e20cb034f527fedb135cb8364f71e83d19.zip |
Let Launcher handle proxy touch events even if it is not focused
Bug: 74616863
Bug: 78367228
Change-Id: I8c9271e95583793af0832e3b07c988261b6267e8
-rw-r--r-- | quickstep/src/com/android/quickstep/TouchInteractionService.java | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index b89a83561..25649fa61 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -22,6 +22,8 @@ import static android.view.MotionEvent.ACTION_POINTER_DOWN; import static android.view.MotionEvent.ACTION_POINTER_UP; import static android.view.MotionEvent.ACTION_UP; +import static com.android.systemui.shared.system.ActivityManagerWrapper + .CLOSE_SYSTEM_WINDOWS_REASON_RECENTS; import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_NONE; import android.annotation.TargetApi; @@ -256,7 +258,6 @@ public class TouchInteractionService extends Service { private boolean mTrackingStarted = false; private boolean mInvalidated = false; - private boolean mHadWindowFocusOnDown; private float mLastProgress = 0; private boolean mStartPending = false; @@ -281,8 +282,7 @@ public class TouchInteractionService extends Service { if (action == ACTION_DOWN) { mTrackingStarted = false; mDownPos.set(ev.getX(), ev.getY()); - mHadWindowFocusOnDown = mTarget.hasWindowFocus(); - } else if (!mTrackingStarted && mHadWindowFocusOnDown) { + } else if (!mTrackingStarted) { switch (action) { case ACTION_POINTER_UP: case ACTION_POINTER_DOWN: @@ -328,11 +328,23 @@ public class TouchInteractionService extends Service { } @Override + public void onQuickStep(float eventX, float eventY, long eventTime) { + if (mInvalidated) { + return; + } + mActivityHelper.onQuickstepGestureStarted(mActivity, true); + ActivityManagerWrapper.getInstance() + .closeSystemWindows(CLOSE_SYSTEM_WINDOWS_REASON_RECENTS); + } + + @Override public void updateTouchTracking(int interactionType) { if (mInvalidated) { return; } if (interactionType == INTERACTION_QUICK_SCRUB) { + ActivityManagerWrapper.getInstance() + .closeSystemWindows(CLOSE_SYSTEM_WINDOWS_REASON_RECENTS); mStartPending = true; Runnable action = () -> { @@ -345,7 +357,6 @@ public class TouchInteractionService extends Service { mQuickScrubController.onQuickScrubEnd(); mEndPending = false; } - }; mActivityHelper.executeOnWindowAvailable(mActivity, action); |