Merge cherrypicks of ['googleplex-android-review.googlesource.com/35234607'] into security-aosp-udc-release. Change-Id: I29b657376b20b1efbc00668e2a8ef9d083f3432e
diff --git a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java index 07db194..f894a5f 100644 --- a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java +++ b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java
@@ -24,6 +24,7 @@ import android.os.Build; import android.os.SystemClock; import android.os.Trace; +import android.view.KeyEvent; import android.view.View; import androidx.annotation.BinderThread; @@ -70,6 +71,7 @@ private final TouchInteractionService mService; private final OverviewComponentObserver mOverviewComponentObserver; private final TaskAnimationManager mTaskAnimationManager; + private final SystemUiProxy mSystemUiProxy; private final ArrayList<CommandInfo> mPendingCommands = new ArrayList<>(); /** @@ -81,10 +83,12 @@ public OverviewCommandHelper(TouchInteractionService service, OverviewComponentObserver observer, - TaskAnimationManager taskAnimationManager) { + TaskAnimationManager taskAnimationManager, + SystemUiProxy systemUiProxy) { mService = service; mOverviewComponentObserver = observer; mTaskAnimationManager = taskAnimationManager; + mSystemUiProxy = systemUiProxy; } /** @@ -205,7 +209,7 @@ return true; } if (cmd.type == TYPE_HOME) { - mService.startActivity(mOverviewComponentObserver.getHomeIntent()); + mSystemUiProxy.onKeyEvent(KeyEvent.KEYCODE_HOME); return true; } } else {
diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.java b/quickstep/src/com/android/quickstep/SystemUiProxy.java index 9350c72..461a882 100644 --- a/quickstep/src/com/android/quickstep/SystemUiProxy.java +++ b/quickstep/src/com/android/quickstep/SystemUiProxy.java
@@ -179,6 +179,17 @@ } @Override + public void onKeyEvent(int keycode) { + if (mSystemUiProxy != null) { + try { + mSystemUiProxy.onKeyEvent(keycode); + } catch (RemoteException e) { + Log.w(TAG, "Failed call onKeyEvent", e); + } + } + } + + @Override public void onImeSwitcherPressed() { if (mSystemUiProxy != null) { try {
diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index d6a468d..41d6dc8 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java
@@ -535,7 +535,8 @@ mTaskAnimationManager = new TaskAnimationManager(this); mOverviewComponentObserver = new OverviewComponentObserver(this, mDeviceState); mOverviewCommandHelper = new OverviewCommandHelper(this, - mOverviewComponentObserver, mTaskAnimationManager); + mOverviewComponentObserver, mTaskAnimationManager, + SystemUiProxy.INSTANCE.get(this)); mResetGestureInputConsumer = new ResetGestureInputConsumer( mTaskAnimationManager, mTaskbarManager::getCurrentActivityContext); mInputConsumer = InputConsumerController.getRecentsAnimationInputConsumer();