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

Commit 38164d15 authored by Louis Chang's avatar Louis Chang
Browse files

[8/n] Pin ActivityStack

Remove the pin rule if the split-pair needs to stack after parent
config changes, unless the pin rule is sticky.

Bug: 208573140
Test: atest PinActivityStackTests
Change-Id: I6784841b50dea4a600986b67c878b185f81f8929
parent 0926aa90
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -261,10 +261,6 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen
            // Updates the Split
            final TransactionRecord transactionRecord = mTransactionManager.startNewTransaction();
            final WindowContainerTransaction wct = transactionRecord.getTransaction();

            mPresenter.setTaskFragmentIsolatedNavigation(wct,
                    splitPinContainer.getSecondaryContainer().getTaskFragmentToken(),
                    true /* isolatedNav */);
            mPresenter.updateSplitContainer(splitPinContainer, wct);
            transactionRecord.apply(false /* shouldApplyIndependently */);
            updateCallbackIfNecessary();
+13 −0
Original line number Diff line number Diff line
@@ -382,6 +382,19 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer {
        }
        setCompanionTaskFragment(wct, primaryContainer.getTaskFragmentToken(),
                secondaryContainer.getTaskFragmentToken(), splitRule, isStacked);

        // Setting isolated navigation and clear non-sticky pinned container if needed.
        final SplitPinRule splitPinRule =
                splitRule instanceof SplitPinRule ? (SplitPinRule) splitRule : null;
        if (splitPinRule == null) {
            return;
        }

        setTaskFragmentIsolatedNavigation(wct, secondaryContainer.getTaskFragmentToken(),
                !isStacked /* isolatedNav */);
        if (isStacked && !splitPinRule.isSticky()) {
            secondaryContainer.getTaskContainer().removeSplitPinContainer();
        }
    }

    /**