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:
@@ -19,22 +19,42 @@
|
|||||||
|
|
||||||
package com.aurora.store.view.ui.preferences
|
package com.aurora.store.view.ui.preferences
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.provider.Settings
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.util.Preferences
|
import com.aurora.store.util.Preferences
|
||||||
import com.aurora.extensions.applyTheme
|
import com.aurora.extensions.applyTheme
|
||||||
|
import com.aurora.extensions.isTAndAbove
|
||||||
import com.aurora.store.util.save
|
import com.aurora.store.util.save
|
||||||
|
import java.util.Locale
|
||||||
|
|
||||||
|
|
||||||
class UIPreference : PreferenceFragmentCompat() {
|
class UIPreference : PreferenceFragmentCompat() {
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
setPreferencesFromResource(R.xml.preferences_ui, rootKey)
|
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?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
|||||||
@@ -366,4 +366,5 @@
|
|||||||
<string name="server_unreachable">Server unreachable</string>
|
<string name="server_unreachable">Server unreachable</string>
|
||||||
<string name="failed_generating_session">Failed to generate session, error code: <xliff:g id="status_code">%1$d</xliff:g></string>
|
<string name="failed_generating_session">Failed to generate session, error code: <xliff:g id="status_code">%1$d</xliff:g></string>
|
||||||
<string name="check_connectivity">Check internet connectivity</string>
|
<string name="check_connectivity">Check internet connectivity</string>
|
||||||
|
<string name="app_language">App Language</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -37,6 +37,11 @@
|
|||||||
app:title="@string/pref_ui_accent_title"
|
app:title="@string/pref_ui_accent_title"
|
||||||
app:useSimpleSummaryProvider="true" />
|
app:useSimpleSummaryProvider="true" />
|
||||||
|
|
||||||
|
<Preference
|
||||||
|
app:iconSpaceReserved="false"
|
||||||
|
app:key="PREFERENCE_APP_LANGUAGE"
|
||||||
|
app:title="@string/app_language" />
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
app:iconSpaceReserved="false"
|
app:iconSpaceReserved="false"
|
||||||
app:singleLineTitle="false"
|
app:singleLineTitle="false"
|
||||||
|
|||||||
Reference in New Issue
Block a user