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

Commit 78717396 authored by Simon (Qiong) Sun's avatar Simon (Qiong) Sun
Browse files

2x1 split-screen (2/n)

Handles an excption where creating a Toast object in the StageCoordinator constructor.

Bug: 439992109
Flag: com.android.wm.shell.enable_2x1_split
Test: Ensure no regression for existing Flex Split-Screen.
Change-Id: I0b2b1ac05693913c831575b11252937b4e0c2d28
parent a3707075
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -520,8 +520,7 @@ public class StageCoordinator extends StageCoordinatorAbstract {
        mDisplayController.addDisplayWindowListener(this);
        mDisplayController.addDisplayChangingController(this);
        transitions.addHandler(this);
        mSplitUnsupportedToast = Toast.makeText(mContext,
                R.string.dock_non_resizeble_failed_to_dock_text, Toast.LENGTH_SHORT);
        mSplitUnsupportedToast = createSplitUnsupportedToast();
        mFoldLockSettingsObserver = new FoldLockSettingsObserver(mainHandler, context);
        mFoldLockSettingsObserver.register();
        mStatusBarHider = new SplitStatusBarHider(taskOrganizer, splitState,
@@ -577,8 +576,7 @@ public class StageCoordinator extends StageCoordinatorAbstract {

        mDisplayController.addDisplayWindowListener(this);
        transitions.addHandler(this);
        mSplitUnsupportedToast = Toast.makeText(mContext,
                R.string.dock_non_resizeble_failed_to_dock_text, Toast.LENGTH_SHORT);
        mSplitUnsupportedToast = createSplitUnsupportedToast();
        mFoldLockSettingsObserver =
                new FoldLockSettingsObserver(context.getMainThreadHandler(), context);
        mFoldLockSettingsObserver.register();
@@ -591,6 +589,18 @@ public class StageCoordinator extends StageCoordinatorAbstract {
        mSplitTransitionModifier = new SplitTransitionModifier();
    }

    private Toast createSplitUnsupportedToast() {
        Toast splitUnsupportedToast = null;
        try {
            splitUnsupportedToast = Toast.makeText(mContext,
                    R.string.dock_non_resizeble_failed_to_dock_text, Toast.LENGTH_SHORT);
        } catch (Exception e) {
            ProtoLog.e(WM_SHELL_SPLIT_SCREEN,
                    "Failed to create split unsupported toast %s", e.getMessage());
        }
        return splitUnsupportedToast;
    }

    public void setMixedHandler(DefaultMixedHandler mixedHandler) {
        mMixedHandler = mixedHandler;
    }
@@ -4724,7 +4734,11 @@ public class StageCoordinator extends StageCoordinatorAbstract {
    }

    void handleUnsupportedSplitStart() {
        if (mSplitUnsupportedToast != null) {
            mSplitUnsupportedToast.show();
        } else {
            ProtoLog.w(WM_SHELL_SPLIT_SCREEN, "The split unsupported toast is null");
        }
        notifySplitAnimationStatus(false /*animationRunning*/);
    }