aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlaster4385 <[email protected]>2025-05-02 23:43:33 +0530
committerBlaster4385 <[email protected]>2025-05-02 23:43:33 +0530
commit534f99a83cec32d03f941bef0f3c34a23fe4b5e1 (patch)
treeae257bc8d4e9133bf72366c9be5c74322016d050
parent48f75dca53dc3b4f5027af7a48a5ca238a2fe4de (diff)
feat: allow disabling hardware acceleration
-rw-r--r--app/src/main/java/dev/tablaster/dashpanel/MainActivity.kt7
-rw-r--r--app/src/main/res/values/strings.xml2
-rw-r--r--app/src/main/res/xml/preferences.xml6
3 files changed, 14 insertions, 1 deletions
diff --git a/app/src/main/java/dev/tablaster/dashpanel/MainActivity.kt b/app/src/main/java/dev/tablaster/dashpanel/MainActivity.kt
index e59b685..38a7fbd 100644
--- a/app/src/main/java/dev/tablaster/dashpanel/MainActivity.kt
+++ b/app/src/main/java/dev/tablaster/dashpanel/MainActivity.kt
@@ -6,6 +6,7 @@ import android.content.SharedPreferences
import android.net.Uri
import android.os.Bundle
import android.util.Log
+import android.view.View
import android.view.WindowManager
import android.webkit.WebChromeClient
import android.webkit.WebSettings
@@ -98,6 +99,7 @@ class MainActivity : AppCompatActivity(), MQTTModule.MQTTListener {
@SuppressLint("SetJavaScriptEnabled")
private fun setupWebView(url: String) {
+ val hardwareAcceleration = sharedPref.getBoolean("hardware_acceleration", true)
if (!::webView.isInitialized) {
webView = findViewById(R.id.webview)
val webSettings = webView.settings
@@ -114,9 +116,12 @@ class MainActivity : AppCompatActivity(), MQTTModule.MQTTListener {
webView.webViewClient = WebViewClient()
webView.webChromeClient = WebChromeClient()
}
+ if (hardwareAcceleration) {
+ webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+ }
val currentUrl = webView.url
- val currentOrigin = currentUrl?.let { it.toUri().origin() }
+ val currentOrigin = currentUrl?.toUri()?.origin()
val targetOrigin = url.toUri().origin()
if (currentOrigin != targetOrigin) {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 613283d..58eb30a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -35,4 +35,6 @@
<string name="sensor_battery_summary">Send battery data over mqtt</string>
<string name="sensor_update_interval_title">Sensor Update Interval</string>
<string name="sensor_update_interval_summary">The interval(in minutes) after which updated sensor data will be sent.</string>
+ <string name="hardware_acceleration_title">Enable Hardware Acceleration</string>
+ <string name="hardware_acceleration_summary">Turn on hardware acceleration (might improve performance)</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 0b8dd26..0080429 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -26,6 +26,12 @@
app:title="@string/start_on_boot_title"
app:summary="@string/start_on_boot_summary"/>
+ <SwitchPreferenceCompat
+ app:key="hardware_acceleration"
+ app:title="@string/hardware_acceleration_title"
+ app:defaultValue="true"
+ app:summary="@string/hardware_acceleration_summary"/>
+
<PreferenceCategory
app:title="@string/preference_mqtt_settings_title" />