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);