From 3a97d6b191fa14fa9511d440dc3080b308b9cbb1 Mon Sep 17 00:00:00 2001 From: Arshbeer Singh Date: Tue, 27 Oct 2020 13:51:20 -0700 Subject: [PATCH] Fix Issue #72 --- .../card_locker/LoyaltyCardCursorAdapter.java | 17 ++++-- .../protect/card_locker/MainActivity.java | 54 +++++++++---------- 2 files changed, 39 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardCursorAdapter.java b/app/src/main/java/protect/card_locker/LoyaltyCardCursorAdapter.java index 91c6f3881..53757fbbe 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardCursorAdapter.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardCursorAdapter.java @@ -2,23 +2,27 @@ package protect.card_locker; import android.content.Context; import android.database.Cursor; +import android.graphics.Color; +import android.graphics.PorterDuff; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CursorAdapter; import android.widget.ImageView; import android.widget.TextView; - import protect.card_locker.preferences.Settings; class LoyaltyCardCursorAdapter extends CursorAdapter { Settings settings; + boolean darkModeEnabled; public LoyaltyCardCursorAdapter(Context context, Cursor cursor) { super(context, cursor, 0); settings = new Settings(context); + darkModeEnabled= MainActivity.isDarkModeEnabled(context); + } // The newView method is used to inflate a new view and return it, @@ -36,10 +40,15 @@ class LoyaltyCardCursorAdapter extends CursorAdapter { // Find fields to populate in inflated template ImageView thumbnail = view.findViewById(R.id.thumbnail); - TextView storeField = (TextView) view.findViewById(R.id.store); - TextView noteField = (TextView) view.findViewById(R.id.note); + TextView storeField = view.findViewById(R.id.store); + TextView noteField = view.findViewById(R.id.note); ImageView star = view.findViewById(R.id.star); + if(darkModeEnabled) + { + star.setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP); + } + // Extract properties from cursor LoyaltyCard loyaltyCard = LoyaltyCard.toLoyaltyCard(cursor); @@ -48,7 +57,7 @@ class LoyaltyCardCursorAdapter extends CursorAdapter storeField.setTextSize(settings.getCardTitleListFontSize()); - if(loyaltyCard.note.isEmpty() == false) + if(!loyaltyCard.note.isEmpty()) { noteField.setVisibility(View.VISIBLE); noteField.setText(loyaltyCard.note); diff --git a/app/src/main/java/protect/card_locker/MainActivity.java b/app/src/main/java/protect/card_locker/MainActivity.java index d0ad3ff25..8dee2a883 100644 --- a/app/src/main/java/protect/card_locker/MainActivity.java +++ b/app/src/main/java/protect/card_locker/MainActivity.java @@ -2,21 +2,15 @@ package protect.card_locker; import android.app.SearchManager; import android.content.ClipData; +import android.content.ClipboardManager; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; -import android.content.ClipboardManager; -import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.res.Configuration; import android.database.Cursor; import android.os.Bundle; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.app.AppCompatDelegate; -import androidx.appcompat.widget.SearchView; -import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.view.ContextMenu; import android.view.Menu; @@ -28,13 +22,14 @@ import android.widget.AdapterView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; - +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.SearchView; +import androidx.appcompat.widget.Toolbar; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.common.collect.ImmutableMap; - import java.util.Calendar; import java.util.Map; - import protect.card_locker.preferences.SettingsActivity; public class MainActivity extends AppCompatActivity @@ -196,23 +191,20 @@ public class MainActivity extends AppCompatActivity Cursor cardCursor = (Cursor)listView.getItemAtPosition(info.position); LoyaltyCard card = LoyaltyCard.toLoyaltyCard(cardCursor); - if(card != null) + if(item.getItemId() == R.id.action_clipboard) { - if(item.getItemId() == R.id.action_clipboard) - { - ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); - ClipData clip = ClipData.newPlainText(card.store, card.cardId); - clipboard.setPrimaryClip(clip); + ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText(card.store, card.cardId); + clipboard.setPrimaryClip(clip); - Toast.makeText(this, R.string.copy_to_clipboard_toast, Toast.LENGTH_LONG).show(); - return true; - } - else if(item.getItemId() == R.id.action_share) - { - final ImportURIHelper importURIHelper = new ImportURIHelper(this); - importURIHelper.startShareIntent(card); - return true; - } + Toast.makeText(this, R.string.copy_to_clipboard_toast, Toast.LENGTH_LONG).show(); + return true; + } + else if(item.getItemId() == R.id.action_share) + { + final ImportURIHelper importURIHelper = new ImportURIHelper(this); + importURIHelper.startShareIntent(card); + return true; } return super.onContextItemSelected(item); @@ -334,9 +326,7 @@ public class MainActivity extends AppCompatActivity // Set CSS for dark mode if dark mode String css = ""; - Configuration config = getResources().getConfiguration(); - int currentNightMode = config.uiMode & Configuration.UI_MODE_NIGHT_MASK; - if(currentNightMode == Configuration.UI_MODE_NIGHT_YES) + if(isDarkModeEnabled(this)) { css = ""; } @@ -382,4 +372,12 @@ public class MainActivity extends AppCompatActivity }) .show(); } + + protected static boolean isDarkModeEnabled(Context inputContext) + { + Configuration config = inputContext.getResources().getConfiguration(); + int currentNightMode = config.uiMode & Configuration.UI_MODE_NIGHT_MASK; + return (currentNightMode == Configuration.UI_MODE_NIGHT_YES); + } + } \ No newline at end of file