Loading core/java/android/window/TaskFragmentOperation.java +3 −84 Original line number Diff line number Diff line Loading @@ -195,12 +195,6 @@ public final class TaskFragmentOperation implements Parcelable { @Nullable private final TaskFragmentAnimationParams mAnimationParams; private final boolean mIsolatedNav; private final boolean mDimOnTask; private final boolean mMoveToBottomIfClearWhenLaunch; private final boolean mBooleanValue; @Nullable Loading @@ -211,7 +205,6 @@ public final class TaskFragmentOperation implements Parcelable { @Nullable IBinder activityToken, @Nullable Intent activityIntent, @Nullable Bundle bundle, @Nullable IBinder secondaryFragmentToken, @Nullable TaskFragmentAnimationParams animationParams, boolean isolatedNav, boolean dimOnTask, boolean moveToBottomIfClearWhenLaunch, boolean booleanValue, @Nullable SurfaceControl.Transaction surfaceTransaction) { mOpType = opType; mTaskFragmentCreationParams = taskFragmentCreationParams; Loading @@ -220,9 +213,6 @@ public final class TaskFragmentOperation implements Parcelable { mBundle = bundle; mSecondaryFragmentToken = secondaryFragmentToken; mAnimationParams = animationParams; mIsolatedNav = isolatedNav; mDimOnTask = dimOnTask; mMoveToBottomIfClearWhenLaunch = moveToBottomIfClearWhenLaunch; mBooleanValue = booleanValue; mSurfaceTransaction = surfaceTransaction; } Loading @@ -235,9 +225,6 @@ public final class TaskFragmentOperation implements Parcelable { mBundle = in.readBundle(getClass().getClassLoader()); mSecondaryFragmentToken = in.readStrongBinder(); mAnimationParams = in.readTypedObject(TaskFragmentAnimationParams.CREATOR); mIsolatedNav = in.readBoolean(); mDimOnTask = in.readBoolean(); mMoveToBottomIfClearWhenLaunch = in.readBoolean(); mBooleanValue = in.readBoolean(); mSurfaceTransaction = in.readTypedObject(SurfaceControl.Transaction.CREATOR); } Loading @@ -251,9 +238,6 @@ public final class TaskFragmentOperation implements Parcelable { dest.writeBundle(mBundle); dest.writeStrongBinder(mSecondaryFragmentToken); dest.writeTypedObject(mAnimationParams, flags); dest.writeBoolean(mIsolatedNav); dest.writeBoolean(mDimOnTask); dest.writeBoolean(mMoveToBottomIfClearWhenLaunch); dest.writeBoolean(mBooleanValue); dest.writeTypedObject(mSurfaceTransaction, flags); } Loading Loading @@ -328,29 +312,6 @@ public final class TaskFragmentOperation implements Parcelable { return mAnimationParams; } /** * Returns whether the activity navigation on this TaskFragment is isolated. This is only * useful when the op type is {@link OP_TYPE_SET_ISOLATED_NAVIGATION}. */ public boolean isIsolatedNav() { return mIsolatedNav; } /** * Returns whether the dim layer should apply on the parent Task. */ public boolean isDimOnTask() { return mDimOnTask; } /** * Returns whether the TaskFragment should move to bottom of task when any activity below it * is launched in clear top mode. */ public boolean isMoveToBottomIfClearWhenLaunch() { return mMoveToBottomIfClearWhenLaunch; } /** Returns the boolean value for this operation. */ public boolean getBooleanValue() { return mBooleanValue; Loading Loading @@ -389,9 +350,6 @@ public final class TaskFragmentOperation implements Parcelable { if (mAnimationParams != null) { sb.append(", animationParams=").append(mAnimationParams); } sb.append(", isolatedNav=").append(mIsolatedNav); sb.append(", dimOnTask=").append(mDimOnTask); sb.append(", moveToBottomIfClearWhenLaunch=").append(mMoveToBottomIfClearWhenLaunch); sb.append(", booleanValue=").append(mBooleanValue); if (mSurfaceTransaction != null) { sb.append(", surfaceTransaction=").append(mSurfaceTransaction); Loading @@ -404,8 +362,8 @@ public final class TaskFragmentOperation implements Parcelable { @Override public int hashCode() { return Objects.hash(mOpType, mTaskFragmentCreationParams, mActivityToken, mActivityIntent, mBundle, mSecondaryFragmentToken, mAnimationParams, mIsolatedNav, mDimOnTask, mMoveToBottomIfClearWhenLaunch, mBooleanValue, mSurfaceTransaction); mBundle, mSecondaryFragmentToken, mAnimationParams, mBooleanValue, mSurfaceTransaction); } @Override Loading @@ -421,9 +379,6 @@ public final class TaskFragmentOperation implements Parcelable { && Objects.equals(mBundle, other.mBundle) && Objects.equals(mSecondaryFragmentToken, other.mSecondaryFragmentToken) && Objects.equals(mAnimationParams, other.mAnimationParams) && mIsolatedNav == other.mIsolatedNav && mDimOnTask == other.mDimOnTask && mMoveToBottomIfClearWhenLaunch == other.mMoveToBottomIfClearWhenLaunch && mBooleanValue == other.mBooleanValue && Objects.equals(mSurfaceTransaction, other.mSurfaceTransaction); } Loading Loading @@ -457,12 +412,6 @@ public final class TaskFragmentOperation implements Parcelable { @Nullable private TaskFragmentAnimationParams mAnimationParams; private boolean mIsolatedNav; private boolean mDimOnTask; private boolean mMoveToBottomIfClearWhenLaunch; private boolean mBooleanValue; @Nullable Loading Loading @@ -530,37 +479,8 @@ public final class TaskFragmentOperation implements Parcelable { return this; } /** * Sets the activity navigation of this TaskFragment to be isolated. */ @NonNull public Builder setIsolatedNav(boolean isolatedNav) { mIsolatedNav = isolatedNav; return this; } /** * Sets the dimming to apply on the parent Task if any. */ @NonNull public Builder setDimOnTask(boolean dimOnTask) { mDimOnTask = dimOnTask; return this; } /** * Sets whether the TaskFragment should move to bottom of task when any activity below it * is launched in clear top mode. */ @NonNull public Builder setMoveToBottomIfClearWhenLaunch(boolean moveToBottomIfClearWhenLaunch) { mMoveToBottomIfClearWhenLaunch = moveToBottomIfClearWhenLaunch; return this; } /** * Sets the boolean value for this operation. * TODO(b/327338038) migrate other boolean values to use shared mBooleanValue */ @NonNull public Builder setBooleanValue(boolean booleanValue) { Loading Loading @@ -588,8 +508,7 @@ public final class TaskFragmentOperation implements Parcelable { public TaskFragmentOperation build() { return new TaskFragmentOperation(mOpType, mTaskFragmentCreationParams, mActivityToken, mActivityIntent, mBundle, mSecondaryFragmentToken, mAnimationParams, mIsolatedNav, mDimOnTask, mMoveToBottomIfClearWhenLaunch, mBooleanValue, mSurfaceTransaction); mBooleanValue, mSurfaceTransaction); } } } libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/JetpackTaskFragmentOrganizer.java +2 −2 Original line number Diff line number Diff line Loading @@ -354,14 +354,14 @@ class JetpackTaskFragmentOrganizer extends TaskFragmentOrganizer { void setTaskFragmentIsolatedNavigation(@NonNull WindowContainerTransaction wct, @NonNull IBinder fragmentToken, boolean isolatedNav) { final TaskFragmentOperation operation = new TaskFragmentOperation.Builder( OP_TYPE_SET_ISOLATED_NAVIGATION).setIsolatedNav(isolatedNav).build(); OP_TYPE_SET_ISOLATED_NAVIGATION).setBooleanValue(isolatedNav).build(); wct.addTaskFragmentOperation(fragmentToken, operation); } void setTaskFragmentDimOnTask(@NonNull WindowContainerTransaction wct, @NonNull IBinder fragmentToken, boolean dimOnTask) { final TaskFragmentOperation operation = new TaskFragmentOperation.Builder( OP_TYPE_SET_DIM_ON_TASK).setDimOnTask(dimOnTask).build(); OP_TYPE_SET_DIM_ON_TASK).setBooleanValue(dimOnTask).build(); wct.addTaskFragmentOperation(fragmentToken, operation); } Loading services/core/java/com/android/server/wm/WindowOrganizerController.java +3 −4 Original line number Diff line number Diff line Loading @@ -1561,7 +1561,7 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub break; } case OP_TYPE_SET_ISOLATED_NAVIGATION: { final boolean isolatedNav = operation.isIsolatedNav(); final boolean isolatedNav = operation.getBooleanValue(); taskFragment.setIsolatedNav(isolatedNav); break; } Loading Loading @@ -1606,14 +1606,13 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub break; } case OP_TYPE_SET_DIM_ON_TASK: { final boolean dimOnTask = operation.isDimOnTask(); final boolean dimOnTask = operation.getBooleanValue(); taskFragment.setEmbeddedDimArea(dimOnTask ? EMBEDDED_DIM_AREA_PARENT_TASK : EMBEDDED_DIM_AREA_TASK_FRAGMENT); break; } case OP_TYPE_SET_MOVE_TO_BOTTOM_IF_CLEAR_WHEN_LAUNCH: { taskFragment.setMoveToBottomIfClearWhenLaunch( operation.isMoveToBottomIfClearWhenLaunch()); taskFragment.setMoveToBottomIfClearWhenLaunch(operation.getBooleanValue()); break; } case OP_TYPE_SET_DECOR_SURFACE_BOOSTED: { Loading services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -881,7 +881,7 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { mTransaction.addTaskFragmentOperation(mFragmentToken, operation); final TaskFragmentOperation dimOperation = new TaskFragmentOperation.Builder( OP_TYPE_SET_DIM_ON_TASK) .setDimOnTask(true) .setBooleanValue(true) .build(); mTransaction.addTaskFragmentOperation(mFragmentToken, dimOperation); mOrganizer.applyTransaction(mTransaction, TASK_FRAGMENT_TRANSIT_CHANGE, Loading Loading
core/java/android/window/TaskFragmentOperation.java +3 −84 Original line number Diff line number Diff line Loading @@ -195,12 +195,6 @@ public final class TaskFragmentOperation implements Parcelable { @Nullable private final TaskFragmentAnimationParams mAnimationParams; private final boolean mIsolatedNav; private final boolean mDimOnTask; private final boolean mMoveToBottomIfClearWhenLaunch; private final boolean mBooleanValue; @Nullable Loading @@ -211,7 +205,6 @@ public final class TaskFragmentOperation implements Parcelable { @Nullable IBinder activityToken, @Nullable Intent activityIntent, @Nullable Bundle bundle, @Nullable IBinder secondaryFragmentToken, @Nullable TaskFragmentAnimationParams animationParams, boolean isolatedNav, boolean dimOnTask, boolean moveToBottomIfClearWhenLaunch, boolean booleanValue, @Nullable SurfaceControl.Transaction surfaceTransaction) { mOpType = opType; mTaskFragmentCreationParams = taskFragmentCreationParams; Loading @@ -220,9 +213,6 @@ public final class TaskFragmentOperation implements Parcelable { mBundle = bundle; mSecondaryFragmentToken = secondaryFragmentToken; mAnimationParams = animationParams; mIsolatedNav = isolatedNav; mDimOnTask = dimOnTask; mMoveToBottomIfClearWhenLaunch = moveToBottomIfClearWhenLaunch; mBooleanValue = booleanValue; mSurfaceTransaction = surfaceTransaction; } Loading @@ -235,9 +225,6 @@ public final class TaskFragmentOperation implements Parcelable { mBundle = in.readBundle(getClass().getClassLoader()); mSecondaryFragmentToken = in.readStrongBinder(); mAnimationParams = in.readTypedObject(TaskFragmentAnimationParams.CREATOR); mIsolatedNav = in.readBoolean(); mDimOnTask = in.readBoolean(); mMoveToBottomIfClearWhenLaunch = in.readBoolean(); mBooleanValue = in.readBoolean(); mSurfaceTransaction = in.readTypedObject(SurfaceControl.Transaction.CREATOR); } Loading @@ -251,9 +238,6 @@ public final class TaskFragmentOperation implements Parcelable { dest.writeBundle(mBundle); dest.writeStrongBinder(mSecondaryFragmentToken); dest.writeTypedObject(mAnimationParams, flags); dest.writeBoolean(mIsolatedNav); dest.writeBoolean(mDimOnTask); dest.writeBoolean(mMoveToBottomIfClearWhenLaunch); dest.writeBoolean(mBooleanValue); dest.writeTypedObject(mSurfaceTransaction, flags); } Loading Loading @@ -328,29 +312,6 @@ public final class TaskFragmentOperation implements Parcelable { return mAnimationParams; } /** * Returns whether the activity navigation on this TaskFragment is isolated. This is only * useful when the op type is {@link OP_TYPE_SET_ISOLATED_NAVIGATION}. */ public boolean isIsolatedNav() { return mIsolatedNav; } /** * Returns whether the dim layer should apply on the parent Task. */ public boolean isDimOnTask() { return mDimOnTask; } /** * Returns whether the TaskFragment should move to bottom of task when any activity below it * is launched in clear top mode. */ public boolean isMoveToBottomIfClearWhenLaunch() { return mMoveToBottomIfClearWhenLaunch; } /** Returns the boolean value for this operation. */ public boolean getBooleanValue() { return mBooleanValue; Loading Loading @@ -389,9 +350,6 @@ public final class TaskFragmentOperation implements Parcelable { if (mAnimationParams != null) { sb.append(", animationParams=").append(mAnimationParams); } sb.append(", isolatedNav=").append(mIsolatedNav); sb.append(", dimOnTask=").append(mDimOnTask); sb.append(", moveToBottomIfClearWhenLaunch=").append(mMoveToBottomIfClearWhenLaunch); sb.append(", booleanValue=").append(mBooleanValue); if (mSurfaceTransaction != null) { sb.append(", surfaceTransaction=").append(mSurfaceTransaction); Loading @@ -404,8 +362,8 @@ public final class TaskFragmentOperation implements Parcelable { @Override public int hashCode() { return Objects.hash(mOpType, mTaskFragmentCreationParams, mActivityToken, mActivityIntent, mBundle, mSecondaryFragmentToken, mAnimationParams, mIsolatedNav, mDimOnTask, mMoveToBottomIfClearWhenLaunch, mBooleanValue, mSurfaceTransaction); mBundle, mSecondaryFragmentToken, mAnimationParams, mBooleanValue, mSurfaceTransaction); } @Override Loading @@ -421,9 +379,6 @@ public final class TaskFragmentOperation implements Parcelable { && Objects.equals(mBundle, other.mBundle) && Objects.equals(mSecondaryFragmentToken, other.mSecondaryFragmentToken) && Objects.equals(mAnimationParams, other.mAnimationParams) && mIsolatedNav == other.mIsolatedNav && mDimOnTask == other.mDimOnTask && mMoveToBottomIfClearWhenLaunch == other.mMoveToBottomIfClearWhenLaunch && mBooleanValue == other.mBooleanValue && Objects.equals(mSurfaceTransaction, other.mSurfaceTransaction); } Loading Loading @@ -457,12 +412,6 @@ public final class TaskFragmentOperation implements Parcelable { @Nullable private TaskFragmentAnimationParams mAnimationParams; private boolean mIsolatedNav; private boolean mDimOnTask; private boolean mMoveToBottomIfClearWhenLaunch; private boolean mBooleanValue; @Nullable Loading Loading @@ -530,37 +479,8 @@ public final class TaskFragmentOperation implements Parcelable { return this; } /** * Sets the activity navigation of this TaskFragment to be isolated. */ @NonNull public Builder setIsolatedNav(boolean isolatedNav) { mIsolatedNav = isolatedNav; return this; } /** * Sets the dimming to apply on the parent Task if any. */ @NonNull public Builder setDimOnTask(boolean dimOnTask) { mDimOnTask = dimOnTask; return this; } /** * Sets whether the TaskFragment should move to bottom of task when any activity below it * is launched in clear top mode. */ @NonNull public Builder setMoveToBottomIfClearWhenLaunch(boolean moveToBottomIfClearWhenLaunch) { mMoveToBottomIfClearWhenLaunch = moveToBottomIfClearWhenLaunch; return this; } /** * Sets the boolean value for this operation. * TODO(b/327338038) migrate other boolean values to use shared mBooleanValue */ @NonNull public Builder setBooleanValue(boolean booleanValue) { Loading Loading @@ -588,8 +508,7 @@ public final class TaskFragmentOperation implements Parcelable { public TaskFragmentOperation build() { return new TaskFragmentOperation(mOpType, mTaskFragmentCreationParams, mActivityToken, mActivityIntent, mBundle, mSecondaryFragmentToken, mAnimationParams, mIsolatedNav, mDimOnTask, mMoveToBottomIfClearWhenLaunch, mBooleanValue, mSurfaceTransaction); mBooleanValue, mSurfaceTransaction); } } }
libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/JetpackTaskFragmentOrganizer.java +2 −2 Original line number Diff line number Diff line Loading @@ -354,14 +354,14 @@ class JetpackTaskFragmentOrganizer extends TaskFragmentOrganizer { void setTaskFragmentIsolatedNavigation(@NonNull WindowContainerTransaction wct, @NonNull IBinder fragmentToken, boolean isolatedNav) { final TaskFragmentOperation operation = new TaskFragmentOperation.Builder( OP_TYPE_SET_ISOLATED_NAVIGATION).setIsolatedNav(isolatedNav).build(); OP_TYPE_SET_ISOLATED_NAVIGATION).setBooleanValue(isolatedNav).build(); wct.addTaskFragmentOperation(fragmentToken, operation); } void setTaskFragmentDimOnTask(@NonNull WindowContainerTransaction wct, @NonNull IBinder fragmentToken, boolean dimOnTask) { final TaskFragmentOperation operation = new TaskFragmentOperation.Builder( OP_TYPE_SET_DIM_ON_TASK).setDimOnTask(dimOnTask).build(); OP_TYPE_SET_DIM_ON_TASK).setBooleanValue(dimOnTask).build(); wct.addTaskFragmentOperation(fragmentToken, operation); } Loading
services/core/java/com/android/server/wm/WindowOrganizerController.java +3 −4 Original line number Diff line number Diff line Loading @@ -1561,7 +1561,7 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub break; } case OP_TYPE_SET_ISOLATED_NAVIGATION: { final boolean isolatedNav = operation.isIsolatedNav(); final boolean isolatedNav = operation.getBooleanValue(); taskFragment.setIsolatedNav(isolatedNav); break; } Loading Loading @@ -1606,14 +1606,13 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub break; } case OP_TYPE_SET_DIM_ON_TASK: { final boolean dimOnTask = operation.isDimOnTask(); final boolean dimOnTask = operation.getBooleanValue(); taskFragment.setEmbeddedDimArea(dimOnTask ? EMBEDDED_DIM_AREA_PARENT_TASK : EMBEDDED_DIM_AREA_TASK_FRAGMENT); break; } case OP_TYPE_SET_MOVE_TO_BOTTOM_IF_CLEAR_WHEN_LAUNCH: { taskFragment.setMoveToBottomIfClearWhenLaunch( operation.isMoveToBottomIfClearWhenLaunch()); taskFragment.setMoveToBottomIfClearWhenLaunch(operation.getBooleanValue()); break; } case OP_TYPE_SET_DECOR_SURFACE_BOOSTED: { Loading
services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -881,7 +881,7 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { mTransaction.addTaskFragmentOperation(mFragmentToken, operation); final TaskFragmentOperation dimOperation = new TaskFragmentOperation.Builder( OP_TYPE_SET_DIM_ON_TASK) .setDimOnTask(true) .setBooleanValue(true) .build(); mTransaction.addTaskFragmentOperation(mFragmentToken, dimOperation); mOrganizer.applyTransaction(mTransaction, TASK_FRAGMENT_TRANSIT_CHANGE, Loading