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

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

Change-Id: I41a3f9b28368bcef0d2dfa5ce9a7f69dca816481
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Winson Chung
2023-06-26 18:25:09 +00:00
committed by Automerger Merge Worker

View File

@@ -841,17 +841,20 @@ public class TaskView extends FrameLayout implements Reusable {
// the actual overview state
failureListener.register(mActivity, mTask.key.id, () -> {
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();
if (rv != null && 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();
if (rv != null) {
// 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
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();
}
}
});
}