Ignore ui mode change caused by Morris overlay in PiP am: 166f263128
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16372369 Change-Id: I27576af5a2bf75969c4e6ef292fbf11111fc66ce
This commit is contained in:
@@ -83,6 +83,19 @@ public class DisplayLayout {
|
||||
private boolean mHasStatusBar = false;
|
||||
private int mNavBarFrameHeight = 0;
|
||||
|
||||
/**
|
||||
* 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;
|
||||
|
||||
@@ -76,7 +76,6 @@ import com.android.wm.shell.pip.PipTransitionController;
|
||||
import com.android.wm.shell.pip.PipUtils;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@@ -441,7 +440,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 = () -> {
|
||||
|
||||
Reference in New Issue
Block a user