Use localized strings for UI mode dialog.

This commit is contained in:
Anton Chekulaev 2020-09-02 13:24:02 +10:00
parent 744e586cfe
commit 33876c2fc9
3 changed files with 16 additions and 9 deletions

View File

@ -1855,4 +1855,9 @@
<string name="view_reset_secure_session_done_message">Secure session reset done</string>
<string name="dialog_ui_mode_title">Application theme</string>
<string name="dialog_ui_mode_option_day">Day</string>
<string name="dialog_ui_mode_option_night">Night</string>
<string name="dialog_ui_mode_option_system_default">System default</string>
</resources>

View File

@ -4,10 +4,10 @@ import android.app.Dialog
import android.os.Bundle
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment
import network.loki.messenger.R
import org.thoughtcrime.securesms.loki.utilities.UiMode
import org.thoughtcrime.securesms.loki.utilities.UiModeUtilities
//TODO Use localized string resources.
class ChangeUiModeDialog : DialogFragment() {
companion object {
@ -17,7 +17,7 @@ class ChangeUiModeDialog : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val context = requireContext()
val displayNameList = UiMode.values().map { it.displayName }.toTypedArray()
val displayNameList = UiMode.values().map { getString(it.displayNameRes) }.toTypedArray()
val activeUiMode = UiModeUtilities.getUserSelectedUiMode(context)
return AlertDialog.Builder(context)
@ -27,8 +27,8 @@ class ChangeUiModeDialog : DialogFragment() {
dismiss()
requireActivity().recreate()
}
.setTitle("Application theme")
.setNegativeButton("Cancel") { _, _ -> dismiss() }
.setTitle(R.string.dialog_ui_mode_title)
.setNegativeButton(R.string.cancel) { _, _ -> dismiss() }
.create()
}
}

View File

@ -2,8 +2,10 @@ package org.thoughtcrime.securesms.loki.utilities
import android.content.Context
import android.content.res.Configuration
import androidx.annotation.StringRes
import androidx.appcompat.app.AppCompatDelegate
import androidx.preference.PreferenceManager
import network.loki.messenger.R
/**
* Day/night UI mode related utilities.
@ -52,12 +54,12 @@ object UiModeUtilities {
}
}
//TODO Use localized string resources.
enum class UiMode(
val displayName: String,
@StringRes
val displayNameRes: Int,
val nightModeValue: Int) {
DAY("Day", AppCompatDelegate.MODE_NIGHT_NO),
NIGHT("Night", AppCompatDelegate.MODE_NIGHT_YES),
SYSTEM_DEFAULT("System default", AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
DAY(R.string.dialog_ui_mode_option_day, AppCompatDelegate.MODE_NIGHT_NO),
NIGHT(R.string.dialog_ui_mode_option_night, AppCompatDelegate.MODE_NIGHT_YES),
SYSTEM_DEFAULT(R.string.dialog_ui_mode_option_system_default, AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
}