674 currency symbol order fixes (#679)

This commit is contained in:
Katharine Chui
2021-12-15 00:26:18 +08:00
committed by GitHub
parent 486a2b887e
commit 1d41039de2
2 changed files with 15 additions and 4 deletions

View File

@@ -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;

View File

@@ -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);
}