From 1d41039de224b01715fffd2339bba7a85aeb4431 Mon Sep 17 00:00:00 2001 From: Katharine Chui Date: Wed, 15 Dec 2021 00:26:18 +0800 Subject: [PATCH] 674 currency symbol order fixes (#679) --- .../card_locker/CatimaAppCompatActivity.java | 4 ++-- .../card_locker/LoyaltyCardEditActivity.java | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/protect/card_locker/CatimaAppCompatActivity.java b/app/src/main/java/protect/card_locker/CatimaAppCompatActivity.java index 27c08254f..906e36ea9 100644 --- a/app/src/main/java/protect/card_locker/CatimaAppCompatActivity.java +++ b/app/src/main/java/protect/card_locker/CatimaAppCompatActivity.java @@ -5,11 +5,11 @@ import android.content.SharedPreferences; import android.content.res.Resources; import android.util.TypedValue; -import java.util.HashMap; - import androidx.appcompat.app.AppCompatActivity; import androidx.preference.PreferenceManager; +import java.util.HashMap; + public class CatimaAppCompatActivity extends AppCompatActivity { SharedPreferences pref; diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java index e3cec9049..24d3b29e6 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java @@ -73,6 +73,7 @@ import androidx.core.content.FileProvider; import androidx.exifinterface.media.ExifInterface; import androidx.fragment.app.DialogFragment; import androidx.palette.graphics.Palette; + import protect.card_locker.async.TaskHandler; public class LoyaltyCardEditActivity extends CatimaAppCompatActivity { @@ -176,6 +177,16 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity { final private TaskHandler mTasks = new TaskHandler(); + // store system locale for Build.VERSION.SDK_INT < Build.VERSION_CODES.N + private Locale mSystemLocale; + + @Override + protected void attachBaseContext(Context base) { + // store system locale + mSystemLocale = Locale.getDefault(); + super.attachBaseContext(base); + } + private static LoyaltyCard updateTempState(LoyaltyCard loyaltyCard, LoyaltyCardField fieldName, Object value) { return new LoyaltyCard( (int) (fieldName == LoyaltyCardField.id ? value : loyaltyCard.id), @@ -426,14 +437,14 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { LocaleList locales = getApplicationContext().getResources().getConfiguration().getLocales(); - for (int i = locales.size() - 1; i > 0; i--) { + for (int i = locales.size() - 1; i >= 0; i--) { Locale locale = locales.get(i); String currencySymbol = Currency.getInstance(locale).getSymbol(); currencyList.remove(currencySymbol); currencyList.add(0, currencySymbol); } } else { - String currencySymbol = Currency.getInstance(getApplicationContext().getResources().getConfiguration().locale).getSymbol(); + String currencySymbol = Currency.getInstance(mSystemLocale).getSymbol(); currencyList.remove(currencySymbol); currencyList.add(0, currencySymbol); }