Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cdf410f1 authored by Winson Chung's avatar Winson Chung
Browse files

Fix NPE due to invalid RecentsView access

Fixes: 288829919
Test: N/a, reorganizing code behind null check
Change-Id: I9efe48cab239b521f7e729af06706c352be2499c
parent 20957363
Loading
Loading
Loading
Loading
+13 −10
Original line number Diff line number Diff line
@@ -841,18 +841,21 @@ 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
                    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();
                        }
                    }
                });
            }
            // Indicate success once the system has indicated that the transition has started