From 69503f504d10d0445ca3c828b2c5e4760bcf27b6 Mon Sep 17 00:00:00 2001 From: jarnedemeulemeester Date: Sat, 23 Oct 2021 13:35:37 +0200 Subject: [PATCH] Remove hardcoded strings from dialogs --- .../jdtech/jellyfin/dialogs/ErrorDialogFragment.kt | 4 ++-- .../jdtech/jellyfin/dialogs/SortDialogFragment.kt | 4 ++-- .../dialogs/SpeedSelectionDialogFragment.kt | 4 ++-- .../dialogs/TrackSelectionDialogFragment.kt | 13 ++++--------- .../jellyfin/dialogs/VideoVersionDialogFragment.kt | 3 ++- app/src/main/res/values-b+es+419/strings.xml | 3 +-- app/src/main/res/values-es-rMX/strings.xml | 3 +-- app/src/main/res/values-es/strings.xml | 3 +-- app/src/main/res/values/strings.xml | 6 +++++- 9 files changed, 20 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/dev/jdtech/jellyfin/dialogs/ErrorDialogFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/dialogs/ErrorDialogFragment.kt index 6f3ead62..35f386f5 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/dialogs/ErrorDialogFragment.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/dialogs/ErrorDialogFragment.kt @@ -14,9 +14,9 @@ class ErrorDialogFragment(private val errorMessage: String) : DialogFragment() { val builder = MaterialAlertDialogBuilder(it, R.style.ErrorDialogStyle) builder .setMessage(errorMessage) - .setPositiveButton("close") { _, _ -> + .setPositiveButton(getString(R.string.close)) { _, _ -> } - .setNeutralButton("share") { _, _ -> + .setNeutralButton(getString(R.string.share)) { _, _ -> val sendIntent: Intent = Intent().apply { action = Intent.ACTION_SEND putExtra(Intent.EXTRA_TEXT, errorMessage) diff --git a/app/src/main/java/dev/jdtech/jellyfin/dialogs/SortDialogFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/dialogs/SortDialogFragment.kt index 95d3a4b2..50232b99 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/dialogs/SortDialogFragment.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/dialogs/SortDialogFragment.kt @@ -40,7 +40,7 @@ class SortDialogFragment( val sortByOptions = resources.getStringArray(R.array.sort_by_options) val sortByValues = SortBy.values() builder - .setTitle(resources.getString(R.string.sort_by)) + .setTitle(getString(R.string.sort_by)) .setSingleChoiceItems( sortByOptions, currentSortBy.ordinal ) { dialog, which -> @@ -59,7 +59,7 @@ class SortDialogFragment( val sortOrderValues = SortOrder.values() builder - .setTitle(resources.getString(R.string.sort_order)) + .setTitle(getString(R.string.sort_order)) .setSingleChoiceItems( sortByOptions, currentSortOrder.ordinal ) { dialog, which -> diff --git a/app/src/main/java/dev/jdtech/jellyfin/dialogs/SpeedSelectionDialogFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/dialogs/SpeedSelectionDialogFragment.kt index b00fa6c6..c651d1b9 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/dialogs/SpeedSelectionDialogFragment.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/dialogs/SpeedSelectionDialogFragment.kt @@ -4,6 +4,7 @@ import android.app.Dialog import android.os.Bundle import androidx.fragment.app.DialogFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dev.jdtech.jellyfin.R import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel import java.lang.IllegalStateException @@ -14,10 +15,9 @@ class SpeedSelectionDialogFragment( val speedTexts = listOf("0.5x", "0.75x", "1x", "1.25x", "1.5x", "1.75x", "2x") val speedNumbers = listOf(0.5f, 0.75f, 1f, 1.25f, 1.5f, 1.75f, 2f) - return activity?.let { activity -> val builder = MaterialAlertDialogBuilder(activity) - builder.setTitle("Select playback speed") + builder.setTitle(getString(R.string.select_playback_speed)) .setSingleChoiceItems( speedTexts.toTypedArray(), speedNumbers.indexOf(viewModel.playbackSpeed) diff --git a/app/src/main/java/dev/jdtech/jellyfin/dialogs/TrackSelectionDialogFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/dialogs/TrackSelectionDialogFragment.kt index b5b871d4..e16a9515 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/dialogs/TrackSelectionDialogFragment.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/dialogs/TrackSelectionDialogFragment.kt @@ -4,6 +4,7 @@ import android.app.Dialog import android.os.Bundle import androidx.fragment.app.DialogFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dev.jdtech.jellyfin.R import dev.jdtech.jellyfin.mpv.TrackType import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel import java.lang.IllegalStateException @@ -25,7 +26,7 @@ class TrackSelectionDialogFragment( } return activity?.let { activity -> val builder = MaterialAlertDialogBuilder(activity) - builder.setTitle("Select audio track") + builder.setTitle(getString(R.string.select_audio_track)) .setSingleChoiceItems( trackNames.toTypedArray(), viewModel.currentAudioTracks.indexOfFirst { it.selected }) { dialog, which -> @@ -48,7 +49,7 @@ class TrackSelectionDialogFragment( } return activity?.let { activity -> val builder = MaterialAlertDialogBuilder(activity) - builder.setTitle("Select subtitle track") + builder.setTitle(getString(R.string.select_subtile_track)) .setSingleChoiceItems( trackNames.toTypedArray(), viewModel.currentSubtitleTracks.indexOfFirst { it.selected }) { dialog, which -> @@ -62,13 +63,7 @@ class TrackSelectionDialogFragment( } ?: throw IllegalStateException("Activity cannot be null") } else -> { - trackNames = listOf() - return activity?.let { - val builder = MaterialAlertDialogBuilder(it) - builder.setTitle("Select ? track") - .setMessage("Unknown track type") - builder.create() - } ?: throw IllegalStateException("Activity cannot be null") + throw IllegalStateException("TrackType must be AUDIO or SUBTITLE") } } } diff --git a/app/src/main/java/dev/jdtech/jellyfin/dialogs/VideoVersionDialogFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/dialogs/VideoVersionDialogFragment.kt index fc38e1b6..432eec99 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/dialogs/VideoVersionDialogFragment.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/dialogs/VideoVersionDialogFragment.kt @@ -4,6 +4,7 @@ import android.app.Dialog import android.os.Bundle import androidx.fragment.app.DialogFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder +import dev.jdtech.jellyfin.R import dev.jdtech.jellyfin.viewmodels.MediaInfoViewModel import java.lang.IllegalStateException @@ -14,7 +15,7 @@ class VideoVersionDialogFragment( val items = viewModel.item.value?.mediaSources?.map { it.name } return activity?.let { val builder = MaterialAlertDialogBuilder(it) - builder.setTitle("Select a version") + builder.setTitle(getString(R.string.select_a_version)) .setItems(items?.toTypedArray()) { _, which -> viewModel.preparePlayerItems(which) } diff --git a/app/src/main/res/values-b+es+419/strings.xml b/app/src/main/res/values-b+es+419/strings.xml index d058fc8c..4780b2e5 100644 --- a/app/src/main/res/values-b+es+419/strings.xml +++ b/app/src/main/res/values-b+es+419/strings.xml @@ -1,5 +1,4 @@ - Findroid Aplicación nativa de terceros para Jellyfin Emblema Jellyfin Agregar servidor @@ -55,7 +54,7 @@ Política de privacidad Información de la App Error desconocido - Buscar películas, series, episodios... + Buscar películas, series, episodios… Reciente en %1$s Reproductor MPV Usar el reproductor MPV parar reproducir contenidos. MPV soporta mas codecs de video, audio y subtitulos. diff --git a/app/src/main/res/values-es-rMX/strings.xml b/app/src/main/res/values-es-rMX/strings.xml index 9d7acaaf..19129125 100644 --- a/app/src/main/res/values-es-rMX/strings.xml +++ b/app/src/main/res/values-es-rMX/strings.xml @@ -1,5 +1,4 @@ - Findroid Aplicación nativa de terceros para Jellyfin Emblema Jellyfin Agregar servidor @@ -56,7 +55,7 @@ Política de privacidad Información de la App Error desconocido - Buscar películas, series, episodios... + Buscar películas, series, episodios… Reproductor MPV Usar el reproductor MPV parar reproducir contenidos. MPV soporta mas codecs de video, audio y subtitulos. Elegir subtítulo diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 22cc0035..17802913 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -1,5 +1,4 @@ - Findroid Aplicación nativa de terceros para Jellyfin Emblema Jellyfin Agregar servidor @@ -56,7 +55,7 @@ Política de privacidad Información de aplicación Error desconocido - Buscar películas, series, episodios... + Buscar películas, series, episodios… Reproductor MPV Elegir pista de audio Elegir pista de subtitulo diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5b381297..6158ce5b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - Findroid + Findroid Third-party native Jellyfin app Jellyfin banner Add server @@ -57,14 +57,18 @@ App info Unknown error Search movies, shows, episodes… + "Select a version" Select audio track Select subtitle track + Select playback speed MPV Player Use the experimental MPV Player to play videos. MPV has support for more video, audio and subtitle codecs. Force software decoding Disable hardware decoding and use software decoding. Can be useful if hardware decoding gives weird artifacts. Sort by Sort order + Close + Share Name IMDB Rating