From 82365bc9209a58261c4f903b0074f63a975fc9bf Mon Sep 17 00:00:00 2001 From: deniscerri <64997243+deniscerri@users.noreply.github.com> Date: Sun, 15 Jun 2025 12:36:13 +0200 Subject: [PATCH] add system option for language selection --- .../ytdl/ui/more/settings/GeneralSettingsFragment.kt | 12 ++++++++---- .../java/com/deniscerri/ytdl/work/DownloadWorker.kt | 12 ++++++------ app/src/main/res/values/arrays.xml | 2 ++ 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/deniscerri/ytdl/ui/more/settings/GeneralSettingsFragment.kt b/app/src/main/java/com/deniscerri/ytdl/ui/more/settings/GeneralSettingsFragment.kt index 5ebf4cc0..b2de49a3 100644 --- a/app/src/main/java/com/deniscerri/ytdl/ui/more/settings/GeneralSettingsFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdl/ui/more/settings/GeneralSettingsFragment.kt @@ -7,6 +7,7 @@ import android.content.DialogInterface import android.content.Intent import android.content.SharedPreferences import android.content.pm.PackageManager +import android.content.res.Resources import android.net.Uri import android.os.Bundle import android.os.PowerManager @@ -68,12 +69,15 @@ class GeneralSettingsFragment : BaseSettingsFragment() { } findPreference("app_language")?.apply { - if (value.isNullOrBlank()) { - value = Locale.getDefault().language - } + value = Locale.getDefault().language summary = Locale.getDefault().displayLanguage + setOnPreferenceChangeListener { _, newValue -> - AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags(newValue.toString())) + if (newValue == "system") { + AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags(null)) + }else{ + AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags(newValue.toString())) + } summary = Locale.getDefault().displayLanguage true } diff --git a/app/src/main/java/com/deniscerri/ytdl/work/DownloadWorker.kt b/app/src/main/java/com/deniscerri/ytdl/work/DownloadWorker.kt index a4402b53..18b9be1b 100644 --- a/app/src/main/java/com/deniscerri/ytdl/work/DownloadWorker.kt +++ b/app/src/main/java/com/deniscerri/ytdl/work/DownloadWorker.kt @@ -280,9 +280,12 @@ class DownloadWorker( } }catch (e: Exception){ e.printStackTrace() - handler.postDelayed({ - Toast.makeText(context, e.message, Toast.LENGTH_SHORT).show() - }, 1000) + if (e.message?.isNotBlank() == true) { + handler.postDelayed({ + Toast.makeText(context, e.message, Toast.LENGTH_SHORT).show() + }, 1000) + } + } } @@ -387,9 +390,6 @@ class DownloadWorker( } tempFileDir.delete() - handler.postDelayed({ - Toast.makeText(context, it.message, Toast.LENGTH_LONG).show() - }, 1000) Log.e(TAG, context.getString(R.string.failed_download), it) notificationUtil.cancelDownloadNotification(downloadItem.id.toInt()) diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index f1d30b74..2ca4aa38 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -127,6 +127,7 @@ + System English العربية Azərbaycanca @@ -171,6 +172,7 @@ + system en ar az