diff --git a/app/src/main/java/protect/card_locker/DBHelper.java b/app/src/main/java/protect/card_locker/DBHelper.java
index 9e51043f2..616dbba96 100644
--- a/app/src/main/java/protect/card_locker/DBHelper.java
+++ b/app/src/main/java/protect/card_locker/DBHelper.java
@@ -10,13 +10,15 @@ import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper
{
public static final String DATABASE_NAME = "LoyaltyCards.db";
- public static final int DATABASE_VERSION = 1;
+ public static final int ORIGINAL_DATABASE_VERSION = 1;
+ public static final int DATABASE_VERSION = 2;
static class LoyaltyCardDbIds
{
public static final String TABLE = "cards";
public static final String ID = "_id";
public static final String STORE = "store";
+ public static final String NOTE = "note";
public static final String CARD_ID = "cardid";
public static final String BARCODE_TYPE = "barcodetype";
}
@@ -33,6 +35,7 @@ public class DBHelper extends SQLiteOpenHelper
db.execSQL("create table " + LoyaltyCardDbIds.TABLE + "(" +
LoyaltyCardDbIds.ID + " INTEGER primary key autoincrement," +
LoyaltyCardDbIds.STORE + " TEXT not null," +
+ LoyaltyCardDbIds.NOTE + " TEXT not null," +
LoyaltyCardDbIds.CARD_ID + " TEXT not null," +
LoyaltyCardDbIds.BARCODE_TYPE + " TEXT not null)");
}
@@ -40,16 +43,21 @@ public class DBHelper extends SQLiteOpenHelper
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
- // Do not support versioning yet
- db.execSQL("DROP TABLE IF EXISTS " + LoyaltyCardDbIds.TABLE);
- onCreate(db);
+ // Upgrade from version 1 to version 2
+ if(oldVersion < 2 && newVersion >= 2)
+ {
+ db.execSQL("ALTER TABLE " + LoyaltyCardDbIds.TABLE
+ + " ADD COLUMN " + LoyaltyCardDbIds.NOTE + " TEXT not null default ''");
+ }
}
- public boolean insertLoyaltyCard(final String store, final String cardId, final String barcodeType)
+ public boolean insertLoyaltyCard(final String store, final String note, final String cardId,
+ final String barcodeType)
{
SQLiteDatabase db = getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(LoyaltyCardDbIds.STORE, store);
+ contentValues.put(LoyaltyCardDbIds.NOTE, note);
contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId);
contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType);
final long newId = db.insert(LoyaltyCardDbIds.TABLE, null, contentValues);
@@ -57,12 +65,13 @@ public class DBHelper extends SQLiteOpenHelper
}
- public boolean updateLoyaltyCard(final int id, final String store, final String cardId,
- final String barcodeType)
+ public boolean updateLoyaltyCard(final int id, final String store, final String note,
+ final String cardId, final String barcodeType)
{
SQLiteDatabase db = getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(LoyaltyCardDbIds.STORE, store);
+ contentValues.put(LoyaltyCardDbIds.NOTE, note);
contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId);
contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType);
int rowsUpdated = db.update(LoyaltyCardDbIds.TABLE, contentValues,
diff --git a/app/src/main/java/protect/card_locker/LoyaltyCard.java b/app/src/main/java/protect/card_locker/LoyaltyCard.java
index 504692fac..591491344 100644
--- a/app/src/main/java/protect/card_locker/LoyaltyCard.java
+++ b/app/src/main/java/protect/card_locker/LoyaltyCard.java
@@ -6,13 +6,15 @@ public class LoyaltyCard
{
public final int id;
public final String store;
+ public final String note;
public final String cardId;
public final String barcodeType;
- public LoyaltyCard(final int id, final String store, final String cardId, final String barcodeType)
+ public LoyaltyCard(final int id, final String store, final String note, final String cardId, final String barcodeType)
{
this.id = id;
this.store = store;
+ this.note = note;
this.cardId = cardId;
this.barcodeType = barcodeType;
}
@@ -21,9 +23,10 @@ public class LoyaltyCard
{
int id = cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.ID));
String store = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.STORE));
+ String note = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.NOTE));
String cardId = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.CARD_ID));
String barcodeType = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE));
- return new LoyaltyCard(id, store, cardId, barcodeType);
+ return new LoyaltyCard(id, store, note, cardId, barcodeType);
}
}
diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardCursorAdapter.java b/app/src/main/java/protect/card_locker/LoyaltyCardCursorAdapter.java
index 4bec48ca0..85110ac16 100644
--- a/app/src/main/java/protect/card_locker/LoyaltyCardCursorAdapter.java
+++ b/app/src/main/java/protect/card_locker/LoyaltyCardCursorAdapter.java
@@ -36,7 +36,14 @@ class LoyaltyCardCursorAdapter extends CursorAdapter
LoyaltyCard loyaltyCard = LoyaltyCard.toLoyaltyCard(cursor);
// Populate fields with extracted properties
- storeField.setText(loyaltyCard.store);
+ String storeAndNote = loyaltyCard.store;
+ if(loyaltyCard.note.isEmpty() == false)
+ {
+ String storeNameAndNoteFormat = view.getResources().getString(R.string.storeNameAndNoteFormat);
+ storeAndNote = String.format(storeNameAndNoteFormat, loyaltyCard.store, loyaltyCard.note);
+ }
+
+ storeField.setText(storeAndNote);
String cardIdFormat = view.getResources().getString(R.string.cardIdFormat);
String cardIdLabel = view.getResources().getString(R.string.cardId);
diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java
index a53236a00..015a76d7d 100644
--- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java
+++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java
@@ -77,6 +77,7 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
Log.i(TAG, "To view card: " + loyaltyCardId);
final EditText storeField = (EditText) findViewById(R.id.storeName);
+ final EditText noteField = (EditText) findViewById(R.id.note);
final EditText cardIdField = (EditText) findViewById(R.id.cardId);
final EditText barcodeTypeField = (EditText) findViewById(R.id.barcodeType);
final ImageView barcodeImage = (ImageView) findViewById(R.id.barcode);
@@ -95,7 +96,15 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
{
final LoyaltyCard loyaltyCard = db.getLoyaltyCard(loyaltyCardId);
- storeField.setText(loyaltyCard.store);
+ if(storeField.getText().length() == 0)
+ {
+ storeField.setText(loyaltyCard.store);
+ }
+
+ if(noteField.getText().length() == 0)
+ {
+ noteField.setText(loyaltyCard.note);
+ }
if(cardIdField.getText().length() == 0)
{
@@ -110,6 +119,7 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
if(viewLoyaltyCard)
{
storeField.setEnabled(false);
+ noteField.setEnabled(false);
}
if(updateLoyaltyCard)
@@ -181,11 +191,7 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
barcodeIdLayout.setVisibility(View.VISIBLE);
barcodeImageLayout.setVisibility(View.VISIBLE);
}
- catch (WriterException e)
- {
- Log.e(TAG, "Failed to generate barcode", e);
- }
- catch(IllegalArgumentException e)
+ catch (WriterException | IllegalArgumentException e)
{
Log.e(TAG, "Failed to generate barcode", e);
}
@@ -213,6 +219,7 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
public void onClick(final View v)
{
String store = storeField.getText().toString();
+ String note = noteField.getText().toString();
String cardId = cardIdField.getText().toString();
String barcodeType = barcodeTypeField.getText().toString();
@@ -230,12 +237,12 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
if(updateLoyaltyCard)
{
- db.updateLoyaltyCard(loyaltyCardId, store, cardId, barcodeType);
+ db.updateLoyaltyCard(loyaltyCardId, store, note, cardId, barcodeType);
Log.i(TAG, "Updated " + loyaltyCardId + " to " + cardId);
}
else
{
- db.insertLoyaltyCard(store, cardId, barcodeType);
+ db.insertLoyaltyCard(store, note, cardId, barcodeType);
}
finish();
diff --git a/app/src/main/res/layout/loyalty_card_layout.xml b/app/src/main/res/layout/loyalty_card_layout.xml
index 6679ab575..1232c0517 100644
--- a/app/src/main/res/layout/loyalty_card_layout.xml
+++ b/app/src/main/res/layout/loyalty_card_layout.xml
@@ -13,7 +13,8 @@
android:id="@+id/store"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_weight="1.0"/>
+ android:layout_weight="1.0"
+ android:maxLines="1"/>
+
+
+
+
+
+
Nessun codice carta inserito
%1$s: %2$s
+ Nota
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index c1e6b3831..659985c44 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -25,4 +25,5 @@
Geen kaart-ID toegevoegd
%1$s: %2$s
+ Notitie
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0176a6c15..c1de29597 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -5,6 +5,7 @@
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.
Store
+ Note
Card ID
Barcode Type
@@ -25,4 +26,5 @@
No Card ID entered
%1$s: %2$s
+ %1$s - %2$s
\ No newline at end of file
diff --git a/app/src/test/java/protect/card_locker/DatabaseTest.java b/app/src/test/java/protect/card_locker/DatabaseTest.java
index 0de2deb75..88761c8a3 100644
--- a/app/src/test/java/protect/card_locker/DatabaseTest.java
+++ b/app/src/test/java/protect/card_locker/DatabaseTest.java
@@ -1,7 +1,9 @@
package protect.card_locker;
import android.app.Activity;
+import android.content.ContentValues;
import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
import com.google.zxing.BarcodeFormat;
@@ -34,13 +36,14 @@ public class DatabaseTest
public void addRemoveOneGiftCard()
{
assertEquals(0, db.getLoyaltyCardCount());
- boolean result = db.insertLoyaltyCard("store", "cardId", BarcodeFormat.UPC_A.toString());
+ boolean result = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString());
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
LoyaltyCard loyaltyCard = db.getLoyaltyCard(1);
assertNotNull(loyaltyCard);
assertEquals("store", loyaltyCard.store);
+ assertEquals("note", loyaltyCard.note);
assertEquals("cardId", loyaltyCard.cardId);
assertEquals(BarcodeFormat.UPC_A.toString(), loyaltyCard.barcodeType);
@@ -53,17 +56,18 @@ public class DatabaseTest
@Test
public void updateGiftCard()
{
- boolean result = db.insertLoyaltyCard("store", "cardId", BarcodeFormat.UPC_A.toString());
+ boolean result = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString());
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
- result = db.updateLoyaltyCard(1, "store1", "cardId1", BarcodeFormat.AZTEC.toString());
+ result = db.updateLoyaltyCard(1, "store1", "note1", "cardId1", BarcodeFormat.AZTEC.toString());
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
LoyaltyCard loyaltyCard = db.getLoyaltyCard(1);
assertNotNull(loyaltyCard);
assertEquals("store1", loyaltyCard.store);
+ assertEquals("note1", loyaltyCard.note);
assertEquals("cardId1", loyaltyCard.cardId);
assertEquals(BarcodeFormat.AZTEC.toString(), loyaltyCard.barcodeType);
}
@@ -73,7 +77,8 @@ public class DatabaseTest
{
assertEquals(0, db.getLoyaltyCardCount());
- boolean result = db.updateLoyaltyCard(1, "store1", "cardId1", BarcodeFormat.UPC_A.toString());
+ boolean result = db.updateLoyaltyCard(1, "store1", "note1", "cardId1",
+ BarcodeFormat.UPC_A.toString());
assertEquals(false, result);
assertEquals(0, db.getLoyaltyCardCount());
}
@@ -81,13 +86,14 @@ public class DatabaseTest
@Test
public void emptyGiftCardValues()
{
- boolean result = db.insertLoyaltyCard("", "", "");
+ boolean result = db.insertLoyaltyCard("", "", "", "");
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
LoyaltyCard loyaltyCard = db.getLoyaltyCard(1);
assertNotNull(loyaltyCard);
assertEquals("", loyaltyCard.store);
+ assertEquals("", loyaltyCard.note);
assertEquals("", loyaltyCard.cardId);
assertEquals("", loyaltyCard.barcodeType);
}
@@ -101,7 +107,8 @@ public class DatabaseTest
// that they are sorted
for(int index = CARDS_TO_ADD-1; index >= 0; index--)
{
- boolean result = db.insertLoyaltyCard("store" + index, "cardId" + index, BarcodeFormat.UPC_A.toString());
+ boolean result = db.insertLoyaltyCard("store" + index, "note" + index, "cardId" + index,
+ BarcodeFormat.UPC_A.toString());
assertTrue(result);
}
@@ -117,6 +124,7 @@ public class DatabaseTest
for(int index = 0; index < CARDS_TO_ADD; index++)
{
assertEquals("store"+index, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.STORE)));
+ assertEquals("note"+index, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.NOTE)));
assertEquals("cardId"+index, cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.CARD_ID)));
assertEquals(BarcodeFormat.UPC_A.toString(), cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE)));
@@ -125,4 +133,54 @@ public class DatabaseTest
assertTrue(cursor.isAfterLast());
}
+
+ private void setupDatabaseVersion1(SQLiteDatabase database)
+ {
+ // Delete the tables as they exist now
+ database.execSQL("drop table " + DBHelper.LoyaltyCardDbIds.TABLE);
+
+ // Create the table as it existed in revision 1
+ database.execSQL("create table " + DBHelper.LoyaltyCardDbIds.TABLE + "(" +
+ DBHelper.LoyaltyCardDbIds.ID + " INTEGER primary key autoincrement," +
+ DBHelper.LoyaltyCardDbIds.STORE + " TEXT not null," +
+ DBHelper.LoyaltyCardDbIds.CARD_ID + " TEXT not null," +
+ DBHelper.LoyaltyCardDbIds.BARCODE_TYPE + " TEXT not null)");
+ }
+
+ private int insertCardVersion1(SQLiteDatabase database,
+ final String store, final String cardId,
+ final String barcodeType)
+ {
+ ContentValues contentValues = new ContentValues();
+ contentValues.put(DBHelper.LoyaltyCardDbIds.STORE, store);
+ contentValues.put(DBHelper.LoyaltyCardDbIds.CARD_ID, cardId);
+ contentValues.put(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE, barcodeType);
+ final long newId = database.insert(DBHelper.LoyaltyCardDbIds.TABLE, null, contentValues);
+ assertTrue(newId != -1);
+ return (int)newId;
+ }
+
+ @Test
+ public void databaseUpgradeFromVersion1()
+ {
+ SQLiteDatabase database = db.getWritableDatabase();
+
+ // Setup the database as it appeared in revision 1
+ setupDatabaseVersion1(database);
+
+ // Insert a budget and transaction
+ int newCardId = insertCardVersion1(database, "store", "cardId", BarcodeFormat.UPC_A.toString());
+
+ // Upgrade database
+ db.onUpgrade(database, DBHelper.ORIGINAL_DATABASE_VERSION, DBHelper.DATABASE_VERSION);
+
+ // Determine that the entries are queryable and the fields are correct
+ LoyaltyCard card = db.getLoyaltyCard(newCardId);
+ assertEquals("store", card.store);
+ assertEquals("cardId", card.cardId);
+ assertEquals(BarcodeFormat.UPC_A.toString(), card.barcodeType);
+ assertEquals("", card.note);
+
+ database.close();
+ }
}
diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java
index 0c6ccc14d..8a2ff854f 100644
--- a/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java
+++ b/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java
@@ -7,12 +7,12 @@ import android.widget.TextView;
import com.google.zxing.BarcodeFormat;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.annotation.Config;
-import org.robolectric.util.ActivityController;
import static org.junit.Assert.assertEquals;
@@ -20,32 +20,72 @@ import static org.junit.Assert.assertEquals;
@Config(constants = BuildConfig.class, sdk = 17)
public class LoyaltyCardCursorAdapterTest
{
- @Test
- public void TestCursorAdapter()
+ private Activity activity;
+ private DBHelper db;
+
+ @Before
+ public void setUp()
{
- ActivityController activityController = Robolectric.buildActivity(MainActivity.class).create();
- Activity activity = (Activity)activityController.get();
-
- DBHelper db = new DBHelper(activity);
- db.insertLoyaltyCard("store", "cardId", BarcodeFormat.UPC_A.toString());
- LoyaltyCard card = db.getLoyaltyCard(1);
-
- Cursor cursor = db.getLoyaltyCardCursor();
- cursor.moveToFirst();
+ activity = Robolectric.setupActivity(MainActivity.class);
+ db = new DBHelper(activity);
+ }
+ private View createView(Cursor cursor)
+ {
LoyaltyCardCursorAdapter adapter = new LoyaltyCardCursorAdapter(activity.getApplicationContext(), cursor);
View view = adapter.newView(activity.getApplicationContext(), cursor, null);
adapter.bindView(view, activity.getApplicationContext(), cursor);
- final TextView storeField = (TextView) view.findViewById(R.id.store);
+ return view;
+ }
- assertEquals(card.store, storeField.getText().toString());
+ private void checkView(final View view, final String store, final String cardId)
+ {
+ final TextView storeField = (TextView) view.findViewById(R.id.store);
+ assertEquals(store, storeField.getText().toString());
final TextView cardIdField = (TextView) view.findViewById(R.id.cardId);
+ assertEquals(cardId, cardIdField.getText().toString());
+ }
+
+
+ @Test
+ public void TestCursorAdapterEmptyNote()
+ {
+ db.insertLoyaltyCard("store", "", "cardId", BarcodeFormat.UPC_A.toString());
+ LoyaltyCard card = db.getLoyaltyCard(1);
+
+ Cursor cursor = db.getLoyaltyCardCursor();
+ cursor.moveToFirst();
+
+ View view = createView(cursor);
+
final String cardIdLabel = activity.getResources().getString(R.string.cardId);
final String cardIdFormat = activity.getResources().getString(R.string.cardIdFormat);
- String cardIdText = String.format(cardIdFormat, cardIdLabel, "cardId");
- assertEquals(cardIdText, cardIdField.getText().toString());
+ String cardIdText = String.format(cardIdFormat, cardIdLabel, card.cardId);
+
+ checkView(view, card.store, cardIdText);
+ }
+
+ @Test
+ public void TestCursorAdapterWithNote()
+ {
+ db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString());
+ LoyaltyCard card = db.getLoyaltyCard(1);
+
+ Cursor cursor = db.getLoyaltyCardCursor();
+ cursor.moveToFirst();
+
+ View view = createView(cursor);
+
+ final String storeNameAndNoteFormat = activity.getResources().getString(R.string.storeNameAndNoteFormat);
+ String storeAndNoteText = String.format(storeNameAndNoteFormat, card.store, card.note);
+
+ final String cardIdLabel = activity.getResources().getString(R.string.cardId);
+ final String cardIdFormat = activity.getResources().getString(R.string.cardIdFormat);
+ String cardIdText = String.format(cardIdFormat, cardIdLabel, card.cardId);
+
+ checkView(view, storeAndNoteText, cardIdText);
}
}
diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java
index cbe51d0ec..17350d5b0 100644
--- a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java
+++ b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java
@@ -68,7 +68,8 @@ public class LoyaltyCardViewActivityTest
* expected values
*/
private void saveLoyaltyCardWithArguments(final Activity activity,
- final String store, final String cardId,
+ final String store, final String note,
+ final String cardId,
final String barcodeType,
boolean creatingNewCard)
{
@@ -83,12 +84,14 @@ public class LoyaltyCardViewActivityTest
}
final EditText storeField = (EditText) activity.findViewById(R.id.storeName);
+ final EditText noteField = (EditText) activity.findViewById(R.id.note);
final EditText cardIdField = (EditText) activity.findViewById(R.id.cardId);
final EditText barcodeTypeField = (EditText) activity.findViewById(R.id.barcodeType);
final Button saveButton = (Button) activity.findViewById(R.id.saveButton);
storeField.setText(store);
+ noteField.setText(note);
cardIdField.setText(cardId);
barcodeTypeField.setText(barcodeType);
@@ -100,6 +103,7 @@ public class LoyaltyCardViewActivityTest
LoyaltyCard card = db.getLoyaltyCard(1);
assertEquals(store, card.store);
+ assertEquals(note, card.note);
assertEquals(cardId, card.cardId);
assertEquals(barcodeType, card.barcodeType);
}
@@ -154,13 +158,14 @@ public class LoyaltyCardViewActivityTest
}
}
- private void checkAllFields(final Activity activity, boolean editMode, final String store, final String cardId,
- final String barcodeType)
+ private void checkAllFields(final Activity activity, boolean editMode, final String store,
+ final String note, final String cardId, final String barcodeType)
{
int cardIdVisibility = cardId.isEmpty() ? View.GONE : View.VISIBLE;
int captureVisibility = editMode ? View.VISIBLE : View.GONE;
checkFieldProperties(activity, R.id.storeName, View.VISIBLE, editMode, store);
+ checkFieldProperties(activity, R.id.note, View.VISIBLE, editMode, note);
checkFieldProperties(activity, R.id.cardId, View.VISIBLE, false, cardId);
checkFieldProperties(activity, R.id.barcodeType, View.VISIBLE, false, barcodeType);
checkFieldProperties(activity, R.id.captureButton, captureVisibility, true, null);
@@ -183,7 +188,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
- checkAllFields(activity, true, "", "", "");
+ checkAllFields(activity, true, "", "", "", "");
}
@Test
@@ -199,6 +204,7 @@ public class LoyaltyCardViewActivityTest
assertEquals(0, db.getLoyaltyCardCount());
final EditText storeField = (EditText) activity.findViewById(R.id.storeName);
+ final EditText noteField = (EditText) activity.findViewById(R.id.note);
final EditText cardIdField = (EditText) activity.findViewById(R.id.cardId);
final Button saveButton = (Button) activity.findViewById(R.id.saveButton);
@@ -210,6 +216,10 @@ public class LoyaltyCardViewActivityTest
saveButton.performClick();
assertEquals(0, db.getLoyaltyCardCount());
+ noteField.setText("note");
+ saveButton.performClick();
+ assertEquals(0, db.getLoyaltyCardCount());
+
cardIdField.setText("cardId");
saveButton.performClick();
assertEquals(0, db.getLoyaltyCardCount());
@@ -244,15 +254,15 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
- checkAllFields(activity, true, "", "", "");
+ checkAllFields(activity, true, "", "", "", "");
// Complete barcode capture successfully
captureBarcodeWithResult(activity, R.id.captureButton, true);
- checkAllFields(activity, true, "", BARCODE_DATA, BARCODE_TYPE);
+ checkAllFields(activity, true, "", "", BARCODE_DATA, BARCODE_TYPE);
// Save and check the gift card
- saveLoyaltyCardWithArguments(activity, "store", BARCODE_DATA, BARCODE_TYPE, true);
+ saveLoyaltyCardWithArguments(activity, "store", "note", BARCODE_DATA, BARCODE_TYPE, true);
}
@Test
@@ -265,12 +275,12 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
- checkAllFields(activity, true, "", "", "");
+ checkAllFields(activity, true, "", "", "", "");
// Complete barcode capture in failure
captureBarcodeWithResult(activity, R.id.captureButton, false);
- checkAllFields(activity, true, "", "", "");
+ checkAllFields(activity, true, "", "", "", "");
}
@Test
@@ -283,12 +293,12 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
- checkAllFields(activity, true, "", "", "");
+ checkAllFields(activity, true, "", "", "", "");
// Complete barcode capture successfully
captureBarcodeWithResult(activity, R.id.captureButton, true);
- checkAllFields(activity, true, "", BARCODE_DATA, BARCODE_TYPE);
+ checkAllFields(activity, true, "", "", BARCODE_DATA, BARCODE_TYPE);
// Cancel the gift card creation
final Button cancelButton = (Button) activity.findViewById(R.id.cancelButton);
@@ -324,13 +334,13 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
- db.insertLoyaltyCard("store", BARCODE_DATA, BARCODE_TYPE);
+ db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE);
activityController.start();
activityController.visible();
activityController.resume();
- checkAllFields(activity, true, "store", BARCODE_DATA, BARCODE_TYPE);
+ checkAllFields(activity, true, "store", "note", BARCODE_DATA, BARCODE_TYPE);
}
@Test
@@ -340,13 +350,13 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
- db.insertLoyaltyCard("store", BARCODE_DATA, BARCODE_TYPE);
+ db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE);
activityController.start();
activityController.visible();
activityController.resume();
- checkAllFields(activity, false, "store", BARCODE_DATA, BARCODE_TYPE);
+ checkAllFields(activity, false, "store", "note", BARCODE_DATA, BARCODE_TYPE);
}
@Test
@@ -356,18 +366,18 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
- db.insertLoyaltyCard("store", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
+ db.insertLoyaltyCard("store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
activityController.start();
activityController.visible();
activityController.resume();
- checkAllFields(activity, true, "store", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
+ checkAllFields(activity, true, "store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
// Complete barcode capture successfully
captureBarcodeWithResult(activity, R.id.captureButton, true);
- checkAllFields(activity, true, "store", BARCODE_DATA, BARCODE_TYPE);
+ checkAllFields(activity, true, "store", "note", BARCODE_DATA, BARCODE_TYPE);
}
@Test
@@ -377,18 +387,18 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
- db.insertLoyaltyCard("store", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
+ db.insertLoyaltyCard("store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
activityController.start();
activityController.visible();
activityController.resume();
- checkAllFields(activity, true, "store", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
+ checkAllFields(activity, true, "store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
// Complete barcode capture successfully
captureBarcodeWithResult(activity, R.id.captureButton, true);
- checkAllFields(activity, true, "store", BARCODE_DATA, BARCODE_TYPE);
+ checkAllFields(activity, true, "store", "note", BARCODE_DATA, BARCODE_TYPE);
// Cancel the gift card creation
final Button cancelButton = (Button) activity.findViewById(R.id.cancelButton);
diff --git a/app/src/test/java/protect/card_locker/MainActivityTest.java b/app/src/test/java/protect/card_locker/MainActivityTest.java
index 185142455..d345ba669 100644
--- a/app/src/test/java/protect/card_locker/MainActivityTest.java
+++ b/app/src/test/java/protect/card_locker/MainActivityTest.java
@@ -83,7 +83,7 @@ public class MainActivityTest
assertEquals(0, list.getCount());
DBHelper db = new DBHelper(mainActivity);
- db.insertLoyaltyCard("store", "cardId", BarcodeFormat.UPC_A.toString());
+ db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString());
assertEquals(View.VISIBLE, helpText.getVisibility());
assertEquals(View.GONE, list.getVisibility());