Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39028262 authored by Jiaming Liu's avatar Jiaming Liu Committed by Android (Google) Code Review
Browse files

Merge "Set transaction effect when the transaction is not a no-op" into main

parents 2831d826 825f1ed3
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1298,6 +1298,12 @@ public final class WindowContainerTransaction implements Parcelable {
            if ((mChangeMask & CHANGE_FOCUSABLE) != 0) {
                sb.append("focusable:" + mFocusable + ",");
            }
            if ((mChangeMask & CHANGE_FORCE_TRANSLUCENT) != 0) {
                sb.append("forceTranslucent:" + mForceTranslucent + ",");
            }
            if ((mChangeMask & CHANGE_HIDDEN) != 0) {
                sb.append("hidden:" + mHidden + ",");
            }
            if ((mChangeMask & CHANGE_DRAG_RESIZING) != 0) {
                sb.append("dragResizing:" + mDragResizing + ",");
            }
+5 −1
Original line number Diff line number Diff line
@@ -906,8 +906,12 @@ class TaskFragment extends WindowContainer<WindowContainer> {
        return mForceTranslucent;
    }

    void setForceTranslucent(boolean set) {
    boolean setForceTranslucent(boolean set) {
        if (mForceTranslucent == set) {
            return false;
        }
        mForceTranslucent = set;
        return true;
    }

    boolean isLeafTaskFragment() {
+24 −16
Original line number Diff line number Diff line
@@ -842,9 +842,10 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
        }

        if ((c.getChangeMask() & CHANGE_FORCE_TRANSLUCENT) != 0) {
            tr.setForceTranslucent(c.getForceTranslucent());
            if (tr.setForceTranslucent(c.getForceTranslucent())) {
                effects |= TRANSACT_EFFECTS_LIFECYCLE;
            }
        }

        if ((c.getChangeMask() & WindowContainerTransaction.Change.CHANGE_DRAG_RESIZING) != 0) {
            tr.setDragResizing(c.getDragResizing());
@@ -964,9 +965,10 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
            }
        }
        if ((c.getChangeMask() & CHANGE_FORCE_TRANSLUCENT) != 0) {
            taskFragment.setForceTranslucent(c.getForceTranslucent());
            if (taskFragment.setForceTranslucent(c.getForceTranslucent())) {
                effects |= TRANSACT_EFFECTS_LIFECYCLE;
            }
        }

        effects |= applyChanges(taskFragment, c);

@@ -1568,27 +1570,33 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
            case OP_TYPE_REORDER_TO_BOTTOM_OF_TASK: {
                final Task task = taskFragment.getTask();
                if (task != null) {
                    if (task.mChildren.peekFirst() != taskFragment) {
                        task.mChildren.remove(taskFragment);
                        task.mChildren.add(0, taskFragment);
                        if (!taskFragment.hasChild()) {
                        // Ensure that the child layers are updated if the TaskFragment is empty.
                            // Ensure that the child layers are updated if the TaskFragment is
                            // empty.
                            task.assignChildLayers();
                        }
                        effects |= TRANSACT_EFFECTS_LIFECYCLE;
                    }
                }
                break;
            }
            case OP_TYPE_REORDER_TO_TOP_OF_TASK: {
                final Task task = taskFragment.getTask();
                if (task != null) {
                    if (task.mChildren.peekLast() != taskFragment) {
                        task.mChildren.remove(taskFragment);
                        task.mChildren.add(taskFragment);
                        if (!taskFragment.hasChild()) {
                        // Ensure that the child layers are updated if the TaskFragment is empty.
                            // Ensure that the child layers are updated if the TaskFragment is
                            // empty.
                            task.assignChildLayers();
                        }
                        effects |= TRANSACT_EFFECTS_LIFECYCLE;
                    }
                }
                break;
            }
            case OP_TYPE_CREATE_OR_MOVE_TASK_FRAGMENT_DECOR_SURFACE: {