Merge "Retrive the value of user-pref, if its not stored in persistentDataStore" into tm-qpr-dev am: 7239296def

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20261068

Change-Id: Ide8edb9ff64ed77ab56e5735c7f48ed286b74d4f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Kriti Dang
2022-11-10 17:42:08 +00:00
committed by Automerger Merge Worker

View File

@@ -1681,7 +1681,20 @@ public final class DisplayManagerService extends SystemService {
final Point userPreferredResolution =
mPersistentDataStore.getUserPreferredResolution(device);
final float refreshRate = mPersistentDataStore.getUserPreferredRefreshRate(device);
if (userPreferredResolution == null && Float.isNaN(refreshRate)) {
// If value in persistentDataStore is null, preserving the mode from systemPreferredMode.
// This is required because in some devices, user-preferred mode was not stored in
// persistentDataStore, but was stored in a config which is returned through
// systemPreferredMode.
if ((userPreferredResolution == null && Float.isNaN(refreshRate))
|| (userPreferredResolution.equals(0, 0) && refreshRate == 0.0f)) {
Display.Mode systemPreferredMode = device.getSystemPreferredDisplayModeLocked();
if (systemPreferredMode == null) {
return;
}
storeModeInPersistentDataStoreLocked(
display.getDisplayIdLocked(), systemPreferredMode.getPhysicalWidth(),
systemPreferredMode.getPhysicalHeight(), systemPreferredMode.getRefreshRate());
device.setUserPreferredDisplayModeLocked(systemPreferredMode);
return;
}
Display.Mode.Builder modeBuilder = new Display.Mode.Builder();