diff options
| author | Blaster4385 <[email protected]> | 2025-05-02 23:43:33 +0530 |
|---|---|---|
| committer | Blaster4385 <[email protected]> | 2025-05-02 23:43:33 +0530 |
| commit | 534f99a83cec32d03f941bef0f3c34a23fe4b5e1 (patch) | |
| tree | ae257bc8d4e9133bf72366c9be5c74322016d050 | |
| parent | 48f75dca53dc3b4f5027af7a48a5ca238a2fe4de (diff) | |
feat: allow disabling hardware acceleration
| -rw-r--r-- | app/src/main/java/dev/tablaster/dashpanel/MainActivity.kt | 7 | ||||
| -rw-r--r-- | app/src/main/res/values/strings.xml | 2 | ||||
| -rw-r--r-- | app/src/main/res/xml/preferences.xml | 6 |
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" /> |