Merge "Retrive the value of user-pref, if its not stored in persistentDataStore" into tm-qpr-dev
This commit is contained in:
@@ -1681,7 +1681,20 @@ public final class DisplayManagerService extends SystemService {
|
|||||||
final Point userPreferredResolution =
|
final Point userPreferredResolution =
|
||||||
mPersistentDataStore.getUserPreferredResolution(device);
|
mPersistentDataStore.getUserPreferredResolution(device);
|
||||||
final float refreshRate = mPersistentDataStore.getUserPreferredRefreshRate(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;
|
return;
|
||||||
}
|
}
|
||||||
Display.Mode.Builder modeBuilder = new Display.Mode.Builder();
|
Display.Mode.Builder modeBuilder = new Display.Mode.Builder();
|
||||||
|
|||||||
Reference in New Issue
Block a user