Launcher3: Add long press gesture handle to switch last app

Change-Id: Ibea59c18ebb9c08493b19df63dd40769c56d83a2
Signed-off-by: micky387 <mickaelsaibi@free.fr>
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java b/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java
index 107babd..e944274 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java
@@ -23,8 +23,10 @@
 import static com.android.launcher3.logging.StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_OMNI_RUNNABLE;
 
 import android.content.Context;
+import android.os.UserHandle;
 import android.os.SystemClock;
 import android.util.Log;
+import android.view.HapticFeedbackConstants;
 import android.view.ViewConfiguration;
 
 import androidx.annotation.Nullable;
@@ -43,6 +45,9 @@
 import com.android.quickstep.util.ContextualSearchInvoker;
 import com.android.quickstep.util.ContextualSearchStateManager;
 
+import org.omnirom.omnilib.utils.TaskUtils;
+import org.omnirom.omnilib.utils.OmniVibe;
+
 /**
  * Class for extending nav handle long press behavior
  */
@@ -89,6 +94,8 @@
     @Nullable
     @VisibleForTesting
     final Runnable getLongPressRunnable(NavHandle navHandle) {
+        onHomeHandleLongClick();
+
         if (!isContextualSearchEntrypointEnabled(navHandle)) {
             Log.i(TAG, "Contextual Search invocation failed: entry point disabled");
             mVibratorWrapper.cancelVibrate();
@@ -194,4 +201,9 @@
             }
         }
     }
+
+    private void onHomeHandleLongClick() {
+        OmniVibe.performHapticFeedbackLw(HapticFeedbackConstants.LONG_PRESS, false, mContext);
+        TaskUtils.toggleLastApp(mContext, UserHandle.myUserId());
+    }
 }