apps-android-commons icon indicating copy to clipboard operation
apps-android-commons copied to clipboard

Fixing #5755 with UI automator tests

Open Mc-Hhuang opened this issue 1 year ago • 1 comments

Implementing per-app language preferences. Fixes #5755

What changes did you make and why?

Gradle Files: Add Appcompat_version= “1.7.0” and added a new dependency for app-compat-resources.

AndroidManifest.xml: AppLocalesMetedataHolderService handles language setting persistence and provides the infrasturture for language switching on Android 12 and below.

MainActivity.java: loadLocale() method was removed as the language handling now occurs through AppCompat API.

SettingsFragments.java: Uses LocaleListCompat methods to create the list of locales based on selected language Uses AppCompatDelegate methods to apply the locale across the app UI. AppCompatDelegate.setApplicationLocales() is used to handle compatability issues across Adroid versions and handles persistent stoage of language switching so you don’t need to manually restart the activity.

Tests Performed (required): AppLanguagesSystemTest.java in test package fr.free.nrw.commons.ui: Added a new system test which sues a UI automator to verify the apps languages can be set through the system settings and reflect in the UI. Tested ProdDebug on Pixel 6 with API level 33.

Screenshots (for UI changes only) Screenshot 2024-10-25 at 1 49 52 pm Screenshot 2024-10-25 at 1 49 59 pm

Mc-Hhuang avatar Oct 25 '24 03:10 Mc-Hhuang

Just to be clear, this is a pr made by my group member.

Adeeth101 avatar Oct 25 '24 07:10 Adeeth101

Would you mind fixing the conflict? Thanks!

nicolas-raoul avatar Nov 15 '24 10:11 nicolas-raoul

Hello @nicolas-raoul

Huge apologies for the late reply. Ill fix it today.

Adeeth101 avatar Dec 20 '24 04:12 Adeeth101

This seems like a very good patch over all. Thank you!

I think I can resolve most merge conflicts, but I have some other questions before merging that way.

  • is it necessary to bump the kotlin version?
  • is it necessary to change the idea xml file?

whym avatar May 02 '25 13:05 whym