From 37bb9c86f44d75e4f688283bc4048ee356f13316 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Mon, 23 Aug 2021 00:59:31 +0200 Subject: [PATCH] More small cleanups --- .../card_locker/CatimaAppCompatActivity.java | 44 ++++++++++--------- .../main/java/protect/card_locker/Utils.java | 9 ++-- .../importexport/StocardImporter.java | 4 +- .../BarcodeSelectorActivityTest.java | 6 +-- .../protect/card_locker/DatabaseTest.java | 12 ++--- .../card_locker/ImportExportActivityTest.java | 6 +-- .../protect/card_locker/ImportExportTest.java | 13 +++--- .../protect/card_locker/ImportURITest.java | 8 ++-- .../LoyaltyCardCursorAdapterTest.java | 11 +++-- .../LoyaltyCardViewActivityTest.java | 24 +++++----- .../protect/card_locker/MainActivityTest.java | 14 +++--- .../java/protect/card_locker/UtilsTest.java | 4 +- 12 files changed, 76 insertions(+), 79 deletions(-) diff --git a/app/src/main/java/protect/card_locker/CatimaAppCompatActivity.java b/app/src/main/java/protect/card_locker/CatimaAppCompatActivity.java index 791f1dc31..e67c3cd39 100644 --- a/app/src/main/java/protect/card_locker/CatimaAppCompatActivity.java +++ b/app/src/main/java/protect/card_locker/CatimaAppCompatActivity.java @@ -3,14 +3,21 @@ package protect.card_locker; import android.content.Context; import android.content.SharedPreferences; import android.content.res.Resources; +import android.util.Log; import android.util.TypedValue; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import androidx.appcompat.app.AppCompatActivity; import androidx.preference.PreferenceManager; public class CatimaAppCompatActivity extends AppCompatActivity { SharedPreferences pref; + HashMap supportedThemes; @Override protected void attachBaseContext(Context base) { @@ -20,33 +27,28 @@ public class CatimaAppCompatActivity extends AppCompatActivity { @Override public Resources.Theme getTheme() { + if (supportedThemes == null) { + supportedThemes = new HashMap<>(); + supportedThemes.put(getString(R.string.settings_key_blue_theme), R.style.AppTheme_blue); + supportedThemes.put(getString(R.string.settings_key_brown_theme), R.style.AppTheme_brown); + supportedThemes.put(getString(R.string.settings_key_green_theme), R.style.AppTheme_green); + supportedThemes.put(getString(R.string.settings_key_grey_theme), R.style.AppTheme_grey); + supportedThemes.put(getString(R.string.settings_key_magenta_theme), R.style.AppTheme_magenta); + supportedThemes.put(getString(R.string.settings_key_pink_theme), R.style.AppTheme_pink); + supportedThemes.put(getString(R.string.settings_key_sky_blue_theme), R.style.AppTheme_sky_blue); + supportedThemes.put(getString(R.string.settings_key_violet_theme), R.style.AppTheme_violet); + } + Resources.Theme theme = super.getTheme(); pref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); - String themeName = pref.getString("pref_theme_color", getString(R.string.settings_key_catima_theme)); - if (themeName.equals(getString(R.string.settings_key_brown_theme))){ - theme.applyStyle(R.style.AppTheme_brown, true); - } else if(themeName.equals(getString(R.string.settings_key_pink_theme))){ - theme.applyStyle(R.style.AppTheme_pink, true); - } else if(themeName.equals(getString(R.string.settings_key_magenta_theme))){ - theme.applyStyle(R.style.AppTheme_magenta, true); - } else if(themeName.equals(getString(R.string.settings_key_violet_theme))){ - theme.applyStyle(R.style.AppTheme_violet, true); - } else if(themeName.equals(getString(R.string.settings_key_blue_theme))){ - theme.applyStyle(R.style.AppTheme_blue, true); - } else if(themeName.equals(getString(R.string.settings_key_sky_blue_theme))){ - theme.applyStyle(R.style.AppTheme_sky_blue, true); - } else if(themeName.equals(getString(R.string.settings_key_green_theme))){ - theme.applyStyle(R.style.AppTheme_green, true); - } else if(themeName.equals(getString(R.string.settings_key_grey_theme))){ - theme.applyStyle(R.style.AppTheme_grey, true); - } else { - theme.applyStyle(R.style.AppTheme_NoActionBar, true); - } + String themeName = pref.getString(getString(R.string.setting_key_theme_color), getString(R.string.settings_key_catima_theme)); + + theme.applyStyle(Utils.mapGetOrDefault(supportedThemes, themeName, R.style.AppTheme_NoActionBar), true); return theme; } - public int getThemeColor(){ + public int getThemeColor() { TypedValue typedValue = new TypedValue(); Resources.Theme theme = getTheme(); theme.resolveAttribute(R.attr.colorPrimary, typedValue, true); diff --git a/app/src/main/java/protect/card_locker/Utils.java b/app/src/main/java/protect/card_locker/Utils.java index 52a91b951..ecfa246c9 100644 --- a/app/src/main/java/protect/card_locker/Utils.java +++ b/app/src/main/java/protect/card_locker/Utils.java @@ -39,6 +39,7 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Locale; +import java.util.Map; import protect.card_locker.preferences.Settings; @@ -339,18 +340,14 @@ public class Utils { return retrieveCardImage(context, getCardImageFileName(loyaltyCardId, front)); } - static public Object hashmapGetOrDefault(HashMap hashMap, Object key, Object defaultValue, Class keyType) { - Object value = hashMap.get(keyType.cast(key)); + static public U mapGetOrDefault(Map map, T key, U defaultValue) { + U value = map.get(key); if (value == null) { return defaultValue; } return value; } - static public Object hashmapGetOrDefault(HashMap hashMap, String key, Object defaultValue) { - return hashmapGetOrDefault(hashMap, key, defaultValue, String.class); - } - static public Locale stringToLocale(String localeString) { String[] localeParts = localeString.split("-"); if (localeParts.length == 1) { diff --git a/app/src/main/java/protect/card_locker/importexport/StocardImporter.java b/app/src/main/java/protect/card_locker/importexport/StocardImporter.java index 7e7bdd50f..fefeeebe2 100644 --- a/app/src/main/java/protect/card_locker/importexport/StocardImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/StocardImporter.java @@ -162,9 +162,9 @@ public class StocardImporter implements Importer HashMap providerData = providers.get(providerId); String store = providerData != null ? providerData.get("name") : providerId; - String note = (String) Utils.hashmapGetOrDefault(loyaltyCardData, "note", ""); + String note = (String) Utils.mapGetOrDefault(loyaltyCardData, "note", ""); String cardId = (String) loyaltyCardData.get("cardId"); - String barcodeTypeString = (String) Utils.hashmapGetOrDefault(loyaltyCardData, "barcodeType", providerData != null ? providerData.get("barcodeFormat") : null); + String barcodeTypeString = (String) Utils.mapGetOrDefault(loyaltyCardData, "barcodeType", providerData != null ? providerData.get("barcodeFormat") : null); BarcodeFormat barcodeType = null; if (barcodeTypeString != null) { if (barcodeTypeString.equals("RSS_DATABAR_EXPANDED")) { diff --git a/app/src/test/java/protect/card_locker/BarcodeSelectorActivityTest.java b/app/src/test/java/protect/card_locker/BarcodeSelectorActivityTest.java index ce88f28e4..993355c56 100644 --- a/app/src/test/java/protect/card_locker/BarcodeSelectorActivityTest.java +++ b/app/src/test/java/protect/card_locker/BarcodeSelectorActivityTest.java @@ -1,8 +1,5 @@ package protect.card_locker; -import static org.junit.Assert.assertEquals; -import static org.robolectric.Shadows.shadowOf; - import android.app.Activity; import android.content.Intent; import android.os.Looper; @@ -17,6 +14,9 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; +import static org.junit.Assert.assertEquals; +import static org.robolectric.Shadows.shadowOf; + @RunWith(RobolectricTestRunner.class) @Config(sdk = 23) public class BarcodeSelectorActivityTest { diff --git a/app/src/test/java/protect/card_locker/DatabaseTest.java b/app/src/test/java/protect/card_locker/DatabaseTest.java index 3caaf92a0..632bd3341 100644 --- a/app/src/test/java/protect/card_locker/DatabaseTest.java +++ b/app/src/test/java/protect/card_locker/DatabaseTest.java @@ -1,11 +1,5 @@ package protect.card_locker; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; @@ -26,6 +20,12 @@ import java.util.ArrayList; import java.util.Currency; import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + @RunWith(RobolectricTestRunner.class) @Config(sdk = 23) public class DatabaseTest diff --git a/app/src/test/java/protect/card_locker/ImportExportActivityTest.java b/app/src/test/java/protect/card_locker/ImportExportActivityTest.java index c950d21ba..7b08ccbb7 100644 --- a/app/src/test/java/protect/card_locker/ImportExportActivityTest.java +++ b/app/src/test/java/protect/card_locker/ImportExportActivityTest.java @@ -1,8 +1,5 @@ package protect.card_locker; -import static org.junit.Assert.assertEquals; -import static org.robolectric.Shadows.shadowOf; - import android.app.Activity; import android.content.Intent; import android.content.pm.ActivityInfo; @@ -18,6 +15,9 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; +import static org.junit.Assert.assertEquals; +import static org.robolectric.Shadows.shadowOf; + @RunWith(RobolectricTestRunner.class) @Config(sdk = 23) public class ImportExportActivityTest diff --git a/app/src/test/java/protect/card_locker/ImportExportTest.java b/app/src/test/java/protect/card_locker/ImportExportTest.java index f0537f34d..87a2becf7 100644 --- a/app/src/test/java/protect/card_locker/ImportExportTest.java +++ b/app/src/test/java/protect/card_locker/ImportExportTest.java @@ -1,10 +1,5 @@ package protect.card_locker; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - import android.app.Activity; import android.database.Cursor; import android.graphics.Bitmap; @@ -14,8 +9,6 @@ import android.graphics.drawable.BitmapDrawable; import android.os.Environment; import android.util.DisplayMetrics; -import androidx.core.content.res.ResourcesCompat; - import com.google.zxing.BarcodeFormat; import org.json.JSONException; @@ -48,11 +41,17 @@ import java.util.Date; import java.util.HashMap; import java.util.List; +import androidx.core.content.res.ResourcesCompat; import protect.card_locker.importexport.DataFormat; import protect.card_locker.importexport.ImportExportResult; import protect.card_locker.importexport.MultiFormatExporter; import protect.card_locker.importexport.MultiFormatImporter; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + @RunWith(RobolectricTestRunner.class) @Config(sdk = 23) public class ImportExportTest diff --git a/app/src/test/java/protect/card_locker/ImportURITest.java b/app/src/test/java/protect/card_locker/ImportURITest.java index e3afbf252..3a15d4796 100644 --- a/app/src/test/java/protect/card_locker/ImportURITest.java +++ b/app/src/test/java/protect/card_locker/ImportURITest.java @@ -1,9 +1,5 @@ package protect.card_locker; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - import android.app.Activity; import android.graphics.Color; import android.net.Uri; @@ -23,6 +19,10 @@ import java.math.BigDecimal; import java.util.Currency; import java.util.Date; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + @RunWith(RobolectricTestRunner.class) @Config(sdk = 23) public class ImportURITest { diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java index e6428122b..2ee875b24 100644 --- a/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java +++ b/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java @@ -1,9 +1,5 @@ package protect.card_locker; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertTrue; - import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; @@ -13,8 +9,6 @@ import android.view.View; import android.widget.ImageView; import android.widget.TextView; -import androidx.preference.PreferenceManager; - import com.google.zxing.BarcodeFormat; import org.junit.Before; @@ -30,8 +24,13 @@ import java.text.DateFormat; import java.util.Currency; import java.util.Date; +import androidx.preference.PreferenceManager; import protect.card_locker.preferences.Settings; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; + @RunWith(RobolectricTestRunner.class) @Config(sdk = 23) public class LoyaltyCardCursorAdapterTest diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java index f69c062b5..27aaf2f72 100644 --- a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java +++ b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java @@ -1,13 +1,5 @@ package protect.card_locker; -import static android.os.Looper.getMainLooper; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.robolectric.Shadows.shadowOf; - import android.app.Activity; import android.app.DatePickerDialog; import android.content.Context; @@ -34,10 +26,6 @@ import android.widget.ImageView; import android.widget.SeekBar; import android.widget.TextView; -import androidx.appcompat.app.AlertDialog; -import androidx.core.widget.TextViewCompat; -import androidx.preference.PreferenceManager; - import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.tabs.TabLayout; import com.google.android.material.textfield.MaterialAutoCompleteTextView; @@ -64,6 +52,18 @@ import java.text.ParseException; import java.util.Currency; import java.util.Date; +import androidx.appcompat.app.AlertDialog; +import androidx.core.widget.TextViewCompat; +import androidx.preference.PreferenceManager; + +import static android.os.Looper.getMainLooper; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.robolectric.Shadows.shadowOf; + @RunWith(RobolectricTestRunner.class) @Config(sdk = 23) public class LoyaltyCardViewActivityTest diff --git a/app/src/test/java/protect/card_locker/MainActivityTest.java b/app/src/test/java/protect/card_locker/MainActivityTest.java index 8523f3eef..5af125eb4 100644 --- a/app/src/test/java/protect/card_locker/MainActivityTest.java +++ b/app/src/test/java/protect/card_locker/MainActivityTest.java @@ -1,10 +1,5 @@ package protect.card_locker; -import static android.os.Looper.getMainLooper; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.robolectric.Shadows.shadowOf; - import android.app.Activity; import android.content.ComponentName; import android.content.SharedPreferences; @@ -13,8 +8,6 @@ import android.view.Menu; import android.view.View; import android.widget.TextView; -import androidx.recyclerview.widget.RecyclerView; - import com.google.android.material.tabs.TabLayout; import com.google.zxing.BarcodeFormat; @@ -30,6 +23,13 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import androidx.recyclerview.widget.RecyclerView; + +import static android.os.Looper.getMainLooper; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.robolectric.Shadows.shadowOf; + @RunWith(RobolectricTestRunner.class) @Config(sdk = 23) public class MainActivityTest diff --git a/app/src/test/java/protect/card_locker/UtilsTest.java b/app/src/test/java/protect/card_locker/UtilsTest.java index f09f05f1b..53e4d76ca 100644 --- a/app/src/test/java/protect/card_locker/UtilsTest.java +++ b/app/src/test/java/protect/card_locker/UtilsTest.java @@ -1,7 +1,5 @@ package protect.card_locker; -import static org.junit.Assert.assertEquals; - import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; @@ -10,6 +8,8 @@ import org.robolectric.annotation.Config; import java.math.BigDecimal; import java.util.Currency; +import static org.junit.Assert.assertEquals; + @RunWith(RobolectricTestRunner.class) @Config(sdk = 23) public class UtilsTest