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

Commit e8e751e4 authored by Jerry Chang's avatar Jerry Chang Committed by Automerger Merge Worker
Browse files

Merge "Update display layout when requesting display rotate" into udc-dev am:...

Merge "Update display layout when requesting display rotate" into udc-dev am: 445045eb am: e3f33b9d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23659916



Change-Id: I8106711c797fd9e2926f95d8bb6cc5bd9c2ed7d3
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 1e005849 e3f33b9d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ public class DisplayChangeController {
    }

    /** Query all listeners for changes that should happen on display change. */
    public void dispatchOnDisplayChange(WindowContainerTransaction outWct, int displayId,
    void dispatchOnDisplayChange(WindowContainerTransaction outWct, int displayId,
            int fromRotation, int toRotation, DisplayAreaInfo newDisplayAreaInfo) {
        for (OnDisplayChangingListener c : mDisplayChangeListener) {
            c.onDisplayChange(displayId, fromRotation, toRotation, newDisplayAreaInfo, outWct);
+21 −5
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.view.Display;
import android.view.IDisplayWindowListener;
import android.view.IWindowManager;
import android.view.InsetsState;
import android.window.WindowContainerTransaction;

import androidx.annotation.BinderThread;

@@ -85,11 +86,6 @@ public class DisplayController {
        }
    }

    /** Get the DisplayChangeController. */
    public DisplayChangeController getChangeController() {
        return mChangeController;
    }

    /**
     * Gets a display by id from DisplayManager.
     */
@@ -195,6 +191,26 @@ public class DisplayController {
        }
    }


    /** Called when a display rotate requested. */
    public void onDisplayRotateRequested(WindowContainerTransaction wct, int displayId,
            int fromRotation, int toRotation) {
        synchronized (mDisplays) {
            final DisplayRecord dr = mDisplays.get(displayId);
            if (dr == null) {
                Slog.w(TAG, "Skipping Display rotate on non-added display.");
                return;
            }

            if (dr.mDisplayLayout != null) {
                dr.mDisplayLayout.rotateTo(dr.mContext.getResources(), toRotation);
            }

            mChangeController.dispatchOnDisplayChange(
                    wct, displayId, fromRotation, toRotation, null /* newDisplayAreaInfo */);
        }
    }

    private void onDisplayConfigurationChanged(int displayId, Configuration newConfig) {
        synchronized (mDisplays) {
            final DisplayRecord dr = mDisplays.get(displayId);
+2 −3
Original line number Diff line number Diff line
@@ -1089,9 +1089,8 @@ public class Transitions implements RemoteCallable<Transitions>,
                    if (wct == null) {
                        wct = new WindowContainerTransaction();
                    }
                    mDisplayController.getChangeController().dispatchOnDisplayChange(wct,
                            change.getDisplayId(), change.getStartRotation(),
                            change.getEndRotation(), null /* newDisplayAreaInfo */);
                    mDisplayController.onDisplayRotateRequested(wct, change.getDisplayId(),
                            change.getStartRotation(), change.getEndRotation());
                }
            }
        }