parent
317252e1dd
commit
95d7ca5264
@ -1,26 +1,68 @@
|
|||||||
package org.koitharu.kotatsu.settings
|
package org.koitharu.kotatsu.settings
|
||||||
|
|
||||||
|
import android.content.SharedPreferences
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.view.View
|
||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
import androidx.preference.MultiSelectListPreference
|
import androidx.preference.MultiSelectListPreference
|
||||||
|
import androidx.preference.Preference
|
||||||
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.core.model.ZoomMode
|
import org.koitharu.kotatsu.core.model.ZoomMode
|
||||||
import org.koitharu.kotatsu.core.prefs.AppSettings
|
import org.koitharu.kotatsu.core.prefs.AppSettings
|
||||||
|
import org.koitharu.kotatsu.core.prefs.ReaderMode
|
||||||
|
import org.koitharu.kotatsu.parsers.util.names
|
||||||
import org.koitharu.kotatsu.settings.utils.MultiSummaryProvider
|
import org.koitharu.kotatsu.settings.utils.MultiSummaryProvider
|
||||||
import org.koitharu.kotatsu.utils.ext.names
|
|
||||||
import org.koitharu.kotatsu.utils.ext.setDefaultValueCompat
|
import org.koitharu.kotatsu.utils.ext.setDefaultValueCompat
|
||||||
|
|
||||||
class ReaderSettingsFragment : BasePreferenceFragment(R.string.reader_settings) {
|
class ReaderSettingsFragment :
|
||||||
|
BasePreferenceFragment(R.string.reader_settings),
|
||||||
|
SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
addPreferencesFromResource(R.xml.pref_reader)
|
addPreferencesFromResource(R.xml.pref_reader)
|
||||||
findPreference<MultiSelectListPreference>(AppSettings.KEY_READER_SWITCHERS)?.let {
|
findPreference<ListPreference>(AppSettings.KEY_READER_MODE)?.run {
|
||||||
it.summaryProvider = MultiSummaryProvider(R.string.gestures_only)
|
entryValues = arrayOf(
|
||||||
|
ReaderMode.STANDARD,
|
||||||
|
ReaderMode.REVERSED,
|
||||||
|
ReaderMode.WEBTOON,
|
||||||
|
).names()
|
||||||
|
setDefaultValueCompat(ReaderMode.STANDARD.name)
|
||||||
}
|
}
|
||||||
findPreference<ListPreference>(AppSettings.KEY_ZOOM_MODE)?.let {
|
findPreference<MultiSelectListPreference>(AppSettings.KEY_READER_SWITCHERS)?.run {
|
||||||
it.entryValues = ZoomMode.values().names()
|
summaryProvider = MultiSummaryProvider(R.string.gestures_only)
|
||||||
it.setDefaultValueCompat(ZoomMode.FIT_CENTER.name)
|
}
|
||||||
|
findPreference<ListPreference>(AppSettings.KEY_ZOOM_MODE)?.run {
|
||||||
|
entryValues = arrayOf(
|
||||||
|
ZoomMode.FIT_CENTER,
|
||||||
|
ZoomMode.FIT_HEIGHT,
|
||||||
|
ZoomMode.FIT_WIDTH,
|
||||||
|
ZoomMode.KEEP_START,
|
||||||
|
).names()
|
||||||
|
setDefaultValueCompat(ZoomMode.FIT_CENTER.name)
|
||||||
|
}
|
||||||
|
updateReaderModeDependency()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
settings.subscribe(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDestroyView() {
|
||||||
|
settings.unsubscribe(this)
|
||||||
|
super.onDestroyView()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
|
||||||
|
when (key) {
|
||||||
|
AppSettings.KEY_READER_MODE -> updateReaderModeDependency()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun updateReaderModeDependency() {
|
||||||
|
findPreference<Preference>(AppSettings.KEY_READER_MODE_DETECT)?.run {
|
||||||
|
isEnabled = settings.defaultReaderMode != ReaderMode.WEBTOON
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue