Merge "Fix NPE due to invalid RecentsView access" into udc-dev am: fa3434fc37 am: b578dac96e am: bb4c513353

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

Change-Id: I008ca0f7b6ef75730e3666f7eff2b79d70d4795a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Winson Chung
2023-06-26 20:20:42 +00:00
committed by Automerger Merge Worker
@@ -842,17 +842,20 @@ public class TaskView extends FrameLayout implements Reusable {
// the actual overview state // the actual overview state
failureListener.register(mActivity, mTask.key.id, () -> { failureListener.register(mActivity, mTask.key.id, () -> {
notifyTaskLaunchFailed(TAG); notifyTaskLaunchFailed(TAG);
// Disable animations for now, as it is an edge case and the app usually covers
// launcher and also any state transition animation also gets clobbered by
// QuickstepTransitionManager.createWallpaperOpenAnimations when launcher
// shows again
getRecentsView().startHome(false /* animated */);
RecentsView rv = getRecentsView(); RecentsView rv = getRecentsView();
if (rv != null && rv.mSizeStrategy.getTaskbarController() != null) { if (rv != null) {
// LauncherTaskbarUIController depends on the launcher state when checking // Disable animations for now, as it is an edge case and the app usually
// whether to handle resume, but that can come in before startHome() changes // covers launcher and also any state transition animation also gets
// the state, so force-refresh here to ensure the taskbar is updated // clobbered by QuickstepTransitionManager.createWallpaperOpenAnimations
rv.mSizeStrategy.getTaskbarController().refreshResumedState(); // when launcher shows again
rv.startHome(false /* animated */);
if (rv.mSizeStrategy.getTaskbarController() != null) {
// LauncherTaskbarUIController depends on the launcher state when
// checking whether to handle resume, but that can come in before
// startHome() changes the state, so force-refresh here to ensure the
// taskbar is updated
rv.mSizeStrategy.getTaskbarController().refreshResumedState();
}
} }
}); });
} }