Loading services/core/java/com/android/server/display/DisplayManagerService.java +17 −6 Original line number Diff line number Diff line Loading @@ -141,7 +141,6 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.concurrent.CopyOnWriteArrayList; Loading Loading @@ -1756,10 +1755,6 @@ public final class DisplayManagerService extends SystemService { void setUserPreferredDisplayModeInternal(int displayId, Display.Mode mode) { synchronized (mSyncRoot) { if (Objects.equals(mUserPreferredMode, mode) && displayId == Display.INVALID_DISPLAY) { return; } if (mode != null && !isResolutionAndRefreshRateValid(mode) && displayId == Display.INVALID_DISPLAY) { throw new IllegalArgumentException("width, height and refresh rate of mode should " Loading Loading @@ -1813,7 +1808,15 @@ public final class DisplayManagerService extends SystemService { Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.USER_PREFERRED_RESOLUTION_WIDTH, resolutionWidth); mDisplayDeviceRepo.forEachLocked((DisplayDevice device) -> { // If there is a display specific mode, don't override that final Point deviceUserPreferredResolution = mPersistentDataStore.getUserPreferredResolution(device); final float deviceRefreshRate = mPersistentDataStore.getUserPreferredRefreshRate(device); if (!isValidResolution(deviceUserPreferredResolution) && !isValidRefreshRate(deviceRefreshRate)) { device.setUserPreferredDisplayModeLocked(mode); } }); } Loading Loading @@ -3533,6 +3536,14 @@ public final class DisplayManagerService extends SystemService { && (brightness <= PowerManager.BRIGHTNESS_MAX); } private static boolean isValidResolution(Point resolution) { return (resolution != null) && (resolution.x > 0) && (resolution.y > 0); } private static boolean isValidRefreshRate(float refreshRate) { return !Float.isNaN(refreshRate) && (refreshRate > 0.0f); } private final class LocalService extends DisplayManagerInternal { @Override Loading Loading
services/core/java/com/android/server/display/DisplayManagerService.java +17 −6 Original line number Diff line number Diff line Loading @@ -141,7 +141,6 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.concurrent.CopyOnWriteArrayList; Loading Loading @@ -1756,10 +1755,6 @@ public final class DisplayManagerService extends SystemService { void setUserPreferredDisplayModeInternal(int displayId, Display.Mode mode) { synchronized (mSyncRoot) { if (Objects.equals(mUserPreferredMode, mode) && displayId == Display.INVALID_DISPLAY) { return; } if (mode != null && !isResolutionAndRefreshRateValid(mode) && displayId == Display.INVALID_DISPLAY) { throw new IllegalArgumentException("width, height and refresh rate of mode should " Loading Loading @@ -1813,7 +1808,15 @@ public final class DisplayManagerService extends SystemService { Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.USER_PREFERRED_RESOLUTION_WIDTH, resolutionWidth); mDisplayDeviceRepo.forEachLocked((DisplayDevice device) -> { // If there is a display specific mode, don't override that final Point deviceUserPreferredResolution = mPersistentDataStore.getUserPreferredResolution(device); final float deviceRefreshRate = mPersistentDataStore.getUserPreferredRefreshRate(device); if (!isValidResolution(deviceUserPreferredResolution) && !isValidRefreshRate(deviceRefreshRate)) { device.setUserPreferredDisplayModeLocked(mode); } }); } Loading Loading @@ -3533,6 +3536,14 @@ public final class DisplayManagerService extends SystemService { && (brightness <= PowerManager.BRIGHTNESS_MAX); } private static boolean isValidResolution(Point resolution) { return (resolution != null) && (resolution.x > 0) && (resolution.y > 0); } private static boolean isValidRefreshRate(float refreshRate) { return !Float.isNaN(refreshRate) && (refreshRate > 0.0f); } private final class LocalService extends DisplayManagerInternal { @Override Loading