Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 753e5c01 authored by Kriti Dang's avatar Kriti Dang
Browse files

Retrive the value of user-pref, if its not stored in persistentDataStore

Bug: 255269623
Test: m
Change-Id: I3c0de3887f2bb5efd541b9ce4e0e9e85ee63fc1c
parent 6af3a824
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -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();