subdub toggle | regex fix (yomiroll) | idk I forgot

This commit is contained in:
rebelonion 2024-01-26 00:17:33 -06:00
parent 4a5eab13c9
commit 49b3c33fbc
8 changed files with 134 additions and 17 deletions

View file

@ -1,6 +1,7 @@
package ani.dantotsu.settings.extensionprefs
import android.content.Context
import android.content.SharedPreferences
import android.os.Bundle
import android.util.TypedValue
import androidx.core.os.bundleOf
@ -8,6 +9,7 @@ import androidx.lifecycle.lifecycleScope
import androidx.preference.DialogPreference
import androidx.preference.EditTextPreference
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager
import androidx.preference.forEach
import androidx.preference.getOnBindEditTextListener
import ani.dantotsu.snackString
@ -46,7 +48,7 @@ class AnimeSourcePreferencesFragment : PreferenceFragmentCompat() {
onCloseAction?.invoke()
}
private fun populateAnimePreferenceScreen(): PreferenceScreen {
fun populateAnimePreferenceScreen(): PreferenceScreen {
val sourceId = requireArguments().getLong(SOURCE_ID)
val source = Injekt.get<AnimeSourceManager>().get(sourceId) as? ConfigurableAnimeSource
?: error("Source with id: $sourceId not found!")
@ -93,3 +95,31 @@ class AnimeSourcePreferencesFragment : PreferenceFragmentCompat() {
private const val SOURCE_ID = "source_id"
}
}
class InitialAnimeSourcePreferencesFragment(val sharedPreferences: SharedPreferences, val source: ConfigurableAnimeSource, val currContext: Context) : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
preferenceScreen = try {
populateAnimePreferenceScreen()
} catch (e: Exception) {
snackString(e.message ?: "Unknown error")
preferenceManager.createPreferenceScreen(requireContext())
}
//set background color
val color = TypedValue()
requireContext().theme.resolveAttribute(
com.google.android.material.R.attr.backgroundColor,
color,
true
)
view?.setBackgroundColor(color.data)
}
fun populateAnimePreferenceScreen(): PreferenceScreen {
val dataStore = SharedPreferencesDataStore(sharedPreferences)
preferenceManager.preferenceDataStore = dataStore
val sourceScreen = preferenceManager.createPreferenceScreen(requireContext())
source.setupPreferenceScreen(sourceScreen)
return sourceScreen
}
}