Enable Sonos cache invalidation
This commit is contained in:
@@ -7,4 +7,5 @@ object PreferenceKey {
|
|||||||
const val ENABLE_WAVE_ENDPOINT = "preference_enable_wave_endpoint"
|
const val ENABLE_WAVE_ENDPOINT = "preference_enable_wave_endpoint"
|
||||||
const val ENABLE_SONOS_ENDPOINT = "preference_enable_sonos_endpoint"
|
const val ENABLE_SONOS_ENDPOINT = "preference_enable_sonos_endpoint"
|
||||||
const val TTS = "preference_tts"
|
const val TTS = "preference_tts"
|
||||||
|
const val INVALIDATE_SONOS_CACHE = "preference_invalidate_sonos_cache"
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,7 @@ import android.content.Intent
|
|||||||
import android.content.IntentFilter
|
import android.content.IntentFilter
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.InputType
|
import android.text.InputType
|
||||||
|
import android.widget.Toast
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
@@ -19,6 +20,7 @@ class PreferencesFragment : PreferenceFragmentCompat() {
|
|||||||
private lateinit var sayEndpointPreference: SwitchPreference
|
private lateinit var sayEndpointPreference: SwitchPreference
|
||||||
private lateinit var waveEndpointPreference: SwitchPreference
|
private lateinit var waveEndpointPreference: SwitchPreference
|
||||||
private lateinit var ttsEnginePreference: Preference
|
private lateinit var ttsEnginePreference: Preference
|
||||||
|
private lateinit var clearSonosCachePreference: Preference
|
||||||
|
|
||||||
private val receiver = object : BroadcastReceiver() {
|
private val receiver = object : BroadcastReceiver() {
|
||||||
override fun onReceive(context: Context?, intent: Intent?) {
|
override fun onReceive(context: Context?, intent: Intent?) {
|
||||||
@@ -35,14 +37,14 @@ class PreferencesFragment : PreferenceFragmentCompat() {
|
|||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
LocalBroadcastManager
|
LocalBroadcastManager
|
||||||
.getInstance(context!!)
|
.getInstance(requireContext())
|
||||||
.registerReceiver(receiver, IntentFilter(ForegroundService.CHANGE_STATE))
|
.registerReceiver(receiver, IntentFilter(ForegroundService.CHANGE_STATE))
|
||||||
updateViewAccordingToServiceState(ForegroundService.state)
|
updateViewAccordingToServiceState(ForegroundService.state)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
LocalBroadcastManager
|
LocalBroadcastManager
|
||||||
.getInstance(context!!)
|
.getInstance(requireContext())
|
||||||
.unregisterReceiver(receiver)
|
.unregisterReceiver(receiver)
|
||||||
super.onPause()
|
super.onPause()
|
||||||
}
|
}
|
||||||
@@ -58,6 +60,12 @@ class PreferencesFragment : PreferenceFragmentCompat() {
|
|||||||
startActivity(Intent(ANDROID_TTS_SETTINGS))
|
startActivity(Intent(ANDROID_TTS_SETTINGS))
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
clearSonosCachePreference = findPreference(PreferenceKey.INVALIDATE_SONOS_CACHE)!!
|
||||||
|
clearSonosCachePreference.setOnPreferenceClickListener {
|
||||||
|
context?.cacheDir?.listFiles() ?. forEach { it.delete() }
|
||||||
|
Toast.makeText(context, getString(R.string.preference_invalidate_sonos_cache_toast), Toast.LENGTH_SHORT).show()
|
||||||
|
true
|
||||||
|
}
|
||||||
updateViewAccordingToServiceState(ForegroundService.state)
|
updateViewAccordingToServiceState(ForegroundService.state)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,13 @@
|
|||||||
<string name="preference_enable_sonos_endpoint_title">Enable /sonos endpoint</string>
|
<string name="preference_enable_sonos_endpoint_title">Enable /sonos endpoint</string>
|
||||||
<string name="preference_tts_summary">Go to platform\'s TTS engine settings and adjust its parameters</string>
|
<string name="preference_tts_summary">Go to platform\'s TTS engine settings and adjust its parameters</string>
|
||||||
<string name="preference_tts_title">TTS engine settings</string>
|
<string name="preference_tts_title">TTS engine settings</string>
|
||||||
|
<string name="preference_invalidate_sonos_cache_summary">Clear application cache directory from already generated Sonos TTS data for given sentences. You typically want to do it when you change the TTS engine\'s voice settings.</string>
|
||||||
|
<string name="preference_invalidate_sonos_cache_title">Invalidate Sonos cache</string>
|
||||||
<string name="preference_category_tts">TTS engine</string>
|
<string name="preference_category_tts">TTS engine</string>
|
||||||
<string name="preference_category_server">Server</string>
|
<string name="preference_category_server">Server</string>
|
||||||
|
<string name="preference_category_sonos">Sonos</string>
|
||||||
|
<string name="preference_invalidate_sonos_cache_toast">Sonos cache has been invalidated</string>
|
||||||
|
|
||||||
<string name="menu_settings">Settings</string>
|
<string name="menu_settings">Settings</string>
|
||||||
<string name="menu_help">Help</string>
|
<string name="menu_help">Help</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -41,5 +41,13 @@
|
|||||||
app:iconSpaceReserved="false" />
|
app:iconSpaceReserved="false" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/preference_category_sonos" app:iconSpaceReserved="false">
|
||||||
|
<Preference
|
||||||
|
android:key="preference_invalidate_sonos_cache"
|
||||||
|
android:summary="@string/preference_invalidate_sonos_cache_summary"
|
||||||
|
app:title="@string/preference_invalidate_sonos_cache_title"
|
||||||
|
app:iconSpaceReserved="false" />
|
||||||
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
|
||||||
</androidx.preference.PreferenceScreen>
|
</androidx.preference.PreferenceScreen>
|
||||||
Reference in New Issue
Block a user