Revert "Back up the smooth display setting"

Revert submission 22741921-cherrypick-bug-211737588-lp9s6r5vn3

Reason for revert: b/279215664

Reverted changes: /q/submissionid:22741921-cherrypick-bug-211737588-lp9s6r5vn3

Change-Id: I9b50aa0e2c5a7d328c4aa70b049c37c81e49e89b
Merged-In: I9b50aa0e2c5a7d328c4aa70b049c37c81e49e89b
This commit is contained in:
Piotr Wilczyński
2023-04-25 09:49:42 +00:00
parent d3897afda6
commit eef23f441c
4 changed files with 133 additions and 44 deletions

View File

@@ -16,20 +16,18 @@
package com.android.settings.display;
import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE;
import android.content.Context;
import android.hardware.display.DisplayManager;
import android.os.Handler;
import android.provider.DeviceConfig;
import android.provider.Settings;
import android.util.Log;
import android.view.Display;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.internal.display.RefreshRateSettingsUtils;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -41,6 +39,8 @@ import java.util.concurrent.Executor;
public class PeakRefreshRatePreferenceController extends TogglePreferenceController
implements LifecycleObserver, OnStart, OnStop {
@VisibleForTesting static float DEFAULT_REFRESH_RATE = 60f;
@VisibleForTesting float mPeakRefreshRate;
private static final String TAG = "RefreshRatePrefCtr";
@@ -65,8 +65,17 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl
updateState(mPreference);
}
};
mPeakRefreshRate =
RefreshRateSettingsUtils.findHighestRefreshRateForDefaultDisplay(context);
final DisplayManager dm = mContext.getSystemService(DisplayManager.class);
final Display display = dm.getDisplay(Display.DEFAULT_DISPLAY);
if (display == null) {
Log.w(TAG, "No valid default display device");
mPeakRefreshRate = DEFAULT_REFRESH_RATE;
} else {
mPeakRefreshRate = findPeakRefreshRate(display.getSupportedModes());
}
Log.d(
TAG,
"DEFAULT_REFRESH_RATE : "
@@ -97,15 +106,21 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl
@Override
public boolean isChecked() {
return Settings.System.getInt(mContext.getContentResolver(), Settings.System.SMOOTH_DISPLAY,
0) == 1;
final float peakRefreshRate =
Settings.System.getFloat(
mContext.getContentResolver(),
Settings.System.PEAK_REFRESH_RATE,
getDefaultPeakRefreshRate());
return Math.round(peakRefreshRate) == Math.round(mPeakRefreshRate);
}
@Override
public boolean setChecked(boolean isChecked) {
Log.d(TAG, "setChecked to : " + isChecked);
return Settings.System.putInt(
mContext.getContentResolver(), Settings.System.SMOOTH_DISPLAY, isChecked ? 1 : 0);
final float peakRefreshRate = isChecked ? mPeakRefreshRate : DEFAULT_REFRESH_RATE;
Log.d(TAG, "setChecked to : " + peakRefreshRate);
return Settings.System.putFloat(
mContext.getContentResolver(), Settings.System.PEAK_REFRESH_RATE, peakRefreshRate);
}
@Override
@@ -123,6 +138,17 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl
mDeviceConfigDisplaySettings.stopListening();
}
@VisibleForTesting
float findPeakRefreshRate(Display.Mode[] modes) {
float peakRefreshRate = DEFAULT_REFRESH_RATE;
for (Display.Mode mode : modes) {
if (Math.round(mode.getRefreshRate()) > peakRefreshRate) {
peakRefreshRate = mode.getRefreshRate();
}
}
return peakRefreshRate;
}
private class DeviceConfigDisplaySettings
implements DeviceConfig.OnPropertiesChangedListener, Executor {
public void startListening() {
@@ -165,4 +191,15 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl
}
}
}
private float getDefaultPeakRefreshRate() {
float defaultPeakRefreshRate = mDeviceConfigDisplaySettings.getDefaultPeakRefreshRate();
if (defaultPeakRefreshRate == INVALIDATE_REFRESH_RATE) {
defaultPeakRefreshRate = (float) mContext.getResources().getInteger(
com.android.internal.R.integer.config_defaultPeakRefreshRate);
}
Log.d(TAG, "DeviceConfig getDefaultPeakRefreshRate : " + defaultPeakRefreshRate);
return defaultPeakRefreshRate;
}
}