aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalf Luther <luther.ralf@gmail.com>2020-12-21 21:17:48 +0100
committerRalf Luther <luther.ralf@gmail.com>2020-12-21 21:17:48 +0100
commit121dcdb419a2e09d7bb8f8a7e50cb7d0be7b3326 (patch)
tree5f52e0b97dc8078ee213005c1caa852c6f52e6ed
parentaed46156da174916b653fdecf448831d78424af3 (diff)
PartsBin 1/2: Make Refreshrate switching use integer values...
... and change the icons, so that devices with other peak rates can use this to adapt to their displays (and do not get annoyed by QS tiles displaying "60" or "90"Hz only). I chose to use integer values and convert them to float, after using some "existing" strings, as that cluttered the code more as it uses float values by default on OMNI. Change-Id: I6609892ba80ad08c8847d7cca10632f363cf8da0
-rw-r--r--res/values/config.xml2
-rw-r--r--src/com/aicp/device/AutoRefreshRateSwitch.java8
-rw-r--r--src/com/aicp/device/RefreshRateSwitch.java14
-rw-r--r--src/com/aicp/device/RefreshRateTileService.java12
4 files changed, 25 insertions, 11 deletions
diff --git a/res/values/config.xml b/res/values/config.xml
index 78fdcac..e102e44 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -20,6 +20,8 @@
<bool name="config_device_has_hw_nav_buttons">false</bool>
<bool name="config_device_supports_switch_refreshrate">false</bool>
+ <integer name="BaseRefresh"></integer>
+ <integer name="PeakRefresh"></integer>
<bool name="config_device_supports_soundtuner">false</bool>
diff --git a/src/com/aicp/device/AutoRefreshRateSwitch.java b/src/com/aicp/device/AutoRefreshRateSwitch.java
index 6ef7f42..213c1a5 100644
--- a/src/com/aicp/device/AutoRefreshRateSwitch.java
+++ b/src/com/aicp/device/AutoRefreshRateSwitch.java
@@ -28,9 +28,13 @@ public class AutoRefreshRateSwitch implements OnPreferenceChangeListener {
public static final String SETTINGS_KEY = DeviceSettings.KEY_SETTINGS_PREFIX + DeviceSettings.KEY_AUTO_REFRESH_RATE;
private Context mContext;
+ protected static float mBaseRefresh;
+ protected static float mPeakRefresh;
public AutoRefreshRateSwitch(Context context) {
mContext = context;
+ mBaseRefresh = (float) context.getResources().getInteger(R.integer.BaseRefresh);
+ mPeakRefresh = (float) context.getResources().getInteger(R.integer.PeakRefresh);
}
public static boolean isCurrentlyEnabled(Context context) {
@@ -41,9 +45,9 @@ public class AutoRefreshRateSwitch implements OnPreferenceChangeListener {
public boolean onPreferenceChange(Preference preference, Object newValue) {
Boolean enabled = (Boolean) newValue;
Settings.System.putFloat(mContext.getContentResolver(),
- Settings.System.PEAK_REFRESH_RATE, 90f);
+ Settings.System.PEAK_REFRESH_RATE, mPeakRefresh);
Settings.System.putFloat(mContext.getContentResolver(),
- Settings.System.MIN_REFRESH_RATE, 60f);
+ Settings.System.MIN_REFRESH_RATE, mBaseRefresh);
Settings.System.putInt(mContext.getContentResolver(), SETTINGS_KEY, enabled ? 1 : 0);
return true;
}
diff --git a/src/com/aicp/device/RefreshRateSwitch.java b/src/com/aicp/device/RefreshRateSwitch.java
index 9d52565..33ab336 100644
--- a/src/com/aicp/device/RefreshRateSwitch.java
+++ b/src/com/aicp/device/RefreshRateSwitch.java
@@ -28,30 +28,34 @@ public class RefreshRateSwitch implements OnPreferenceChangeListener {
public static final String SETTINGS_KEY = DeviceSettings.KEY_SETTINGS_PREFIX + DeviceSettings.KEY_REFRESH_RATE;
private Context mContext;
+ protected static float mBaseRefresh;
+ protected static float mPeakRefresh;
public RefreshRateSwitch(Context context) {
mContext = context;
+ mBaseRefresh = (float) context.getResources().getInteger(R.integer.BaseRefresh);
+ mPeakRefresh = (float) context.getResources().getInteger(R.integer.PeakRefresh);
}
public static boolean isCurrentlyEnabled(Context context) {
return Settings.System.getFloat(context.getContentResolver(),
- Settings.System.PEAK_REFRESH_RATE, 90f) == 90f;
+ Settings.System.PEAK_REFRESH_RATE, mPeakRefresh) == mPeakRefresh;
}
public static void setPeakRefresh (Context context, boolean enabled) {
Settings.System.putFloat(context.getContentResolver(),
- Settings.System.PEAK_REFRESH_RATE, enabled ? 90f : 60f);
+ Settings.System.PEAK_REFRESH_RATE, enabled ? mPeakRefresh : mBaseRefresh);
Settings.System.putFloat(context.getContentResolver(),
- Settings.System.MIN_REFRESH_RATE, enabled ? 90f : 60f);
+ Settings.System.MIN_REFRESH_RATE, enabled ? mPeakRefresh : mBaseRefresh);
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
Boolean enabled = (Boolean) newValue;
Settings.System.putFloat(mContext.getContentResolver(),
- Settings.System.PEAK_REFRESH_RATE, enabled ? 90f : 60f);
+ Settings.System.PEAK_REFRESH_RATE, enabled ? mPeakRefresh : mBaseRefresh);
Settings.System.putFloat(mContext.getContentResolver(),
- Settings.System.MIN_REFRESH_RATE, enabled ? 90f : 60f);
+ Settings.System.MIN_REFRESH_RATE, enabled ? mPeakRefresh : mBaseRefresh);
return true;
}
}
diff --git a/src/com/aicp/device/RefreshRateTileService.java b/src/com/aicp/device/RefreshRateTileService.java
index c4d4a9e..e407340 100644
--- a/src/com/aicp/device/RefreshRateTileService.java
+++ b/src/com/aicp/device/RefreshRateTileService.java
@@ -31,6 +31,8 @@ import androidx.preference.PreferenceManager;
public class RefreshRateTileService extends TileService {
private boolean enabled = false;
private boolean autoRefreshEnabled;
+ protected static float mBaseRefresh;
+ protected static float mPeakRefresh;
@Override
public void onDestroy() {
@@ -50,6 +52,8 @@ public class RefreshRateTileService extends TileService {
@Override
public void onStartListening() {
super.onStartListening();
+ mBaseRefresh = (float) this.getResources().getInteger(R.integer.BaseRefresh);
+ mPeakRefresh = (float) this.getResources().getInteger(R.integer.PeakRefresh);
autoRefreshEnabled = Settings.System.getInt(this.getContentResolver(),
AutoRefreshRateSwitch.SETTINGS_KEY, 1) == 1;
if (autoRefreshEnabled) {
@@ -59,7 +63,7 @@ public class RefreshRateTileService extends TileService {
RefreshRateSwitch.setPeakRefresh(this, enabled);
getQsTile().setIcon(Icon.createWithResource(this,
- enabled ? R.drawable.ic_refresh_tile_90 : R.drawable.ic_refresh_tile_60));
+ enabled ? R.drawable.ic_refresh_tile_peak : R.drawable.ic_refresh_tile_base));
getQsTile().setState(enabled ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE);
}
getQsTile().updateTile();
@@ -79,11 +83,11 @@ public class RefreshRateTileService extends TileService {
RefreshRateSwitch.setPeakRefresh(this, enabled);
sharedPrefs.edit().putBoolean(DeviceSettings.KEY_REFRESH_RATE, enabled ? false : true).commit();
Settings.System.putFloat(this.getContentResolver(),
- Settings.System.PEAK_REFRESH_RATE, enabled ? 60f : 90f);
+ Settings.System.PEAK_REFRESH_RATE, enabled ? mBaseRefresh : mPeakRefresh);
Settings.System.putFloat(this.getContentResolver(),
- Settings.System.MIN_REFRESH_RATE, enabled ? 60f : 90f);
+ Settings.System.MIN_REFRESH_RATE, enabled ? mBaseRefresh : mPeakRefresh);
getQsTile().setIcon(Icon.createWithResource(this,
- enabled ? R.drawable.ic_refresh_tile_60 : R.drawable.ic_refresh_tile_90));
+ enabled ? R.drawable.ic_refresh_tile_base : R.drawable.ic_refresh_tile_peak));
getQsTile().setState(enabled ? Tile.STATE_INACTIVE : Tile.STATE_ACTIVE);
getQsTile().updateTile();
}