Merge "Only allow roots tasks to be organized" into rvc-dev

This commit is contained in:
Wale Ogunwale
2020-04-03 16:28:28 +00:00
committed by Android (Google) Code Review
3 changed files with 5 additions and 23 deletions

View File

@@ -1085,14 +1085,6 @@ public class DividerView extends FrameLayout implements OnTouchListener,
crop.offsetTo(-(otherTaskRect.left - otherRect.left),
-(otherTaskRect.top - otherRect.top));
t.setWindowCrop(mTiles.mSecondarySurface, crop);
// Reposition home and recents surfaces or they would be positioned relatively to its
// parent (split-screen secondary task) position.
for (int i = mTiles.mHomeAndRecentsSurfaces.size() - 1; i >= 0; --i) {
t.setPosition(mTiles.mHomeAndRecentsSurfaces.get(i),
mTiles.mHomeBounds.left - otherTaskRect.left,
mTiles.mHomeBounds.top - otherTaskRect.top);
t.setWindowCrop(mTiles.mHomeAndRecentsSurfaces.get(i), null);
}
final SurfaceControl dividerCtrl = getWindowSurfaceControl();
if (dividerCtrl != null) {
if (isHorizontalDivision()) {

View File

@@ -2802,6 +2802,9 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
false /* includingParents */);
}
WindowContainerTransaction wct = new WindowContainerTransaction();
// Clear out current windowing mode before reparenting to split taks.
wct.setWindowingMode(
task.getStack().mRemoteToken.toWindowContainerToken(), WINDOWING_MODE_UNDEFINED);
wct.reparent(task.getStack().mRemoteToken.toWindowContainerToken(),
primarySplitTask.mRemoteToken.toWindowContainerToken(), toTop);
mWindowOrganizerController.applyTransaction(wct);

View File

@@ -4068,21 +4068,7 @@ class Task extends WindowContainer<WindowContainer> {
@Override
boolean isOrganized() {
final Task rootTask = getRootTask();
if (rootTask.mTaskOrganizer == null) {
// You are obviously not organized...
return false;
}
if (rootTask == this) {
// Root tasks can be organized.
return true;
}
if (rootTask.mCreatedByOrganizer && getParent() == rootTask) {
// Direct children of tasks added by the organizer can the organized.
return true;
}
return false;
return mTaskOrganizer != null;
}
@Override
@@ -4137,6 +4123,7 @@ class Task extends WindowContainer<WindowContainer> {
}
}
@VisibleForTesting
boolean setTaskOrganizer(ITaskOrganizer organizer) {
if (mTaskOrganizer == organizer) {
return false;