Hide prefetch option if not available
This commit is contained in:
@@ -9,14 +9,13 @@ import androidx.preference.ListPreference
|
|||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import java.io.File
|
|
||||||
import javax.inject.Inject
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.koitharu.kotatsu.R
|
import org.koitharu.kotatsu.R
|
||||||
import org.koitharu.kotatsu.base.ui.BasePreferenceFragment
|
import org.koitharu.kotatsu.base.ui.BasePreferenceFragment
|
||||||
import org.koitharu.kotatsu.base.ui.dialog.StorageSelectDialog
|
import org.koitharu.kotatsu.base.ui.dialog.StorageSelectDialog
|
||||||
|
import org.koitharu.kotatsu.core.cache.ContentCache
|
||||||
import org.koitharu.kotatsu.core.network.DoHProvider
|
import org.koitharu.kotatsu.core.network.DoHProvider
|
||||||
import org.koitharu.kotatsu.core.prefs.AppSettings
|
import org.koitharu.kotatsu.core.prefs.AppSettings
|
||||||
import org.koitharu.kotatsu.local.data.LocalStorageManager
|
import org.koitharu.kotatsu.local.data.LocalStorageManager
|
||||||
@@ -26,6 +25,8 @@ import org.koitharu.kotatsu.sync.ui.SyncSettingsIntent
|
|||||||
import org.koitharu.kotatsu.utils.ext.getStorageName
|
import org.koitharu.kotatsu.utils.ext.getStorageName
|
||||||
import org.koitharu.kotatsu.utils.ext.setDefaultValueCompat
|
import org.koitharu.kotatsu.utils.ext.setDefaultValueCompat
|
||||||
import org.koitharu.kotatsu.utils.ext.viewLifecycleScope
|
import org.koitharu.kotatsu.utils.ext.viewLifecycleScope
|
||||||
|
import java.io.File
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class ContentSettingsFragment :
|
class ContentSettingsFragment :
|
||||||
@@ -36,9 +37,12 @@ class ContentSettingsFragment :
|
|||||||
@Inject
|
@Inject
|
||||||
lateinit var storageManager: LocalStorageManager
|
lateinit var storageManager: LocalStorageManager
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
lateinit var contentCache: ContentCache
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
addPreferencesFromResource(R.xml.pref_content)
|
addPreferencesFromResource(R.xml.pref_content)
|
||||||
|
findPreference<Preference>(AppSettings.KEY_PREFETCH_CONTENT)?.isVisible = contentCache.isCachingEnabled
|
||||||
findPreference<SliderPreference>(AppSettings.KEY_DOWNLOADS_PARALLELISM)?.run {
|
findPreference<SliderPreference>(AppSettings.KEY_DOWNLOADS_PARALLELISM)?.run {
|
||||||
summary = value.toString()
|
summary = value.toString()
|
||||||
setOnPreferenceChangeListener { preference, newValue ->
|
setOnPreferenceChangeListener { preference, newValue ->
|
||||||
@@ -82,11 +86,13 @@ class ContentSettingsFragment :
|
|||||||
AppSettings.KEY_LOCAL_STORAGE -> {
|
AppSettings.KEY_LOCAL_STORAGE -> {
|
||||||
findPreference<Preference>(key)?.bindStorageName()
|
findPreference<Preference>(key)?.bindStorageName()
|
||||||
}
|
}
|
||||||
|
|
||||||
AppSettings.KEY_SUGGESTIONS -> {
|
AppSettings.KEY_SUGGESTIONS -> {
|
||||||
findPreference<Preference>(AppSettings.KEY_SUGGESTIONS)?.setSummary(
|
findPreference<Preference>(AppSettings.KEY_SUGGESTIONS)?.setSummary(
|
||||||
if (settings.isSuggestionsEnabled) R.string.enabled else R.string.disabled,
|
if (settings.isSuggestionsEnabled) R.string.enabled else R.string.disabled,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
AppSettings.KEY_SOURCES_HIDDEN -> {
|
AppSettings.KEY_SOURCES_HIDDEN -> {
|
||||||
bindRemoteSourcesSummary()
|
bindRemoteSourcesSummary()
|
||||||
}
|
}
|
||||||
@@ -104,6 +110,7 @@ class ContentSettingsFragment :
|
|||||||
.show()
|
.show()
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
AppSettings.KEY_SYNC -> {
|
AppSettings.KEY_SYNC -> {
|
||||||
val am = AccountManager.get(requireContext())
|
val am = AccountManager.get(requireContext())
|
||||||
val accountType = getString(R.string.account_type_sync)
|
val accountType = getString(R.string.account_type_sync)
|
||||||
@@ -119,6 +126,7 @@ class ContentSettingsFragment :
|
|||||||
}
|
}
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> super.onPreferenceTreeClick(preference)
|
else -> super.onPreferenceTreeClick(preference)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:fragment="org.koitharu.kotatsu.settings.sources.SourcesSettingsFragment"
|
android:fragment="org.koitharu.kotatsu.settings.sources.SourcesSettingsFragment"
|
||||||
@@ -25,7 +26,9 @@
|
|||||||
android:entryValues="@array/values_network_policy"
|
android:entryValues="@array/values_network_policy"
|
||||||
android:key="prefetch_content"
|
android:key="prefetch_content"
|
||||||
android:title="@string/prefetch_content"
|
android:title="@string/prefetch_content"
|
||||||
app:useSimpleSummaryProvider="true" />
|
app:isPreferenceVisible="false"
|
||||||
|
app:useSimpleSummaryProvider="true"
|
||||||
|
tools:isPreferenceVisible="true" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="local_storage"
|
android:key="local_storage"
|
||||||
|
|||||||
Reference in New Issue
Block a user