UIPreference: Add option for app language in UI preferences

Only visible on Android 13 and above

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2023-08-09 19:36:20 +05:30
parent 0da8cd94cd
commit 560c28cb07
3 changed files with 26 additions and 0 deletions

View File

@@ -19,22 +19,42 @@
package com.aurora.store.view.ui.preferences
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.provider.Settings
import android.view.View
import androidx.appcompat.widget.Toolbar
import androidx.navigation.fragment.findNavController
import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import com.aurora.store.R
import com.aurora.store.util.Preferences
import com.aurora.extensions.applyTheme
import com.aurora.extensions.isTAndAbove
import com.aurora.store.util.save
import java.util.Locale
class UIPreference : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.preferences_ui, rootKey)
findPreference<Preference>("PREFERENCE_APP_LANGUAGE")?.apply {
if (isTAndAbove()) {
summary = Locale.getDefault().displayName
setOnPreferenceClickListener {
startActivity(Intent(Settings.ACTION_APP_LOCALE_SETTINGS).apply {
data = Uri.parse("package:" + requireContext().packageName)
})
true
}
} else {
isVisible = false
}
}
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {