diff --git a/app/src/main/java/protect/card_locker/DBHelper.java b/app/src/main/java/protect/card_locker/DBHelper.java
index f3cb5535f..9b7b42f07 100644
--- a/app/src/main/java/protect/card_locker/DBHelper.java
+++ b/app/src/main/java/protect/card_locker/DBHelper.java
@@ -175,5 +175,29 @@ public class DBHelper extends SQLiteOpenHelper
return numItems;
}
+
+ public int getFilteredLoyaltyCardCount(String filter)
+ {
+ String actualFilter = String.format("%%%s%%", filter);
+ String[] selectionArgs = { actualFilter, actualFilter };
+
+ SQLiteDatabase db = getReadableDatabase();
+ Cursor data = db.rawQuery("SELECT Count(*) FROM " + LoyaltyCardDbIds.TABLE +
+ " WHERE " + LoyaltyCardDbIds.STORE + " LIKE ? " +
+ " OR " + LoyaltyCardDbIds.NOTE + " LIKE ? "
+ , selectionArgs, null);
+
+ int numItems = 0;
+
+ if(data.getCount() == 1)
+ {
+ data.moveToFirst();
+ numItems = data.getInt(0);
+ }
+
+ data.close();
+
+ return numItems;
+ }
}
diff --git a/app/src/main/java/protect/card_locker/MainActivity.java b/app/src/main/java/protect/card_locker/MainActivity.java
index 2f16ad93c..9913370d2 100644
--- a/app/src/main/java/protect/card_locker/MainActivity.java
+++ b/app/src/main/java/protect/card_locker/MainActivity.java
@@ -87,6 +87,7 @@ public class MainActivity extends AppCompatActivity
final EditText filter = findViewById(R.id.menu_filter);
final ListView cardList = findViewById(R.id.list);
final TextView helpText = findViewById(R.id.helpText);
+ final TextView noMatchingCardsText = findViewById(R.id.noMatchingCardsText);
final DBHelper db = new DBHelper(this);
if(db.getLoyaltyCardCount() > 0)
@@ -94,12 +95,21 @@ public class MainActivity extends AppCompatActivity
filter.setVisibility(View.VISIBLE);
cardList.setVisibility(View.VISIBLE);
helpText.setVisibility(View.GONE);
+ if(db.getFilteredLoyaltyCardCount(filterText) > 0)
+ {
+ noMatchingCardsText.setVisibility(View.GONE);
+ }
+ else
+ {
+ noMatchingCardsText.setVisibility(View.VISIBLE);
+ }
}
else
{
filter.setVisibility(View.GONE);
cardList.setVisibility(View.GONE);
helpText.setVisibility(View.VISIBLE);
+ noMatchingCardsText.setVisibility(View.GONE);
}
Cursor cardCursor = db.getLoyaltyCardCursor(filterText);
diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml
index 56b5d76d1..71eea4380 100644
--- a/app/src/main/res/layout/content_main.xml
+++ b/app/src/main/res/layout/content_main.xml
@@ -17,6 +17,14 @@
android:text="@string/noGiftCards"
android:visibility="gone"/>
+
+
Type to search
You don\'t have any loyalty cards at the moment. Click the "+" (plus) button up top to get started.\n\nLoyalty Card Locker lets you carry your loyalty cards on your phone, so they are always within reach.
+ No loyalty cards match the search filter. Please try some different terms.
Store
Note