summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2018-04-27 16:45:51 -0700
committerSunny Goyal <sunnygoyal@google.com>2018-04-27 17:14:05 -0700
commit09cc13e20cb034f527fedb135cb8364f71e83d19 (patch)
tree926c559ffc636714ed9b204c50f1028a51d69fd1
parentc2c907edec37b3946aa0488956cfe22aafb0401a (diff)
downloadandroid_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.java19
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);