From 980a35a70835858206165e825e8f5beddd695f44 Mon Sep 17 00:00:00 2001 From: Miles Krell Date: Sat, 15 Mar 2025 23:00:31 -0400 Subject: [PATCH] Move migration to separate method --- app/src/main/java/org/schabi/newpipe/App.java | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/App.java b/app/src/main/java/org/schabi/newpipe/App.java index 992651141..d37c8bc27 100644 --- a/app/src/main/java/org/schabi/newpipe/App.java +++ b/app/src/main/java/org/schabi/newpipe/App.java @@ -127,20 +127,24 @@ public class App extends Application { YoutubeStreamExtractor.setPoTokenProvider(PoTokenProviderImpl.INSTANCE); if (Build.VERSION.SDK_INT >= 33) { - final String appLanguageDefaultValue = getString(R.string.default_localization_key); - final String appLanguageKey = getString(R.string.app_language_key); - final String appLanguageCurrentValue = prefs.getString(appLanguageKey, null); - if (appLanguageCurrentValue != null) { - // Migrate to Android per-app language settings - prefs.edit().remove(appLanguageKey).apply(); - if (!appLanguageCurrentValue.equals(appLanguageDefaultValue)) { - try { - AppCompatDelegate.setApplicationLocales( - LocaleListCompat.forLanguageTags(appLanguageCurrentValue) - ); - } catch (final RuntimeException e) { - Log.e(TAG, "Error migrating to Android 13+ per-app language settings"); - } + ensureAppLanguagePreferenceIsMigrated(prefs); + } + } + + private void ensureAppLanguagePreferenceIsMigrated(final SharedPreferences prefs) { + final String appLanguageDefaultValue = getString(R.string.default_localization_key); + final String appLanguageKey = getString(R.string.app_language_key); + final String appLanguageCurrentValue = prefs.getString(appLanguageKey, null); + if (appLanguageCurrentValue != null) { + // Migrate to Android per-app language settings + prefs.edit().remove(appLanguageKey).apply(); + if (!appLanguageCurrentValue.equals(appLanguageDefaultValue)) { + try { + AppCompatDelegate.setApplicationLocales( + LocaleListCompat.forLanguageTags(appLanguageCurrentValue) + ); + } catch (final RuntimeException e) { + Log.e(TAG, "Error migrating to Android 13+ per-app language settings"); } } }