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" /> - +