diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java index 429f209e94..6427e0981a 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java +++ b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java @@ -131,9 +131,14 @@ public class OverviewState extends LauncherState { @Override public void onBackPressed(Launcher launcher) { - TaskView taskView = launcher.getOverviewPanel().getRunningTaskView(); + RecentsView recentsView = launcher.getOverviewPanel(); + TaskView taskView = recentsView.getRunningTaskView(); if (taskView != null) { - taskView.launchTasks(); + if (recentsView.isTaskViewFullyVisible(taskView)) { + taskView.launchTasks(); + } else { + recentsView.snapToPage(recentsView.indexOfChild(taskView)); + } } else { super.onBackPressed(launcher); } diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index 73be5beb2c..cba0b7d709 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -1187,7 +1187,9 @@ public abstract class PagedView extends ViewGrou } public int getScrollForPage(int index) { - if (!pageScrollsInitialized() || index >= mPageScrolls.length || index < 0) { + // TODO(b/233112195): Use !pageScrollsInitialized() instead of mPageScrolls == null, once we + // root cause where we should be using runOnPageScrollsInitialized(). + if (mPageScrolls == null || index >= mPageScrolls.length || index < 0) { return 0; } else { return mPageScrolls[index]; diff --git a/src/com/android/launcher3/util/UiThreadHelper.java b/src/com/android/launcher3/util/UiThreadHelper.java index 8df3f8a129..7e6711f806 100644 --- a/src/com/android/launcher3/util/UiThreadHelper.java +++ b/src/com/android/launcher3/util/UiThreadHelper.java @@ -69,10 +69,6 @@ public class UiThreadHelper { activityContext.getStatsLogManager().logger() .log(LAUNCHER_ALLAPPS_KEYBOARD_CLOSED); return; - } else { - // print which stack trace failed. - Log.e("Launcher", "hideKeyboard ignored.", new Exception()); - // Then attempt to use the old logic. } } // Since the launcher context cannot be accessed directly from callback, adding secondary