Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitContainer.java +1 −1 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ class SplitContainer { return null; } return new SplitInfo(primaryActivityStack, secondaryActivityStack, mCurrentSplitAttributes, mToken); mCurrentSplitAttributes, SplitInfo.Token.createFromBinder(mToken)); } static boolean shouldFinishPrimaryWithSecondary(@NonNull SplitRule splitRule) { Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java +13 −12 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import static android.window.TaskFragmentTransaction.TYPE_TASK_FRAGMENT_INFO_CHA import static android.window.TaskFragmentTransaction.TYPE_TASK_FRAGMENT_PARENT_INFO_CHANGED; import static android.window.TaskFragmentTransaction.TYPE_TASK_FRAGMENT_VANISHED; import static androidx.window.extensions.embedding.ActivityEmbeddingOptionsProperties.KEY_ACTIVITY_STACK_TOKEN; import static androidx.window.extensions.embedding.ActivityEmbeddingOptionsProperties.KEY_OVERLAY_TAG; import static androidx.window.extensions.embedding.SplitContainer.getFinishPrimaryWithSecondaryBehavior; import static androidx.window.extensions.embedding.SplitContainer.getFinishSecondaryWithPrimaryBehavior; Loading Loading @@ -111,10 +112,6 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen static final boolean ENABLE_SHELL_TRANSITIONS = SystemProperties.getBoolean("persist.wm.debug.shell_transit", true); // TODO(b/295993745): remove after prebuilt library is updated. private static final String KEY_ACTIVITY_STACK_TOKEN = "androidx.window.extensions.embedding.ActivityStackToken"; @VisibleForTesting @GuardedBy("mLock") final SplitPresenter mPresenter; Loading Loading @@ -553,7 +550,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen } @Override public void updateActivityStackAttributes(@NonNull IBinder activityStackToken, public void updateActivityStackAttributes(@NonNull ActivityStack.Token activityStackToken, @NonNull ActivityStackAttributes attributes) { if (!Flags.activityEmbeddingOverlayPresentationFlag()) { return; Loading @@ -562,7 +559,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen Objects.requireNonNull(attributes); synchronized (mLock) { final TaskFragmentContainer container = getContainer(activityStackToken); final TaskFragmentContainer container = getContainer(activityStackToken.getRawToken()); if (container == null) { Log.w(TAG, "Cannot find TaskFragmentContainer for token:" + activityStackToken); return; Loading @@ -582,13 +579,14 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override @Nullable public ParentContainerInfo getParentContainerInfo(@NonNull IBinder activityStackToken) { public ParentContainerInfo getParentContainerInfo( @NonNull ActivityStack.Token activityStackToken) { if (!Flags.activityEmbeddingOverlayPresentationFlag()) { return null; } Objects.requireNonNull(activityStackToken); synchronized (mLock) { final TaskFragmentContainer container = getContainer(activityStackToken); final TaskFragmentContainer container = getContainer(activityStackToken.getRawToken()); if (container == null) { return null; } Loading @@ -600,7 +598,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override @Nullable public IBinder getActivityStackToken(@NonNull String tag) { public ActivityStack.Token getActivityStackToken(@NonNull String tag) { if (!Flags.activityEmbeddingOverlayPresentationFlag()) { return null; } Loading @@ -611,7 +609,8 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen if (taskFragmentContainer == null) { return null; } return taskFragmentContainer.getTaskFragmentToken(); return ActivityStack.Token.createFromBinder(taskFragmentContainer .getTaskFragmentToken()); } } Loading Loading @@ -2760,8 +2759,10 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen // TODO(b/232042367): Consolidate the activity create handling so that we can handle // cross-process the same as normal. IBinder activityStackToken = options.getBinder(KEY_ACTIVITY_STACK_TOKEN); if (activityStackToken != null) { final Bundle bundle = options.getBundle(KEY_ACTIVITY_STACK_TOKEN); if (bundle != null) { final IBinder activityStackToken = ActivityStack.Token.readFromBundle(bundle) .getRawToken(); // Put activityStack token to #KEY_LAUNCH_TASK_FRAGMENT_TOKEN to launch the activity // into the taskFragment associated with the token. options.putBinder(KEY_LAUNCH_TASK_FRAGMENT_TOKEN, activityStackToken); Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java +2 −1 Original line number Diff line number Diff line Loading @@ -367,7 +367,8 @@ class TaskFragmentContainer { if (activities == null) { return null; } return new ActivityStack(activities, isEmpty(), mToken, mOverlayTag); return new ActivityStack(activities, isEmpty(), ActivityStack.Token.createFromBinder(mToken), mOverlayTag); } /** Adds the activity that will be reparented to this container. */ Loading libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/OverlayPresentationTest.java +8 −4 Original line number Diff line number Diff line Loading @@ -399,7 +399,8 @@ public class OverlayPresentationTest { new ActivityStackAttributes.Builder().build())); assertThrows(NullPointerException.class, () -> mSplitController.updateActivityStackAttributes(new Binder(), null)); mSplitController.updateActivityStackAttributes( ActivityStack.Token.createFromBinder(new Binder()), null)); verify(mSplitPresenter, never()).applyActivityStackAttributes(any(), any(), any(), any()); } Loading @@ -408,7 +409,8 @@ public class OverlayPresentationTest { public void testUpdateActivityStackAttributes_nullContainer_earlyReturn() { final TaskFragmentContainer container = mSplitController.newContainer(mActivity, mActivity.getTaskId()); mSplitController.updateActivityStackAttributes(container.getTaskFragmentToken(), mSplitController.updateActivityStackAttributes( ActivityStack.Token.createFromBinder(container.getTaskFragmentToken()), new ActivityStackAttributes.Builder().build()); verify(mSplitPresenter, never()).applyActivityStackAttributes(any(), any(), any(), any()); Loading @@ -418,7 +420,8 @@ public class OverlayPresentationTest { public void testUpdateActivityStackAttributes_notOverlay_earlyReturn() { final TaskFragmentContainer container = createMockTaskFragmentContainer(mActivity); mSplitController.updateActivityStackAttributes(container.getTaskFragmentToken(), mSplitController.updateActivityStackAttributes( ActivityStack.Token.createFromBinder(container.getTaskFragmentToken()), new ActivityStackAttributes.Builder().build()); verify(mSplitPresenter, never()).applyActivityStackAttributes(any(), any(), any(), any()); Loading @@ -431,7 +434,8 @@ public class OverlayPresentationTest { final ActivityStackAttributes attrs = new ActivityStackAttributes.Builder().build(); final IBinder token = container.getTaskFragmentToken(); mSplitController.updateActivityStackAttributes(token, attrs); mSplitController.updateActivityStackAttributes(ActivityStack.Token.createFromBinder(token), attrs); verify(mSplitPresenter).applyActivityStackAttributes(any(), eq(container), eq(attrs), any()); Loading libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/SplitControllerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -1437,7 +1437,7 @@ public class SplitControllerTest { @Test public void testUpdateSplitAttributes_nullParams_throwException() { assertThrows(NullPointerException.class, () -> mSplitController.updateSplitAttributes(null, SPLIT_ATTRIBUTES)); () -> mSplitController.updateSplitAttributes((IBinder) null, SPLIT_ATTRIBUTES)); final SplitContainer splitContainer = mock(SplitContainer.class); final IBinder token = new Binder(); Loading Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitContainer.java +1 −1 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ class SplitContainer { return null; } return new SplitInfo(primaryActivityStack, secondaryActivityStack, mCurrentSplitAttributes, mToken); mCurrentSplitAttributes, SplitInfo.Token.createFromBinder(mToken)); } static boolean shouldFinishPrimaryWithSecondary(@NonNull SplitRule splitRule) { Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java +13 −12 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import static android.window.TaskFragmentTransaction.TYPE_TASK_FRAGMENT_INFO_CHA import static android.window.TaskFragmentTransaction.TYPE_TASK_FRAGMENT_PARENT_INFO_CHANGED; import static android.window.TaskFragmentTransaction.TYPE_TASK_FRAGMENT_VANISHED; import static androidx.window.extensions.embedding.ActivityEmbeddingOptionsProperties.KEY_ACTIVITY_STACK_TOKEN; import static androidx.window.extensions.embedding.ActivityEmbeddingOptionsProperties.KEY_OVERLAY_TAG; import static androidx.window.extensions.embedding.SplitContainer.getFinishPrimaryWithSecondaryBehavior; import static androidx.window.extensions.embedding.SplitContainer.getFinishSecondaryWithPrimaryBehavior; Loading Loading @@ -111,10 +112,6 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen static final boolean ENABLE_SHELL_TRANSITIONS = SystemProperties.getBoolean("persist.wm.debug.shell_transit", true); // TODO(b/295993745): remove after prebuilt library is updated. private static final String KEY_ACTIVITY_STACK_TOKEN = "androidx.window.extensions.embedding.ActivityStackToken"; @VisibleForTesting @GuardedBy("mLock") final SplitPresenter mPresenter; Loading Loading @@ -553,7 +550,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen } @Override public void updateActivityStackAttributes(@NonNull IBinder activityStackToken, public void updateActivityStackAttributes(@NonNull ActivityStack.Token activityStackToken, @NonNull ActivityStackAttributes attributes) { if (!Flags.activityEmbeddingOverlayPresentationFlag()) { return; Loading @@ -562,7 +559,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen Objects.requireNonNull(attributes); synchronized (mLock) { final TaskFragmentContainer container = getContainer(activityStackToken); final TaskFragmentContainer container = getContainer(activityStackToken.getRawToken()); if (container == null) { Log.w(TAG, "Cannot find TaskFragmentContainer for token:" + activityStackToken); return; Loading @@ -582,13 +579,14 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override @Nullable public ParentContainerInfo getParentContainerInfo(@NonNull IBinder activityStackToken) { public ParentContainerInfo getParentContainerInfo( @NonNull ActivityStack.Token activityStackToken) { if (!Flags.activityEmbeddingOverlayPresentationFlag()) { return null; } Objects.requireNonNull(activityStackToken); synchronized (mLock) { final TaskFragmentContainer container = getContainer(activityStackToken); final TaskFragmentContainer container = getContainer(activityStackToken.getRawToken()); if (container == null) { return null; } Loading @@ -600,7 +598,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override @Nullable public IBinder getActivityStackToken(@NonNull String tag) { public ActivityStack.Token getActivityStackToken(@NonNull String tag) { if (!Flags.activityEmbeddingOverlayPresentationFlag()) { return null; } Loading @@ -611,7 +609,8 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen if (taskFragmentContainer == null) { return null; } return taskFragmentContainer.getTaskFragmentToken(); return ActivityStack.Token.createFromBinder(taskFragmentContainer .getTaskFragmentToken()); } } Loading Loading @@ -2760,8 +2759,10 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen // TODO(b/232042367): Consolidate the activity create handling so that we can handle // cross-process the same as normal. IBinder activityStackToken = options.getBinder(KEY_ACTIVITY_STACK_TOKEN); if (activityStackToken != null) { final Bundle bundle = options.getBundle(KEY_ACTIVITY_STACK_TOKEN); if (bundle != null) { final IBinder activityStackToken = ActivityStack.Token.readFromBundle(bundle) .getRawToken(); // Put activityStack token to #KEY_LAUNCH_TASK_FRAGMENT_TOKEN to launch the activity // into the taskFragment associated with the token. options.putBinder(KEY_LAUNCH_TASK_FRAGMENT_TOKEN, activityStackToken); Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java +2 −1 Original line number Diff line number Diff line Loading @@ -367,7 +367,8 @@ class TaskFragmentContainer { if (activities == null) { return null; } return new ActivityStack(activities, isEmpty(), mToken, mOverlayTag); return new ActivityStack(activities, isEmpty(), ActivityStack.Token.createFromBinder(mToken), mOverlayTag); } /** Adds the activity that will be reparented to this container. */ Loading
libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/OverlayPresentationTest.java +8 −4 Original line number Diff line number Diff line Loading @@ -399,7 +399,8 @@ public class OverlayPresentationTest { new ActivityStackAttributes.Builder().build())); assertThrows(NullPointerException.class, () -> mSplitController.updateActivityStackAttributes(new Binder(), null)); mSplitController.updateActivityStackAttributes( ActivityStack.Token.createFromBinder(new Binder()), null)); verify(mSplitPresenter, never()).applyActivityStackAttributes(any(), any(), any(), any()); } Loading @@ -408,7 +409,8 @@ public class OverlayPresentationTest { public void testUpdateActivityStackAttributes_nullContainer_earlyReturn() { final TaskFragmentContainer container = mSplitController.newContainer(mActivity, mActivity.getTaskId()); mSplitController.updateActivityStackAttributes(container.getTaskFragmentToken(), mSplitController.updateActivityStackAttributes( ActivityStack.Token.createFromBinder(container.getTaskFragmentToken()), new ActivityStackAttributes.Builder().build()); verify(mSplitPresenter, never()).applyActivityStackAttributes(any(), any(), any(), any()); Loading @@ -418,7 +420,8 @@ public class OverlayPresentationTest { public void testUpdateActivityStackAttributes_notOverlay_earlyReturn() { final TaskFragmentContainer container = createMockTaskFragmentContainer(mActivity); mSplitController.updateActivityStackAttributes(container.getTaskFragmentToken(), mSplitController.updateActivityStackAttributes( ActivityStack.Token.createFromBinder(container.getTaskFragmentToken()), new ActivityStackAttributes.Builder().build()); verify(mSplitPresenter, never()).applyActivityStackAttributes(any(), any(), any(), any()); Loading @@ -431,7 +434,8 @@ public class OverlayPresentationTest { final ActivityStackAttributes attrs = new ActivityStackAttributes.Builder().build(); final IBinder token = container.getTaskFragmentToken(); mSplitController.updateActivityStackAttributes(token, attrs); mSplitController.updateActivityStackAttributes(ActivityStack.Token.createFromBinder(token), attrs); verify(mSplitPresenter).applyActivityStackAttributes(any(), eq(container), eq(attrs), any()); Loading
libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/SplitControllerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -1437,7 +1437,7 @@ public class SplitControllerTest { @Test public void testUpdateSplitAttributes_nullParams_throwException() { assertThrows(NullPointerException.class, () -> mSplitController.updateSplitAttributes(null, SPLIT_ATTRIBUTES)); () -> mSplitController.updateSplitAttributes((IBinder) null, SPLIT_ATTRIBUTES)); final SplitContainer splitContainer = mock(SplitContainer.class); final IBinder token = new Binder(); Loading