Merge "Ignoring display size change when display is off" into sc-v2-dev

This commit is contained in:
Sunny Goyal 2021-10-01 17:54:08 +00:00 committed by Android (Google) Code Review
commit 954a3dd0cc
2 changed files with 9 additions and 11 deletions

View File

@ -24,7 +24,6 @@ import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCH
import android.content.Context;
import android.content.SharedPreferences;
import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.IntDef;
@ -135,17 +134,8 @@ public class DeviceGridState {
public boolean isCompatible(DeviceGridState other) {
if (this == other) return true;
if (other == null) return false;
boolean isCompatible = mNumHotseat == other.mNumHotseat
return mNumHotseat == other.mNumHotseat
&& deviceTypeCompatible(mDeviceType, other.mDeviceType)
&& Objects.equals(mGridSizeString, other.mGridSizeString);
// TODO(b/198965093): Temporary fix for multi-display devices, ignore hotseat size changes
// and type compatibility.
if ((mDeviceType == TYPE_MULTI_DISPLAY || other.mDeviceType == TYPE_MULTI_DISPLAY)
&& !isCompatible && Objects.equals(mGridSizeString, other.mGridSizeString)) {
Log.d("b/198965093", "Hotseat and deice type compatibility ignored: " + this
+ ", other: " + other);
isCompatible = true;
}
return isCompatible;
}
}

View File

@ -257,6 +257,14 @@ public class DisplayController implements DisplayListener, ComponentCallbacks, S
}
if (!newInfo.supportedBounds.equals(oldInfo.supportedBounds)) {
change |= CHANGE_SUPPORTED_BOUNDS;
PortraitSize realSize = new PortraitSize(newInfo.currentSize.x, newInfo.currentSize.y);
PortraitSize expectedSize = oldInfo.mInternalDisplays.get(
ApiWrapper.getUniqueId(display));
if (!realSize.equals(expectedSize) && display.getState() == Display.STATE_OFF) {
Log.e("b/198965093", "Display size changed while display is off, ignoring change");
return;
}
}
if (change != 0) {