diff --git a/parts/res/drawable/ic_thermal_navigation.xml b/parts/res/drawable/ic_thermal_navigation.xml new file mode 100644 index 0000000..fc306f8 --- /dev/null +++ b/parts/res/drawable/ic_thermal_navigation.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/parts/res/drawable/ic_thermal_video.xml b/parts/res/drawable/ic_thermal_video.xml new file mode 100644 index 0000000..569fc3e --- /dev/null +++ b/parts/res/drawable/ic_thermal_video.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/parts/res/values/strings.xml b/parts/res/values/strings.xml index 56a1844..1387a8c 100644 --- a/parts/res/values/strings.xml +++ b/parts/res/values/strings.xml @@ -25,7 +25,9 @@ Camera Dialer Gaming + Navigation Streaming + Video Per-app refresh rate diff --git a/parts/src/org/lineageos/settings/thermal/ThermalSettingsFragment.java b/parts/src/org/lineageos/settings/thermal/ThermalSettingsFragment.java index d30d984..030425d 100644 --- a/parts/src/org/lineageos/settings/thermal/ThermalSettingsFragment.java +++ b/parts/src/org/lineageos/settings/thermal/ThermalSettingsFragment.java @@ -204,8 +204,12 @@ public class ThermalSettingsFragment extends PreferenceFragment return R.drawable.ic_thermal_dialer; case ThermalUtils.STATE_GAMING: return R.drawable.ic_thermal_gaming; + case ThermalUtils.STATE_NAVIGATION: + return R.drawable.ic_thermal_navigation; case ThermalUtils.STATE_STREAMING: return R.drawable.ic_thermal_streaming; + case ThermalUtils.STATE_VIDEO: + return R.drawable.ic_thermal_video; case ThermalUtils.STATE_DEFAULT: default: return R.drawable.ic_thermal_default; @@ -241,7 +245,9 @@ public class ThermalSettingsFragment extends PreferenceFragment R.string.thermal_camera, R.string.thermal_dialer, R.string.thermal_gaming, - R.string.thermal_streaming + R.string.thermal_navigation, + R.string.thermal_streaming, + R.string.thermal_video }; private ModeAdapter(Context context) { diff --git a/parts/src/org/lineageos/settings/thermal/ThermalUtils.java b/parts/src/org/lineageos/settings/thermal/ThermalUtils.java index cf71fbe..e8c10a2 100644 --- a/parts/src/org/lineageos/settings/thermal/ThermalUtils.java +++ b/parts/src/org/lineageos/settings/thermal/ThermalUtils.java @@ -35,7 +35,9 @@ public final class ThermalUtils { protected static final int STATE_CAMERA = 3; protected static final int STATE_DIALER = 4; protected static final int STATE_GAMING = 5; - protected static final int STATE_STREAMING = 6; + protected static final int STATE_NAVIGATION = 6; + protected static final int STATE_STREAMING = 7; + protected static final int STATE_VIDEO = 8; private static final String THERMAL_STATE_DEFAULT = "0"; private static final String THERMAL_STATE_BENCHMARK = "10"; @@ -43,14 +45,18 @@ public final class ThermalUtils { private static final String THERMAL_STATE_CAMERA = "12"; private static final String THERMAL_STATE_DIALER = "8"; private static final String THERMAL_STATE_GAMING = "9"; + private static final String THERMAL_STATE_NAVIGATION = "19"; private static final String THERMAL_STATE_STREAMING = "14"; + private static final String THERMAL_STATE_VIDEO = "21"; private static final String THERMAL_BENCHMARK = "thermal.benchmark="; private static final String THERMAL_BROWSER = "thermal.browser="; private static final String THERMAL_CAMERA = "thermal.camera="; private static final String THERMAL_DIALER = "thermal.dialer="; private static final String THERMAL_GAMING = "thermal.gaming="; + private static final String THERMAL_NAVIGATION = "thermal.navigation="; private static final String THERMAL_STREAMING = "thermal.streaming="; + private static final String THERMAL_VIDEO = "thermal.video="; private static final String THERMAL_SCONFIG = "/sys/class/thermal/thermal_message/sconfig"; @@ -73,8 +79,8 @@ public final class ThermalUtils { String value = mSharedPrefs.getString(THERMAL_CONTROL, null); if (value == null || value.isEmpty()) { - value = THERMAL_BENCHMARK + ":" + THERMAL_BROWSER + ":" + THERMAL_CAMERA + ":" + - THERMAL_DIALER + ":" + THERMAL_GAMING + ":" + THERMAL_STREAMING; + value = THERMAL_BENCHMARK + ":" + THERMAL_BROWSER + ":" + THERMAL_CAMERA + ":" + THERMAL_DIALER + ":" + + THERMAL_GAMING + ":" + THERMAL_NAVIGATION + ":" + THERMAL_STREAMING + ":" + THERMAL_VIDEO; writeValue(value); } return value; @@ -102,13 +108,19 @@ public final class ThermalUtils { case STATE_GAMING: modes[4] = modes[4] + packageName + ","; break; - case STATE_STREAMING: + case STATE_NAVIGATION: modes[5] = modes[5] + packageName + ","; break; + case STATE_STREAMING: + modes[6] = modes[6] + packageName + ","; + break; + case STATE_VIDEO: + modes[7] = modes[7] + packageName + ","; + break; } finalString = modes[0] + ":" + modes[1] + ":" + modes[2] + ":" + modes[3] + ":" + - modes[4] + ":" + modes[5]; + modes[4] + ":" + modes[5] + ":" + modes[6] + ":" + modes[7]; writeValue(finalString); } @@ -128,7 +140,11 @@ public final class ThermalUtils { } else if (modes[4].contains(packageName + ",")) { state = STATE_GAMING; } else if (modes[5].contains(packageName + ",")) { + state = STATE_NAVIGATION; + } else if (modes[6].contains(packageName + ",")) { state = STATE_STREAMING; + } else if (modes[7].contains(packageName + ",")) { + state = STATE_VIDEO; } return state; @@ -157,7 +173,11 @@ public final class ThermalUtils { } else if (modes[4].contains(packageName + ",")) { state = THERMAL_STATE_GAMING; } else if (modes[5].contains(packageName + ",")) { + state = THERMAL_STATE_NAVIGATION; + } else if (modes[6].contains(packageName + ",")) { state = THERMAL_STATE_STREAMING; + } else if (modes[7].contains(packageName + ",")) { + state = THERMAL_STATE_VIDEO; } } FileUtils.writeLine(THERMAL_SCONFIG, state);