Fix Android 13+ per-app language sync using LocaleManager API#36
Open
nesquikm wants to merge 2 commits intojakex7:mainfrom
Open
Fix Android 13+ per-app language sync using LocaleManager API#36nesquikm wants to merge 2 commits intojakex7:mainfrom
nesquikm wants to merge 2 commits intojakex7:mainfrom
Conversation
- Use LocaleManager.applicationLocales for both GET and SET operations - This ensures language changes sync properly with Android Settings - Fixes issue where AppCompatDelegate didn't update system settings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
On Android 13+ (API 33+), reading and setting per-app language via
AppCompatDelegatedoesn't properly sync with the system's per-applanguage settings. This causes:
getLanguage()Solution
Use
LocaleManagerAPI directly for Android 13+:getCurrentLanguage()now reads fromlocaleManager.applicationLocalessetCurrentLanguage()now writes tolocaleManager.applicationLocalesFalls back to existing
AppCompatDelegatebehavior for older Android versions (< API 33).Changes
LocalizationSettingsModule.ktto use systemLocaleManagerfor API 33+LocaleManagerandLocaleListTesting