Fix TaskFragmentTrustedModeTest
The condition was inverted, and led to #reparentChildren didn't work. This CL also removes some minimum dimension checks because it is covered in TaskFragment#isAllowedToEmbedActivity(ActivityRecord). Test: atest TaskFragmentTrustedModeTest TaskFragmentOrganizerTest Test: atest TaskFragmentOrganizerPolicyTest SplitActivityLifecycleTest Fixes: 238054859 Bug: 233578672 Merged-In: Ic58edee8e239e94b9986f06b499281487a9a973d Change-Id: Ic58edee8e239e94b9986f06b499281487a9a973d
This commit is contained in:
@@ -759,7 +759,7 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
|
||||
}
|
||||
if (parent.isAllowedToEmbedActivity(activity) != EMBEDDING_ALLOWED) {
|
||||
final Throwable exception = new SecurityException(
|
||||
"The task fragment is not trusted to embed the given activity.");
|
||||
"The task fragment is not allowed to embed the given activity.");
|
||||
sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
|
||||
break;
|
||||
}
|
||||
@@ -769,11 +769,6 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
|
||||
sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
|
||||
break;
|
||||
}
|
||||
if (parent.smallerThanMinDimension(activity)) {
|
||||
sendMinimumDimensionViolation(parent, activity.getMinDimensions(),
|
||||
errorCallbackToken, "reparentActivityToTask");
|
||||
break;
|
||||
}
|
||||
|
||||
activity.reparent(parent, POSITION_TOP);
|
||||
effects |= TRANSACT_EFFECTS_LIFECYCLE;
|
||||
@@ -1583,10 +1578,10 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
|
||||
// We are reparenting activities to a new embedded TaskFragment, this operation is only
|
||||
// allowed if the new parent is trusted by all reparent activities.
|
||||
final boolean isEmbeddingDisallowed = oldParent.forAllActivities(activity ->
|
||||
newParentTF.isAllowedToEmbedActivity(activity) == EMBEDDING_ALLOWED);
|
||||
newParentTF.isAllowedToEmbedActivity(activity) != EMBEDDING_ALLOWED);
|
||||
if (isEmbeddingDisallowed) {
|
||||
final Throwable exception = new SecurityException(
|
||||
"The new parent is not trusted to embed the activities.");
|
||||
"The new parent is not allowed to embed the activities.");
|
||||
sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
|
||||
return;
|
||||
}
|
||||
@@ -1603,14 +1598,6 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
|
||||
sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
|
||||
return;
|
||||
}
|
||||
final Point minDimensions = oldParent.calculateMinDimension();
|
||||
final Rect newParentBounds = newParentTF.getBounds();
|
||||
if (newParentBounds.width() < minDimensions.x
|
||||
|| newParentBounds.height() < minDimensions.y) {
|
||||
sendMinimumDimensionViolation(newParentTF, minDimensions, errorCallbackToken,
|
||||
"reparentTaskFragment");
|
||||
return;
|
||||
}
|
||||
while (oldParent.hasChild()) {
|
||||
oldParent.getChildAt(0).reparent(newParentTF, POSITION_TOP);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user