diff --git a/app/src/main/java/protect/card_locker/DBHelper.java b/app/src/main/java/protect/card_locker/DBHelper.java index 80d50324f..327071220 100644 --- a/app/src/main/java/protect/card_locker/DBHelper.java +++ b/app/src/main/java/protect/card_locker/DBHelper.java @@ -685,9 +685,13 @@ public class DBHelper extends SQLiteOpenHelper */ public int getLoyaltyCardCount(String filter) { + if (filter.isEmpty()) { + return getLoyaltyCardCount(); + } + SQLiteDatabase db = getReadableDatabase(); return (int) DatabaseUtils.queryNumEntries(db, LoyaltyCardDbFTS.TABLE, - LoyaltyCardDbIds.TABLE + " MATCH ? ", withArgs(filter + '*')); + LoyaltyCardDbFTS.TABLE + " MATCH ? ", withArgs(filter + '*')); } /** diff --git a/app/src/main/java/protect/card_locker/MainActivity.java b/app/src/main/java/protect/card_locker/MainActivity.java index 69dbb39df..d2b0f9319 100644 --- a/app/src/main/java/protect/card_locker/MainActivity.java +++ b/app/src/main/java/protect/card_locker/MainActivity.java @@ -398,16 +398,17 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard // We want the cardList to be visible regardless of the filtered match count // to ensure that the noMatchingCardsText doesn't end up being shown below // the keyboard - mCardList.setVisibility(View.VISIBLE); mHelpText.setVisibility(View.GONE); mNoGroupCardsText.setVisibility(View.GONE); if(mAdapter.getItemCount() > 0) { + mCardList.setVisibility(View.VISIBLE); mNoMatchingCardsText.setVisibility(View.GONE); } else { - if(!mFilter.isEmpty()) { + mCardList.setVisibility(View.GONE); + if (!mFilter.isEmpty()) { // Actual Empty Search Result mNoMatchingCardsText.setVisibility(View.VISIBLE); mNoGroupCardsText.setVisibility(View.GONE); diff --git a/app/src/test/java/protect/card_locker/MainActivityTest.java b/app/src/test/java/protect/card_locker/MainActivityTest.java index 055eb3b0a..7e3956c6a 100644 --- a/app/src/test/java/protect/card_locker/MainActivityTest.java +++ b/app/src/test/java/protect/card_locker/MainActivityTest.java @@ -360,7 +360,7 @@ public class MainActivityTest assertEquals(View.GONE, helpText.getVisibility()); assertEquals(View.VISIBLE, noMatchingCardsText.getVisibility()); - assertEquals(View.VISIBLE, list.getVisibility()); + assertEquals(View.GONE, list.getVisibility()); assertEquals(0, list.getAdapter().getItemCount()); @@ -382,7 +382,7 @@ public class MainActivityTest assertEquals(View.GONE, helpText.getVisibility()); assertEquals(View.VISIBLE, noMatchingCardsText.getVisibility()); - assertEquals(View.VISIBLE, list.getVisibility()); + assertEquals(View.GONE, list.getVisibility()); assertEquals(0, list.getAdapter().getItemCount()); @@ -396,7 +396,7 @@ public class MainActivityTest assertEquals(View.GONE, helpText.getVisibility()); assertEquals(View.VISIBLE, noMatchingCardsText.getVisibility()); - assertEquals(View.VISIBLE, list.getVisibility()); + assertEquals(View.GONE, list.getVisibility()); assertEquals(0, list.getAdapter().getItemCount()); @@ -405,7 +405,7 @@ public class MainActivityTest assertEquals(View.GONE, helpText.getVisibility()); assertEquals(View.VISIBLE, noMatchingCardsText.getVisibility()); - assertEquals(View.VISIBLE, list.getVisibility()); + assertEquals(View.GONE, list.getVisibility()); assertEquals(0, list.getAdapter().getItemCount());