diff --git a/mobile/src/main/java/org/openhab/habdroid/ui/preference/fragments/MainSettingsFragment.kt b/mobile/src/main/java/org/openhab/habdroid/ui/preference/fragments/MainSettingsFragment.kt
index 65a21cd495..8038f14092 100644
--- a/mobile/src/main/java/org/openhab/habdroid/ui/preference/fragments/MainSettingsFragment.kt
+++ b/mobile/src/main/java/org/openhab/habdroid/ui/preference/fragments/MainSettingsFragment.kt
@@ -24,6 +24,7 @@ import android.os.Build
import android.os.Bundle
import android.provider.Settings
import android.util.Log
+import android.webkit.WebView
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.RequiresApi
import androidx.annotation.StringRes
@@ -112,7 +113,6 @@ class MainSettingsFragment : AbstractSettingsFragment(), ConnectionFactory.Updat
val drawerEntriesPrefs = getPreference(PrefKeys.DRAWER_ENTRIES)
val themePref = getPreference(PrefKeys.THEME)
val colorSchemePref = getPreference(PrefKeys.COLOR_SCHEME) as ListPreference
- val clearCachePref = getPreference(PrefKeys.CLEAR_CACHE)
val fullscreenPref = getPreference(PrefKeys.FULLSCREEN)
val launcherPref = getPreference(PrefKeys.LAUNCHER)
val iconFormatPref = getPreference(PrefKeys.ICON_FORMAT)
@@ -194,8 +194,8 @@ class MainSettingsFragment : AbstractSettingsFragment(), ConnectionFactory.Updat
true
}
- clearCachePref.setOnPreferenceClickListener { pref ->
- clearImageCache(pref.context)
+ getPreference(PrefKeys.CLEAR_CACHE).setOnPreferenceClickListener { pref ->
+ clearCaches(pref.context)
true
}
@@ -308,7 +308,7 @@ class MainSettingsFragment : AbstractSettingsFragment(), ConnectionFactory.Updat
} else {
iconFormatPref.setOnPreferenceChangeListener { pref, _ ->
val context = pref.context
- clearImageCache(context)
+ clearCaches(context)
ItemUpdateWidget.updateAllWidgets(context)
true
}
@@ -349,7 +349,8 @@ class MainSettingsFragment : AbstractSettingsFragment(), ConnectionFactory.Updat
}
}
- private fun clearImageCache(context: Context) {
+ private fun clearCaches(context: Context) {
+ WebView(context).clearCache(true)
// Get launch intent for application
val restartIntent = context.packageManager.getLaunchIntentForPackage(context.packageName)
restartIntent?.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
diff --git a/mobile/src/main/java/org/openhab/habdroid/util/PrefKeys.kt b/mobile/src/main/java/org/openhab/habdroid/util/PrefKeys.kt
index 3b608a9677..9c4930156e 100644
--- a/mobile/src/main/java/org/openhab/habdroid/util/PrefKeys.kt
+++ b/mobile/src/main/java/org/openhab/habdroid/util/PrefKeys.kt
@@ -43,7 +43,7 @@ object PrefKeys {
const val SITEMAP_COMPACT_MODE = "sitemap_compact_mode"
const val SHOW_ICONS = "show_icons"
const val ICON_FORMAT = "iconFormatType"
- const val CLEAR_CACHE = "default_openhab_cleacache"
+ const val CLEAR_CACHE = "default_openhab_clear_cache"
const val CHART_SCALING = "chartScalingFactor"
const val CHART_HQ = "default_openhab_chart_hq"
const val IMAGE_WIDGET_SCALE_TO_FIT = "imageWidgetScaleToFit"
diff --git a/mobile/src/main/res/values/strings.xml b/mobile/src/main/res/values/strings.xml
index a158ad1ff1..729cbb55c1 100644
--- a/mobile/src/main/res/values/strings.xml
+++ b/mobile/src/main/res/values/strings.xml
@@ -27,7 +27,7 @@
An error occurred while loading Main UI
An error occurred while loading Frontail. Please note that it\'s not available via openHAB Cloud.
Select default Sitemap
- Clear images cache
+ Clear cache
Connection
diff --git a/mobile/src/main/res/xml/preferences.xml b/mobile/src/main/res/xml/preferences.xml
index 670da4a638..7e1c5e7d9c 100644
--- a/mobile/src/main/res/xml/preferences.xml
+++ b/mobile/src/main/res/xml/preferences.xml
@@ -42,10 +42,6 @@
android:entries="@array/iconTypeNames"
android:entryValues="@array/iconTypeValues"
android:icon="@drawable/ic_image_outline_grey_24dp" />
-
+