chore: extract strings from settings
This commit is contained in:
parent
ab9b92035e
commit
6e349b84c0
3 changed files with 38 additions and 30 deletions
|
@ -3,7 +3,6 @@ package ani.dantotsu.settings
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.app.AlarmManager
|
import android.app.AlarmManager
|
||||||
import android.app.AlertDialog
|
import android.app.AlertDialog
|
||||||
import android.content.ComponentName
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.drawable.Animatable
|
import android.graphics.drawable.Animatable
|
||||||
|
@ -22,7 +21,6 @@ import android.view.animation.AnimationUtils
|
||||||
import android.view.inputmethod.EditorInfo
|
import android.view.inputmethod.EditorInfo
|
||||||
import android.widget.ArrayAdapter
|
import android.widget.ArrayAdapter
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.activity.OnBackPressedCallback
|
import androidx.activity.OnBackPressedCallback
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.annotation.OptIn
|
import androidx.annotation.OptIn
|
||||||
|
@ -114,7 +112,6 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
private var cursedCounter = 0
|
private var cursedCounter = 0
|
||||||
|
|
||||||
@OptIn(UnstableApi::class)
|
@OptIn(UnstableApi::class)
|
||||||
@SuppressLint("SetTextI18n", "Recycle")
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
ThemeManager(this).applyTheme()
|
ThemeManager(this).applyTheme()
|
||||||
|
@ -347,9 +344,8 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
}
|
}
|
||||||
|
|
||||||
val themeString: String = PrefManager.getVal(PrefName.Theme)
|
val themeString: String = PrefManager.getVal(PrefName.Theme)
|
||||||
themeSwitcher.setText(
|
val themeText = themeString.substring(0, 1) + themeString.substring(1).lowercase()
|
||||||
themeString.substring(0, 1) + themeString.substring(1).lowercase()
|
themeSwitcher.setText(themeText)
|
||||||
)
|
|
||||||
|
|
||||||
themeSwitcher.setAdapter(
|
themeSwitcher.setAdapter(
|
||||||
ArrayAdapter(
|
ArrayAdapter(
|
||||||
|
@ -580,7 +576,7 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
val editText = dialogView.findViewById<TextInputEditText>(R.id.userAgentTextBox)
|
val editText = dialogView.findViewById<TextInputEditText>(R.id.userAgentTextBox)
|
||||||
editText.setText(PrefManager.getVal<String>(PrefName.DefaultUserAgent))
|
editText.setText(PrefManager.getVal<String>(PrefName.DefaultUserAgent))
|
||||||
val alertDialog = AlertDialog.Builder(this@SettingsActivity, R.style.MyPopup)
|
val alertDialog = AlertDialog.Builder(this@SettingsActivity, R.style.MyPopup)
|
||||||
.setTitle("User Agent")
|
.setTitle(R.string.user_agent)
|
||||||
.setView(dialogView)
|
.setView(dialogView)
|
||||||
.setPositiveButton(getString(R.string.ok)) { dialog, _ ->
|
.setPositiveButton(getString(R.string.ok)) { dialog, _ ->
|
||||||
PrefManager.setVal(PrefName.DefaultUserAgent, editText.text.toString())
|
PrefManager.setVal(PrefName.DefaultUserAgent, editText.text.toString())
|
||||||
|
@ -645,13 +641,13 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
) { _, which, isChecked ->
|
) { _, which, isChecked ->
|
||||||
selectedArray[which] = isChecked
|
selectedArray[which] = isChecked
|
||||||
}
|
}
|
||||||
.setPositiveButton("Import...") { dialog, _ ->
|
.setPositiveButton(R.string.button_import) { dialog, _ ->
|
||||||
openDocumentLauncher.launch(arrayOf("*/*"))
|
openDocumentLauncher.launch(arrayOf("*/*"))
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
}
|
}
|
||||||
.setNegativeButton("Export...") { dialog, _ ->
|
.setNegativeButton(R.string.button_export) { dialog, _ ->
|
||||||
if (!selectedArray.contains(true)) {
|
if (!selectedArray.contains(true)) {
|
||||||
toast("No location selected")
|
toast(R.string.no_location_selected)
|
||||||
return@setNegativeButton
|
return@setNegativeButton
|
||||||
}
|
}
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
|
@ -667,7 +663,7 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
password
|
password
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
toast("Password cannot be empty")
|
toast(R.string.password_cannot_be_empty)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -679,7 +675,7 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.setNeutralButton("Cancel") { dialog, _ ->
|
.setNeutralButton(R.string.cancel) { dialog, _ ->
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
}
|
}
|
||||||
.create()
|
.create()
|
||||||
|
@ -877,9 +873,9 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
settingsNotificationsUseAlarmManager.setOnCheckedChangeListener { _, isChecked ->
|
settingsNotificationsUseAlarmManager.setOnCheckedChangeListener { _, isChecked ->
|
||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
val alertDialog = AlertDialog.Builder(this@SettingsActivity, R.style.MyPopup)
|
val alertDialog = AlertDialog.Builder(this@SettingsActivity, R.style.MyPopup)
|
||||||
.setTitle("Use Alarm Manager")
|
.setTitle(R.string.use_alarm_manager)
|
||||||
.setMessage("Using Alarm Manger can help fight against battery optimization, but may consume more battery. It also requires the Alarm Manager permission.")
|
.setMessage(R.string.use_alarm_manager_confirm)
|
||||||
.setPositiveButton("Use") { dialog, _ ->
|
.setPositiveButton(R.string.use) { dialog, _ ->
|
||||||
PrefManager.setVal(PrefName.UseAlarmManager, true)
|
PrefManager.setVal(PrefName.UseAlarmManager, true)
|
||||||
if (SDK_INT >= Build.VERSION_CODES.S) {
|
if (SDK_INT >= Build.VERSION_CODES.S) {
|
||||||
if (!(getSystemService(Context.ALARM_SERVICE) as AlarmManager).canScheduleExactAlarms()) {
|
if (!(getSystemService(Context.ALARM_SERVICE) as AlarmManager).canScheduleExactAlarms()) {
|
||||||
|
@ -890,7 +886,7 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
}
|
}
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
}
|
}
|
||||||
.setNegativeButton("Cancel") { dialog, _ ->
|
.setNegativeButton(R.string.cancel) { dialog, _ ->
|
||||||
settingsNotificationsCheckingSubscriptions.isChecked = false
|
settingsNotificationsCheckingSubscriptions.isChecked = false
|
||||||
PrefManager.setVal(PrefName.UseAlarmManager, false)
|
PrefManager.setVal(PrefName.UseAlarmManager, false)
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
|
@ -1022,18 +1018,17 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
if (Random.nextInt(0, 100) > 69) {
|
if (Random.nextInt(0, 100) > 69) {
|
||||||
CustomBottomDialog.newInstance().apply {
|
CustomBottomDialog.newInstance().apply {
|
||||||
title = "Enjoying the App?"
|
title = getString(R.string.enjoying_app)
|
||||||
addView(TextView(this@SettingsActivity).apply {
|
addView(TextView(this@SettingsActivity).apply {
|
||||||
text =
|
text = context.getString(R.string.consider_donating)
|
||||||
"Consider donating!"
|
|
||||||
})
|
})
|
||||||
|
|
||||||
setNegativeButton("no moners :(") {
|
setNegativeButton(getString(R.string.no_moners)) {
|
||||||
snackString("That's alright, you'll be a rich man soon :prayge:")
|
snackString(R.string.you_be_rich)
|
||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
|
|
||||||
setPositiveButton("denote :)") {
|
setPositiveButton(getString(R.string.donate)) {
|
||||||
binding.settingBuyMeCoffee.performClick()
|
binding.settingBuyMeCoffee.performClick()
|
||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
|
@ -1066,7 +1061,7 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
context.packageName
|
context.packageName
|
||||||
)!!.component
|
)!!.component
|
||||||
)
|
)
|
||||||
setAction("Do it!") {
|
setAction(getString(R.string.do_it)) {
|
||||||
context.startActivity(mainIntent)
|
context.startActivity(mainIntent)
|
||||||
Runtime.getRuntime().exit(0)
|
Runtime.getRuntime().exit(0)
|
||||||
}
|
}
|
||||||
|
@ -1080,14 +1075,14 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene
|
||||||
// Inflate the dialog layout
|
// Inflate the dialog layout
|
||||||
val dialogView = LayoutInflater.from(this).inflate(R.layout.dialog_user_agent, null)
|
val dialogView = LayoutInflater.from(this).inflate(R.layout.dialog_user_agent, null)
|
||||||
val box = dialogView.findViewById<TextInputEditText>(R.id.userAgentTextBox)
|
val box = dialogView.findViewById<TextInputEditText>(R.id.userAgentTextBox)
|
||||||
box?.hint = "Password"
|
box?.hint = getString(R.string.password)
|
||||||
box?.setSingleLine()
|
box?.setSingleLine()
|
||||||
|
|
||||||
val dialog = AlertDialog.Builder(this, R.style.MyPopup)
|
val dialog = AlertDialog.Builder(this, R.style.MyPopup)
|
||||||
.setTitle(getString(R.string.enter_password))
|
.setTitle(getString(R.string.enter_password))
|
||||||
.setView(dialogView)
|
.setView(dialogView)
|
||||||
.setPositiveButton("OK", null)
|
.setPositiveButton(R.string.ok, null)
|
||||||
.setNegativeButton("Cancel") { dialog, _ ->
|
.setNegativeButton(R.string.cancel) { dialog, _ ->
|
||||||
password.fill('0')
|
password.fill('0')
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
callback(null)
|
callback(null)
|
||||||
|
|
|
@ -148,7 +148,7 @@
|
||||||
android:elegantTextHeight="true"
|
android:elegantTextHeight="true"
|
||||||
android:fontFamily="@font/poppins_bold"
|
android:fontFamily="@font/poppins_bold"
|
||||||
android:minHeight="64dp"
|
android:minHeight="64dp"
|
||||||
android:text="@string/use_alarm_manager"
|
android:text="@string/use_alarm_manager_reliable"
|
||||||
android:textAlignment="viewStart"
|
android:textAlignment="viewStart"
|
||||||
android:textColor="?attr/colorOnBackground"
|
android:textColor="?attr/colorOnBackground"
|
||||||
app:cornerRadius="0dp"
|
app:cornerRadius="0dp"
|
||||||
|
|
|
@ -394,7 +394,10 @@
|
||||||
\n\n_It is not required to sync both MAL and Anilist accounts._
|
\n\n_It is not required to sync both MAL and Anilist accounts._
|
||||||
</string>
|
</string>
|
||||||
<string name="notification_for_checking_subscriptions">Show notification for Checking Subscriptions</string>
|
<string name="notification_for_checking_subscriptions">Show notification for Checking Subscriptions</string>
|
||||||
<string name="use_alarm_manager">Use Alarm Manager for reliable Notifications</string>
|
<string name="use_alarm_manager">Use Alarm Manager</string>
|
||||||
|
<string name="use_alarm_manager_reliable">Use Alarm Manager for reliable Notifications</string>
|
||||||
|
<string name="use_alarm_manager_confirm">Using Alarm Manger can help fight against battery optimization, but may consume more battery. It also requires the Alarm Manager permission.</string>
|
||||||
|
<string name="use">Use</string>
|
||||||
<string name="checking_subscriptions">Notification for Checking Subscriptions</string>
|
<string name="checking_subscriptions">Notification for Checking Subscriptions</string>
|
||||||
<string name="subscriptions_checking_time_s">Subscriptions Update Frequency : %1$s</string>
|
<string name="subscriptions_checking_time_s">Subscriptions Update Frequency : %1$s</string>
|
||||||
<string name="subscriptions_checking_time">Subscriptions Update Frequency</string>
|
<string name="subscriptions_checking_time">Subscriptions Update Frequency</string>
|
||||||
|
@ -412,7 +415,7 @@
|
||||||
<string name="long_click_to_check_update">You Long Click the button to check for App Update</string>
|
<string name="long_click_to_check_update">You Long Click the button to check for App Update</string>
|
||||||
<string name="saved_to_path">Saved to:\n%s</string>
|
<string name="saved_to_path">Saved to:\n%s</string>
|
||||||
<string name="setting_progress">Setting progress to %1$d</string>
|
<string name="setting_progress">Setting progress to %1$d</string>
|
||||||
<string name="login_anilist_account">Please Login into anilist account!</string>
|
<string name="login_anilist_account">Please Login into AniList account!</string>
|
||||||
<string name="congrats_vro">Congrats Vro</string>
|
<string name="congrats_vro">Congrats Vro</string>
|
||||||
<string name="please_reload">Please Reload.</string>
|
<string name="please_reload">Please Reload.</string>
|
||||||
<string name="copied_text">Copied "%1$s"</string>
|
<string name="copied_text">Copied "%1$s"</string>
|
||||||
|
@ -512,7 +515,7 @@
|
||||||
<string name="speed">Speed</string>
|
<string name="speed">Speed</string>
|
||||||
<string name="auto_update">Auto Update progress for %1$s?</string>
|
<string name="auto_update">Auto Update progress for %1$s?</string>
|
||||||
<string name="continue_from">Continue from %1$s?</string>
|
<string name="continue_from">Continue from %1$s?</string>
|
||||||
<string name="title_update_progress">Update progress on anilist?</string>
|
<string name="title_update_progress">Update progress on AniList?</string>
|
||||||
<string name="incognito_will_not_update">Incognito mode will still ignore progress.</string>
|
<string name="incognito_will_not_update">Incognito mode will still ignore progress.</string>
|
||||||
<string name="dont_ask_again">"Don\'t ask again for %1$s"</string>
|
<string name="dont_ask_again">"Don\'t ask again for %1$s"</string>
|
||||||
<string name="default_speed">Default Speed</string>
|
<string name="default_speed">Default Speed</string>
|
||||||
|
@ -788,4 +791,14 @@ Non quae tempore quo provident laudantium qui illo dolor vel quia dolor et exerc
|
||||||
<string name="video_quality">Quality: %1$dp</string>
|
<string name="video_quality">Quality: %1$dp</string>
|
||||||
<string name="size_unknown">Unknown Size</string>
|
<string name="size_unknown">Unknown Size</string>
|
||||||
<string name="mb_size">%1$s MB</string>
|
<string name="mb_size">%1$s MB</string>
|
||||||
|
<string name="button_import">Import…</string>
|
||||||
|
<string name="button_export">Export…</string>
|
||||||
|
<string name="no_location_selected">No location selected</string>
|
||||||
|
<string name="enjoying_app">Enjoying the App?</string>
|
||||||
|
<string name="consider_donating">Consider donating!</string>
|
||||||
|
<string name="no_moners">no moners :(</string>
|
||||||
|
<string name="you_be_rich">That\'s alright, you\'ll be a rich man soon :prayge:</string>
|
||||||
|
<string name="donate">donate :)</string>
|
||||||
|
<string name="do_it">Do it!</string>
|
||||||
|
<string name="password">Password</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue