Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitController.java +4 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,10 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen } container.setInfo(taskFragmentAppearedInfo.getTaskFragmentInfo()); if (container.isFinished()) { mPresenter.cleanupContainer(container, false /* shouldFinishDependent */); updateCallbackIfNecessary(); } } @Override Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentContainer.java +17 −7 Original line number Diff line number Diff line Loading @@ -138,7 +138,7 @@ class TaskFragmentContainer { return mInfo; } void setInfo(@Nullable TaskFragmentInfo info) { void setInfo(@NonNull TaskFragmentInfo info) { mInfo = info; if (mInfo == null || mPendingAppearedActivities.isEmpty()) { return; Loading Loading @@ -190,20 +190,30 @@ class TaskFragmentContainer { */ void finish(boolean shouldFinishDependent, @NonNull SplitPresenter presenter, @NonNull WindowContainerTransaction wct, @NonNull SplitController controller) { if (mIsFinished) { return; } if (!mIsFinished) { mIsFinished = true; finishActivities(shouldFinishDependent, presenter, wct, controller); } // Finish own activities for (Activity activity : collectActivities()) { activity.finish(); if (mInfo == null) { // Defer removal the container and wait until TaskFragment appeared. return; } // Cleanup the visuals presenter.deleteTaskFragment(wct, getTaskFragmentToken()); // Cleanup the records controller.removeContainer(this); // Clean up task fragment information mInfo = null; } private void finishActivities(boolean shouldFinishDependent, @NonNull SplitPresenter presenter, @NonNull WindowContainerTransaction wct, @NonNull SplitController controller) { // Finish own activities for (Activity activity : collectActivities()) { activity.finish(); } if (!shouldFinishDependent) { return; Loading Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitController.java +4 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,10 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen } container.setInfo(taskFragmentAppearedInfo.getTaskFragmentInfo()); if (container.isFinished()) { mPresenter.cleanupContainer(container, false /* shouldFinishDependent */); updateCallbackIfNecessary(); } } @Override Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentContainer.java +17 −7 Original line number Diff line number Diff line Loading @@ -138,7 +138,7 @@ class TaskFragmentContainer { return mInfo; } void setInfo(@Nullable TaskFragmentInfo info) { void setInfo(@NonNull TaskFragmentInfo info) { mInfo = info; if (mInfo == null || mPendingAppearedActivities.isEmpty()) { return; Loading Loading @@ -190,20 +190,30 @@ class TaskFragmentContainer { */ void finish(boolean shouldFinishDependent, @NonNull SplitPresenter presenter, @NonNull WindowContainerTransaction wct, @NonNull SplitController controller) { if (mIsFinished) { return; } if (!mIsFinished) { mIsFinished = true; finishActivities(shouldFinishDependent, presenter, wct, controller); } // Finish own activities for (Activity activity : collectActivities()) { activity.finish(); if (mInfo == null) { // Defer removal the container and wait until TaskFragment appeared. return; } // Cleanup the visuals presenter.deleteTaskFragment(wct, getTaskFragmentToken()); // Cleanup the records controller.removeContainer(this); // Clean up task fragment information mInfo = null; } private void finishActivities(boolean shouldFinishDependent, @NonNull SplitPresenter presenter, @NonNull WindowContainerTransaction wct, @NonNull SplitController controller) { // Finish own activities for (Activity activity : collectActivities()) { activity.finish(); } if (!shouldFinishDependent) { return; Loading