Fix no results sometimes not correctly displayed

This commit is contained in:
Sylvia van Os
2021-10-05 20:15:10 +02:00
parent 61a3054655
commit 7b0652ff11
3 changed files with 12 additions and 7 deletions

View File

@@ -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 + '*'));
}
/**

View File

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

View File

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