Clean up strings and resources (#8253)
* Clean up strings and resources * fix pringle's typo * restore catching file pick errors * add back file chooser title * revert #7740 and remove try-catch of chooser-wrapped intent * swap xmlns lines * swap xml tools lines
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package eu.kanade.presentation.more.settings.screen
|
||||
|
||||
import android.Manifest
|
||||
import android.content.ActivityNotFoundException
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.widget.Toast
|
||||
@@ -111,7 +113,12 @@ class SettingsBackupScreen : SearchableSettings {
|
||||
onConfirm = {
|
||||
showCreateDialog = false
|
||||
flag = it
|
||||
chooseBackupDir.launch(Backup.getBackupFilename())
|
||||
try {
|
||||
chooseBackupDir.launch(Backup.getBackupFilename())
|
||||
} catch (e: ActivityNotFoundException) {
|
||||
flag = 0
|
||||
context.toast(R.string.file_picker_error)
|
||||
}
|
||||
},
|
||||
onDismissRequest = { showCreateDialog = false },
|
||||
)
|
||||
@@ -260,12 +267,16 @@ class SettingsBackupScreen : SearchableSettings {
|
||||
onDismissRequest = onDismissRequest,
|
||||
title = { Text(text = stringResource(R.string.pref_restore_backup)) },
|
||||
text = {
|
||||
var msg = stringResource(R.string.backup_restore_content_full)
|
||||
if (err.sources.isNotEmpty()) {
|
||||
msg += "\n\n${stringResource(R.string.backup_restore_missing_sources)}\n${err.sources.joinToString("\n") { "- $it" }}"
|
||||
}
|
||||
if (err.sources.isNotEmpty()) {
|
||||
msg += "\n\n${stringResource(R.string.backup_restore_missing_trackers)}\n${err.trackers.joinToString("\n") { "- $it" }}"
|
||||
val msg = buildString {
|
||||
append(stringResource(R.string.backup_restore_content_full))
|
||||
if (err.sources.isNotEmpty()) {
|
||||
append("\n\n").append(stringResource(R.string.backup_restore_missing_sources))
|
||||
err.sources.joinTo(this, separator = "\n- ", prefix = "\n- ")
|
||||
}
|
||||
if (err.trackers.isNotEmpty()) {
|
||||
append("\n\n").append(stringResource(R.string.backup_restore_missing_trackers))
|
||||
err.trackers.joinTo(this, separator = "\n- ", prefix = "\n- ")
|
||||
}
|
||||
}
|
||||
Text(text = msg)
|
||||
},
|
||||
@@ -285,7 +296,14 @@ class SettingsBackupScreen : SearchableSettings {
|
||||
}
|
||||
}
|
||||
|
||||
val chooseBackup = rememberLauncherForActivityResult(ActivityResultContracts.GetContent()) {
|
||||
val chooseBackup = rememberLauncherForActivityResult(
|
||||
object : ActivityResultContracts.GetContent() {
|
||||
override fun createIntent(context: Context, input: String): Intent {
|
||||
val intent = super.createIntent(context, input)
|
||||
return Intent.createChooser(intent, context.getString(R.string.file_select_backup))
|
||||
}
|
||||
},
|
||||
) {
|
||||
if (it != null) {
|
||||
val results = try {
|
||||
BackupFileValidator().validate(context, it)
|
||||
@@ -311,6 +329,7 @@ class SettingsBackupScreen : SearchableSettings {
|
||||
if (DeviceUtil.isMiui && DeviceUtil.isMiuiOptimizationDisabled()) {
|
||||
context.toast(R.string.restore_miui_warning, Toast.LENGTH_LONG)
|
||||
}
|
||||
// no need to catch because it's wrapped with a chooser
|
||||
chooseBackup.launch("*/*")
|
||||
} else {
|
||||
context.toast(R.string.restore_in_progress)
|
||||
@@ -363,7 +382,13 @@ class SettingsBackupScreen : SearchableSettings {
|
||||
subtitle = remember(backupDir) {
|
||||
UniFile.fromUri(context, backupDir.toUri()).filePath!! + "/automatic"
|
||||
},
|
||||
onClick = { pickBackupLocation.launch(null) },
|
||||
onClick = {
|
||||
try {
|
||||
pickBackupLocation.launch(null)
|
||||
} catch (e: ActivityNotFoundException) {
|
||||
context.toast(R.string.file_picker_error)
|
||||
}
|
||||
},
|
||||
),
|
||||
Preference.PreferenceItem.ListPreference(
|
||||
pref = backupPreferences.numberOfBackups(),
|
||||
|
||||
@@ -65,7 +65,7 @@ class SettingsDownloadScreen : SearchableSettings {
|
||||
downloadPreferences = downloadPreferences,
|
||||
categories = allCategories,
|
||||
),
|
||||
getDownloadNewChaptersGroup(
|
||||
getAutoDownloadGroup(
|
||||
downloadPreferences = downloadPreferences,
|
||||
allCategories = allCategories,
|
||||
),
|
||||
@@ -196,7 +196,7 @@ class SettingsDownloadScreen : SearchableSettings {
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun getDownloadNewChaptersGroup(
|
||||
private fun getAutoDownloadGroup(
|
||||
downloadPreferences: DownloadPreferences,
|
||||
allCategories: List<Category>,
|
||||
): Preference.PreferenceGroup {
|
||||
@@ -227,7 +227,7 @@ class SettingsDownloadScreen : SearchableSettings {
|
||||
}
|
||||
|
||||
return Preference.PreferenceGroup(
|
||||
title = stringResource(R.string.pref_download_new),
|
||||
title = stringResource(R.string.pref_category_auto_download),
|
||||
preferenceItems = listOf(
|
||||
Preference.PreferenceItem.SwitchPreference(
|
||||
pref = downloadNewChaptersPref,
|
||||
|
||||
@@ -67,6 +67,7 @@ class SettingsReaderScreen : SearchableSettings {
|
||||
title = stringResource(R.string.pref_page_transitions),
|
||||
),
|
||||
getDisplayGroup(readerPreferences = readerPref),
|
||||
getReadingGroup(readerPreferences = readerPref),
|
||||
getPagedGroup(readerPreferences = readerPref),
|
||||
getWebtoonGroup(readerPreferences = readerPref),
|
||||
getNavigationGroup(readerPreferences = readerPref),
|
||||
@@ -120,6 +121,27 @@ class SettingsReaderScreen : SearchableSettings {
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun getReadingGroup(readerPreferences: ReaderPreferences): Preference.PreferenceGroup {
|
||||
return Preference.PreferenceGroup(
|
||||
title = stringResource(R.string.pref_category_reading),
|
||||
preferenceItems = listOf(
|
||||
Preference.PreferenceItem.SwitchPreference(
|
||||
pref = readerPreferences.skipRead(),
|
||||
title = stringResource(R.string.pref_skip_read_chapters),
|
||||
),
|
||||
Preference.PreferenceItem.SwitchPreference(
|
||||
pref = readerPreferences.skipFiltered(),
|
||||
title = stringResource(R.string.pref_skip_filtered_chapters),
|
||||
),
|
||||
Preference.PreferenceItem.SwitchPreference(
|
||||
pref = readerPreferences.alwaysShowChapterTransition(),
|
||||
title = stringResource(R.string.pref_always_show_chapter_transition),
|
||||
),
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun getPagedGroup(readerPreferences: ReaderPreferences): Preference.PreferenceGroup {
|
||||
val navModePref = readerPreferences.navigationModePager()
|
||||
@@ -308,6 +330,7 @@ class SettingsReaderScreen : SearchableSettings {
|
||||
Preference.PreferenceItem.SwitchPreference(
|
||||
pref = readerPreferences.folderPerManga(),
|
||||
title = stringResource(R.string.pref_create_folder_per_manga),
|
||||
subtitle = stringResource(R.string.pref_create_folder_per_manga_summary),
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user