Loading libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayChangeController.java +1 −1 Original line number Diff line number Diff line Loading @@ -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); Loading libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayController.java +21 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -85,11 +86,6 @@ public class DisplayController { } } /** Get the DisplayChangeController. */ public DisplayChangeController getChangeController() { return mChangeController; } /** * Gets a display by id from DisplayManager. */ Loading Loading @@ -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); Loading libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java +2 −3 Original line number Diff line number Diff line Loading @@ -1085,9 +1085,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()); } } } Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayChangeController.java +1 −1 Original line number Diff line number Diff line Loading @@ -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); Loading
libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayController.java +21 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -85,11 +86,6 @@ public class DisplayController { } } /** Get the DisplayChangeController. */ public DisplayChangeController getChangeController() { return mChangeController; } /** * Gets a display by id from DisplayManager. */ Loading Loading @@ -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); Loading
libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java +2 −3 Original line number Diff line number Diff line Loading @@ -1085,9 +1085,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()); } } } Loading