From 12f9386fac93b947c9e32a1e3908e40813cc7a2e Mon Sep 17 00:00:00 2001 From: cpfeiffer Date: Mon, 31 Jul 2017 23:00:02 +0200 Subject: [PATCH] Also handle resetting language to default properly #733 --- .../freeyourgadget/gadgetbridge/GBApplication.java | 10 ++++------ .../gadgetbridge/activities/SettingsActivity.java | 3 +-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java index 2b45bd3b..298ed18d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java @@ -163,7 +163,7 @@ public class GBApplication extends Application { deviceManager = new DeviceManager(this); String language = prefs.getString("language", "default"); - setLanguage(language, null); + setLanguage(language); deviceService = createDeviceService(); loadBlackList(); @@ -475,9 +475,9 @@ public class GBApplication extends Application { editor.apply(); } - public static void setLanguage(String lang, @Nullable Context baseContext) { + public static void setLanguage(String lang) { if (lang.equals("default")) { - language = Locale.getDefault(); + language = Resources.getSystem().getConfiguration().locale; } else { language = new Locale(lang); } @@ -486,9 +486,7 @@ public class GBApplication extends Application { // FIXME: I have no idea what I am doing context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics()); - if (baseContext != null) { - baseContext.getResources().updateConfiguration(config, baseContext.getResources().getDisplayMetrics()); - } + Intent intent = new Intent(); intent.setAction(ACTION_LANGUAGE_CHANGE); LocalBroadcastManager.getInstance(context).sendBroadcast(intent); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java index 35c7f4c7..3e0066bc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java @@ -149,8 +149,7 @@ public class SettingsActivity extends AbstractSettingsActivity { public boolean onPreferenceChange(Preference preference, Object newVal) { String newLang = newVal.toString(); try { - GBApplication.setLanguage(newLang, getBaseContext()); -// recreate(); + GBApplication.setLanguage(newLang); } catch (Exception ex) { GB.toast(getApplicationContext(), "Error setting language: " + ex.getLocalizedMessage(),