mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Add: Language preference
This commit is contained in:
parent
72c7603bdf
commit
606372bc14
@ -3,6 +3,8 @@ package com.looker.droidify.content
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
|
import com.looker.droidify.Common.PREFS_LANGUAGE
|
||||||
|
import com.looker.droidify.Common.PREFS_LANGUAGE_DEFAULT
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.entity.ProductItem
|
import com.looker.droidify.entity.ProductItem
|
||||||
import com.looker.droidify.utility.extension.android.Android
|
import com.looker.droidify.utility.extension.android.Android
|
||||||
@ -20,6 +22,7 @@ object Preferences {
|
|||||||
val subject = _subject.asSharedFlow()
|
val subject = _subject.asSharedFlow()
|
||||||
|
|
||||||
private val keys = sequenceOf(
|
private val keys = sequenceOf(
|
||||||
|
Key.Language,
|
||||||
Key.AutoSync,
|
Key.AutoSync,
|
||||||
Key.IncompatibleVersions,
|
Key.IncompatibleVersions,
|
||||||
Key.ListAnimation,
|
Key.ListAnimation,
|
||||||
@ -122,6 +125,7 @@ object Preferences {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sealed class Key<T>(val name: String, val default: Value<T>) {
|
sealed class Key<T>(val name: String, val default: Value<T>) {
|
||||||
|
object Language : Key<String>(PREFS_LANGUAGE, Value.StringValue(PREFS_LANGUAGE_DEFAULT))
|
||||||
object AutoSync : Key<Preferences.AutoSync>(
|
object AutoSync : Key<Preferences.AutoSync>(
|
||||||
"auto_sync",
|
"auto_sync",
|
||||||
Value.EnumerationValue(Preferences.AutoSync.Wifi)
|
Value.EnumerationValue(Preferences.AutoSync.Wifi)
|
||||||
|
@ -28,6 +28,9 @@ import com.looker.droidify.BuildConfig
|
|||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.content.Preferences
|
import com.looker.droidify.content.Preferences
|
||||||
import com.looker.droidify.databinding.PreferenceItemBinding
|
import com.looker.droidify.databinding.PreferenceItemBinding
|
||||||
|
import com.looker.droidify.utility.Utils.getLocaleOfCode
|
||||||
|
import com.looker.droidify.utility.Utils.languagesList
|
||||||
|
import com.looker.droidify.utility.Utils.translateLocale
|
||||||
import com.looker.droidify.utility.extension.resources.*
|
import com.looker.droidify.utility.extension.resources.*
|
||||||
import com.topjohnwu.superuser.Shell
|
import com.topjohnwu.superuser.Shell
|
||||||
import kotlinx.coroutines.flow.collect
|
import kotlinx.coroutines.flow.collect
|
||||||
@ -67,6 +70,13 @@ class SettingsFragment : ScreenFragment() {
|
|||||||
ViewGroup.LayoutParams.WRAP_CONTENT
|
ViewGroup.LayoutParams.WRAP_CONTENT
|
||||||
)
|
)
|
||||||
|
|
||||||
|
preferences.addCategory(requireContext().getString(R.string.prefs_language_title)) {
|
||||||
|
addList(
|
||||||
|
Preferences.Key.Language,
|
||||||
|
context.getString(R.string.prefs_language_title),
|
||||||
|
languagesList
|
||||||
|
) { translateLocale(context.getLocaleOfCode(it)) }
|
||||||
|
}
|
||||||
preferences.addCategory(getString(R.string.updates)) {
|
preferences.addCategory(getString(R.string.updates)) {
|
||||||
addEnumeration(
|
addEnumeration(
|
||||||
Preferences.Key.AutoSync,
|
Preferences.Key.AutoSync,
|
||||||
|
@ -173,4 +173,5 @@
|
|||||||
<string name="waiting_to_start_download">Waiting to start download</string>
|
<string name="waiting_to_start_download">Waiting to start download</string>
|
||||||
<string name="whats_new">What\'s New</string>
|
<string name="whats_new">What\'s New</string>
|
||||||
<string name="website">Website</string>
|
<string name="website">Website</string>
|
||||||
|
<string name="prefs_language_title">Langugage</string>
|
||||||
</resources>
|
</resources>
|
Loading…
x
Reference in New Issue
Block a user