Merge "Fix touch focus not updated correctly after launching overview with live tile." into udc-dev am: 07b5cb3351

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22896425

Change-Id: I527801a590719c58869d13851cb4d76d53f850e3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/OverviewInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/OverviewInputConsumer.java
index 64165b6..cd98e7a 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/OverviewInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/OverviewInputConsumer.java
@@ -61,6 +61,14 @@
 
         mTarget = activity.getDragLayer();
         mTarget.getLocationOnScreen(mLocationOnScreen);
+
+        // When Overview is launched via meta+tab or swipe up from an app,
+        // the touch mode somehow is not changed to false by the Android framework.
+        // The subsequent key events (e.g. DPAD_LEFT, DPAD_RIGHT) can only be dispatched to
+        // focused views, while focus can only be requested in
+        // {@link View#requestFocusNoSearch(int, Rect)} when touch mode is false. To note,
+        // here we launch overview with live tile.
+        mActivity.getRootView().getViewRootImpl().touchModeChanged(false);
     }
 
     @Override