Loading libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayLayout.java +13 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,19 @@ public class DisplayLayout { private boolean mReverseDefaultRotation = false; private InsetsState mInsetsState = new InsetsState(); /** * Different from {@link #equals(Object)}, this method compares the basic geometry properties * of two {@link DisplayLayout} objects including width, height, rotation, density and cutout. * @return {@code true} if the given {@link DisplayLayout} is identical geometry wise. */ public boolean isSameGeometry(@NonNull DisplayLayout other) { return mWidth == other.mWidth && mHeight == other.mHeight && mRotation == other.mRotation && mDensityDpi == other.mDensityDpi && Objects.equals(mCutout, other.mCutout); } @Override public boolean equals(Object o) { if (this == o) return true; Loading libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java +1 −2 Original line number Diff line number Diff line Loading @@ -88,7 +88,6 @@ import com.android.wm.shell.pip.PipUtils; import com.android.wm.shell.transition.Transitions; import java.io.PrintWriter; import java.util.Objects; import java.util.Optional; import java.util.function.Consumer; Loading Loading @@ -469,7 +468,7 @@ public class PipController implements PipTransitionController.PipTransitionCallb } private void onDisplayChanged(DisplayLayout layout, boolean saveRestoreSnapFraction) { if (Objects.equals(layout, mPipBoundsState.getDisplayLayout())) { if (mPipBoundsState.getDisplayLayout().isSameGeometry(layout)) { return; } Runnable updateDisplayLayout = () -> { Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayLayout.java +13 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,19 @@ public class DisplayLayout { private boolean mReverseDefaultRotation = false; private InsetsState mInsetsState = new InsetsState(); /** * Different from {@link #equals(Object)}, this method compares the basic geometry properties * of two {@link DisplayLayout} objects including width, height, rotation, density and cutout. * @return {@code true} if the given {@link DisplayLayout} is identical geometry wise. */ public boolean isSameGeometry(@NonNull DisplayLayout other) { return mWidth == other.mWidth && mHeight == other.mHeight && mRotation == other.mRotation && mDensityDpi == other.mDensityDpi && Objects.equals(mCutout, other.mCutout); } @Override public boolean equals(Object o) { if (this == o) return true; Loading
libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java +1 −2 Original line number Diff line number Diff line Loading @@ -88,7 +88,6 @@ import com.android.wm.shell.pip.PipUtils; import com.android.wm.shell.transition.Transitions; import java.io.PrintWriter; import java.util.Objects; import java.util.Optional; import java.util.function.Consumer; Loading Loading @@ -469,7 +468,7 @@ public class PipController implements PipTransitionController.PipTransitionCallb } private void onDisplayChanged(DisplayLayout layout, boolean saveRestoreSnapFraction) { if (Objects.equals(layout, mPipBoundsState.getDisplayLayout())) { if (mPipBoundsState.getDisplayLayout().isSameGeometry(layout)) { return; } Runnable updateDisplayLayout = () -> { Loading