summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Chen <charlesccchen@google.com>2022-07-06 14:20:31 +0800
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-07-13 01:44:55 +0000
commite32d71e67e7b6b10775010032b281e776a478832 (patch)
tree36023f9d7c4253cf21faecdd4bab5ee0d1d83a05
parent0d3ff311e6e80dee7fe88a2a2cfa272ce231c3c6 (diff)
downloadbase-e32d71e67e7b6b10775010032b281e776a478832.tar.gz
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 (cherry picked from commit c231302191e6eaafe889d88f5160dffec31a3c50) Merged-In: Ic58edee8e239e94b9986f06b499281487a9a973d
-rw-r--r--services/core/java/com/android/server/wm/WindowOrganizerController.java19
1 files changed, 3 insertions, 16 deletions
diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java
index 64a5deb32fcb..aee66faa8faa 100644
--- a/services/core/java/com/android/server/wm/WindowOrganizerController.java
+++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java
@@ -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);
}