From c0c126192f8bee6cde38622ff72aca79e1dc3062 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Fri, 22 Nov 2019 13:58:03 +0100 Subject: [PATCH 01/10] Improve note sizing Signed-off-by: Sylvia van Os --- app/src/main/res/layout/loyalty_card_view_layout.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/layout/loyalty_card_view_layout.xml b/app/src/main/res/layout/loyalty_card_view_layout.xml index 8fef9e8e2..097a1a898 100644 --- a/app/src/main/res/layout/loyalty_card_view_layout.xml +++ b/app/src/main/res/layout/loyalty_card_view_layout.xml @@ -71,15 +71,16 @@ Date: Sun, 1 Dec 2019 18:22:55 +0100 Subject: [PATCH 02/10] Add ability to share and receive loyalty cards --- app/src/main/AndroidManifest.xml | 12 ++- .../protect/card_locker/ImportURIHelper.java | 77 ++++++++++++++++++ .../card_locker/LoyaltyCardEditActivity.java | 36 ++++++-- .../card_locker/LoyaltyCardViewActivity.java | 9 +- .../protect/card_locker/MainActivity.java | 22 +++-- .../main/res/drawable-hdpi/ic_share_white.png | Bin 0 -> 554 bytes .../main/res/drawable-mdpi/ic_share_white.png | Bin 0 -> 397 bytes .../res/drawable-xhdpi/ic_share_white.png | Bin 0 -> 758 bytes .../res/drawable-xxhdpi/ic_share_white.png | Bin 0 -> 1248 bytes app/src/main/res/menu/card_longclick_menu.xml | 4 + app/src/main/res/menu/card_view_menu.xml | 5 ++ app/src/main/res/values/strings.xml | 7 ++ 12 files changed, 157 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/protect/card_locker/ImportURIHelper.java create mode 100644 app/src/main/res/drawable-hdpi/ic_share_white.png create mode 100644 app/src/main/res/drawable-mdpi/ic_share_white.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_share_white.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_share_white.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 18de61be0..1869a74d2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -43,7 +43,17 @@ android:theme="@style/AppTheme.NoActionBar" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateHidden" - android:exported="true"/> + android:exported="true"> + + + + + + + + !2@g3qi;NsDZJ8c>6^R z0WLT;ob~Wokh3X%2i!#nQ>)MfH!Dg}VzfHlwdIMeMy&WV*Jq+cOmYPKVT-#BQ-4#G=%0aVWjrWobbC7MiAr>tLRX zfuF?aiS-!$g@f!K>{&a=rf4O6O)GH)RwUf8sb=l~JVh9J1LvS1!AOC`jv|aagF`SQ z!N?l8*3^#LZl%z>Ti}9f%BPlOn~M=u$PY1pDeEyI(O_|{NcW(p6tSkU+_0WxAtQ@4 z>n7JKD#^;+>Z1f64NTNH7P-kO?{hTZOE*xHzJI0I)xj~VIjT)`(MfQN#+J~3porE)h?cfUaSjwjog#${>wkKE51im~ zd0iFmIW8Xfz~#Q-`@Q%4csB?(Arw&*rNIf4))udUDfnS%UDFaT7{WFM4Fg?=fv$#u znZv-RwD_)-dz*oj@HV&r9}aQiT0;C3ycr^7q7x(j3=%$tGvLt>n1ee`LkNoCmMPJm zFX0rZTgCPY4t$<23z~eL!~>tW0>*~$2$aE=Z}In-9L|mPjBg<+QB=(Zl}vfhNcOU; zm8Ke#Z0!cto`O}1FePbXnKm5rUKnTv52A)Oh}z&#`_)6Y^kkU$2KQi(zaN1s=2+6m zx%D%eSjPUi@j5Xr6FcCN#a$g#l}^h(7&;8RXw*jEVW6jBpye>o(lC$*Uoqmem)C01 rGkSoUk5Sswo)h#e%Q0cFiGSi3TV0vi=dCbBQ0gI~2M=CaZRt_4hzF0M)q}UTlpd5G6b~W_{=A5g z3L@6l7HX*4M*pYy9he1K%)Z^c2$|V8@F7d~(wfL6chu*d(fCsZQ_T(MF{a8Gf_M-5O_K%# z#wrl+F{Z(QRSN@FH5hPgVZgBl1O8hWaHhe4Lkj~ABnwZ17vPVD0kcxYXTZ9JaF0Q0 z!qdFBFIGYP7R@3l!s|KTpHxA(w+U*OB0dZ920dI_En~!e z@Hyg%uyW)iFO)qz?QIM=1Fh22=4;C{Lh=txLd4hDoe=REux7IuYA|5lrWvEbfLtsy zfiELeYCw;c`eCU8@k^Qts5bB`f_NI+rmc$X2H!)7r!n1HOX)PX;M{V4*_c?n`aJ~f}cspm9-{-8o&RYANtSkfqfj}S-2m}K0Kg9C# zayBWKR4C%Fvq8o__!3fx)JGa2O^HV2XZ*Voka8bgI`UGS}=gmSq;K!140(yClmrb4YJ28qf#Iso__Vp19P0NTn+vy%Bs7=@x0uB6wDWR0-m%;PXfgq>q-t zC-eYQvsL&9NpCHun`C`QGj0WZsZ6UDG6a4}UhAaa!S9ga%B&{5uMXD+KK7cgQxCoQ z<1#eY1$T$Ei*&+pHt>UV*0=EKjn|TT45n94*SC%7``x5_Qpu>!@k`R&9zU0rw@E)W zz{g4NIal+=Sc>!VfWC}$S+<~X)9$lqoYXI^>ZAE2l|~e7ql_WlO^=Bn#HK3_qf> zp!LcESE)!hr%7W5d7k?{`F;hTNEMMZ>*xE)n_T4_Tvk5Uyo%-F$}>`ppX>3U;f2h! zTtwwdSsBqh{sZZhuk$>;`Rfixd@*Tc=^QgF>qD-e!Dq{Vek_AcuisKumZC~o$@w!G zgg=O~a_xVATZX{%Rqr`~Uu!^>!GdYhY2>nUCx~w}AY>Unm!h>Go!WqYi|}88u-bre ziv~=Bu-X8ddn;og3oIcC4_Z;o(rTT0MiTMEC%UEZdS zoaBy~d6MV9X&Ui`bkWxXdzX#iXSuZ-Y)#}D@)4A+?wAk|n8OB}b2~_TLD3x}_$KQM z26wvi`f!6(0E+GyQA}#qEL-EUla3eoEeezQ*`eo2VN$1jif+oL-+h}M?>8e37_`RY zQnuFo<9xjD=!Ih7#J4BCBprnVtKfJy^{B!6&?29vLV1QSTUhM+9JAb zjVS~3k~NIS6Rb6YZ=mbS;2rWya*J#}=x@yDg9d5ERNblWzVx#R+enur&Db`8ySm3f zJ$2dI;_w;KX>BOL(^57!qDIP0TWKkRC#I-P*ebIJTc3hPP*$7JY|(%)2&)ZvY|(%Y z5LO$|Y0-dA5LO!yMhf!QfJQ9B-nT0vC_}w7fG2DN77Q4`2sC{Y>RjH{$LFd8+4K#_ zk*=v*26Ukrr*A@m!&yK=qnJ0Fn^0!3+hYAdrVJ#VnZVBueMFkq06#CsU?k~cWmHdk zt(c}Q%HPzZ;<0B&v0SW$WmjIie9b>A1|b9jfj}S-2m}J*H2wlfCD~q66H1u?0000< KMNUMnLSTX%F->m( literal 0 HcmV?d00001 diff --git a/app/src/main/res/menu/card_longclick_menu.xml b/app/src/main/res/menu/card_longclick_menu.xml index 67ac03c88..5ff953855 100644 --- a/app/src/main/res/menu/card_longclick_menu.xml +++ b/app/src/main/res/menu/card_longclick_menu.xml @@ -6,4 +6,8 @@ android:id="@+id/action_clipboard" android:title="@string/copy_to_clipboard" app:showAsAction="always"/> + \ No newline at end of file diff --git a/app/src/main/res/menu/card_view_menu.xml b/app/src/main/res/menu/card_view_menu.xml index df5498c9e..61c580f8a 100644 --- a/app/src/main/res/menu/card_view_menu.xml +++ b/app/src/main/res/menu/card_view_menu.xml @@ -7,6 +7,11 @@ android:icon="@drawable/ic_lock_open_white_24dp" android:title="@string/lockScreen" app:showAsAction="always"/> + Please confirm that you want to delete this card. OK Copy ID to clipboard + Share Send… Added to Home Screen @@ -42,6 +43,7 @@ No Store entered No Card ID entered Could not lookup loyalty card + Could not parse the import Uri %1$s: %2$s %1$s - %2$s @@ -125,4 +127,9 @@ pref_display_card_max_brightness Lock barcode orientation pref_lock_barcode_orientation + + Import loyalty card + I want to share a loyalty card with you + github.com + /brarcher/loyalty-card-locker From 3d2ad1693ac6b16f64251abd2f549ef2e32707c4 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Sun, 1 Dec 2019 20:42:37 +0100 Subject: [PATCH 03/10] Tests --- .../protect/card_locker/ImportURITest.java | 73 +++++++++++++++++++ .../LoyaltyCardViewActivityTest.java | 5 +- 2 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 app/src/test/java/protect/card_locker/ImportURITest.java diff --git a/app/src/test/java/protect/card_locker/ImportURITest.java b/app/src/test/java/protect/card_locker/ImportURITest.java new file mode 100644 index 000000000..e06a8ea68 --- /dev/null +++ b/app/src/test/java/protect/card_locker/ImportURITest.java @@ -0,0 +1,73 @@ +package protect.card_locker; + +import android.app.Activity; +import android.graphics.Color; +import android.net.Uri; + +import com.google.zxing.BarcodeFormat; + +import org.bouncycastle.util.test.TestFailedException; +import org.bouncycastle.util.test.TestResult; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.Robolectric; +import org.robolectric.RobolectricTestRunner; +import org.robolectric.annotation.Config; + +import java.io.InvalidObjectException; + +import static org.junit.Assert.assertEquals; + +import static org.junit.Assert.assertTrue; +import static protect.card_locker.DBHelper.LoyaltyCardDbIds.BARCODE_TYPE; + +@RunWith(RobolectricTestRunner.class) +@Config(constants = BuildConfig.class, sdk = 23) +public class ImportURITest { + private ImportURIHelper importURIHelper; + private DBHelper db; + + @Before + public void setUp() + { + Activity activity = Robolectric.setupActivity(MainActivity.class); + importURIHelper = new ImportURIHelper(activity); + db = new DBHelper(activity); + } + + @Test + public void ensureNoDataLoss() throws InvalidObjectException + { + // Generate card + db.insertLoyaltyCard("store", "note", BarcodeFormat.UPC_A.toString(), BARCODE_TYPE, Color.BLACK, Color.WHITE); + + // Get card + LoyaltyCard card = db.getLoyaltyCard(1); + + // Card to URI + Uri cardUri = importURIHelper.toUri(card); + + // Parse URI + LoyaltyCard parsedCard = importURIHelper.parse(cardUri); + + // Compare everything + assertEquals(card.barcodeType, parsedCard.barcodeType); + assertEquals(card.cardId, parsedCard.cardId); + assertEquals(card.headerColor, parsedCard.headerColor); + assertEquals(card.headerTextColor, parsedCard.headerTextColor); + assertEquals(card.note, parsedCard.note); + assertEquals(card.store, parsedCard.store); + } + + @Test + public void failToParseInvalidUri() + { + try { + importURIHelper.parse(Uri.parse("https://example.com/test")); + assertTrue(false); // Shouldn't get here + } catch(InvalidObjectException _) { + // Desired behaviour + } + } +} diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java index 6f9218146..1dd5f0bd9 100644 --- a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java +++ b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java @@ -448,10 +448,11 @@ public class LoyaltyCardViewActivityTest final Menu menu = shadowOf(activity).getOptionsMenu(); assertTrue(menu != null); - // The settings and add button should be present - assertEquals(menu.size(), 2); + // The share, settings and add button should be present + assertEquals(menu.size(), 3); assertEquals("Block Rotation", menu.findItem(R.id.action_lock_unlock).getTitle().toString()); + assertEquals("Share", menu.findItem(R.id.action_share).getTitle().toString()); assertEquals("Edit", menu.findItem(R.id.action_edit).getTitle().toString()); } From 48a1084c404127aa8f11bebe09daa0d0bec3bc0a Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Sun, 1 Dec 2019 20:46:13 +0100 Subject: [PATCH 04/10] Fix typo --- app/src/main/res/menu/card_view_menu.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/menu/card_view_menu.xml b/app/src/main/res/menu/card_view_menu.xml index 61c580f8a..3910d3faa 100644 --- a/app/src/main/res/menu/card_view_menu.xml +++ b/app/src/main/res/menu/card_view_menu.xml @@ -11,7 +11,7 @@ android:id="@+id/action_share" android:icon="@drawable/ic_share_white" android:title="@string/share" - app.showAsAction="always"/> + app:showAsAction="always"/> Date: Sun, 1 Dec 2019 20:53:37 +0100 Subject: [PATCH 05/10] Fix linter warning --- .../main/java/protect/card_locker/LoyaltyCardEditActivity.java | 2 +- app/src/test/java/protect/card_locker/ImportURITest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java index f4b885726..0d115c4a8 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java @@ -189,7 +189,7 @@ public class LoyaltyCardEditActivity extends AppCompatActivity LoyaltyCard importCard; try { importCard = importUriHelper.parse(importLoyaltyCardUri); - } catch (InvalidObjectException _) { + } catch (InvalidObjectException ex) { Toast.makeText(this, R.string.failedParsingImportUriError, Toast.LENGTH_LONG).show(); finish(); return; diff --git a/app/src/test/java/protect/card_locker/ImportURITest.java b/app/src/test/java/protect/card_locker/ImportURITest.java index e06a8ea68..42f28ebe1 100644 --- a/app/src/test/java/protect/card_locker/ImportURITest.java +++ b/app/src/test/java/protect/card_locker/ImportURITest.java @@ -66,7 +66,7 @@ public class ImportURITest { try { importURIHelper.parse(Uri.parse("https://example.com/test")); assertTrue(false); // Shouldn't get here - } catch(InvalidObjectException _) { + } catch(InvalidObjectException ex) { // Desired behaviour } } From bae6f746a1cfc67a94226336ccf98fd72cc8448e Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Sun, 1 Dec 2019 22:38:31 +0100 Subject: [PATCH 06/10] Another import test --- .../LoyaltyCardViewActivityTest.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java index 1dd5f0bd9..bfc5c2223 100644 --- a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java +++ b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java @@ -7,6 +7,8 @@ import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.ResolveInfo; import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v4.widget.TextViewCompat; @@ -605,4 +607,25 @@ public class LoyaltyCardViewActivityTest } } } + + @Test + public void importCard() + { + Uri importUri = Uri.parse("https://github.com/brarcher/loyalty-card-locker?store=Example%20Storenote=&cardid=123456&barcodetype=AZTEC&headercolor=-416706&headertextcolor=-1"); + + Intent intent = new Intent(); + intent.setData(importUri); + + ActivityController activityController = Robolectric.buildActivity(LoyaltyCardEditActivity.class).withIntent(intent).create(); + + activityController.start(); + activityController.visible(); + activityController.resume(); + + Activity activity = (Activity)activityController.get(); + + checkAllFields(activity, ViewMode.ADD_CARD, "Example Store", "", "123456", "AZTEC"); + assertEquals(activity.findViewById(R.id.headingColorSample).getBackground(), new ColorDrawable(-416706)); + assertEquals(activity.findViewById(R.id.headingStoreTextColorSample).getBackground(), new ColorDrawable(-1)); + } } From 2ef739fb4f9005c9200fea6aad134ff8b2634f7e Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Sun, 1 Dec 2019 22:55:17 +0100 Subject: [PATCH 07/10] Fix typo --- .../java/protect/card_locker/LoyaltyCardViewActivityTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java index bfc5c2223..81132e29f 100644 --- a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java +++ b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java @@ -611,7 +611,7 @@ public class LoyaltyCardViewActivityTest @Test public void importCard() { - Uri importUri = Uri.parse("https://github.com/brarcher/loyalty-card-locker?store=Example%20Storenote=&cardid=123456&barcodetype=AZTEC&headercolor=-416706&headertextcolor=-1"); + Uri importUri = Uri.parse("https://github.com/brarcher/loyalty-card-locker?store=Example%20Store¬e=&cardid=123456&barcodetype=AZTEC&headercolor=-416706&headertextcolor=-1"); Intent intent = new Intent(); intent.setData(importUri); From e314580ac346e3573b4f0cec85178e5de58af33d Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Mon, 2 Dec 2019 12:56:42 +0100 Subject: [PATCH 08/10] Cleanup --- .../protect/card_locker/ImportURIHelper.java | 22 ++++++++++--------- .../protect/card_locker/ImportURITest.java | 11 ++-------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/protect/card_locker/ImportURIHelper.java b/app/src/main/java/protect/card_locker/ImportURIHelper.java index 18d76903f..d3133bcb3 100644 --- a/app/src/main/java/protect/card_locker/ImportURIHelper.java +++ b/app/src/main/java/protect/card_locker/ImportURIHelper.java @@ -3,9 +3,7 @@ package protect.card_locker; import android.content.Context; import android.content.Intent; import android.net.Uri; - import java.io.InvalidObjectException; -import java.security.InvalidParameterException; public class ImportURIHelper { private static final String STORE = DBHelper.LoyaltyCardDbIds.STORE; @@ -15,10 +13,10 @@ public class ImportURIHelper { private static final String HEADER_COLOR = DBHelper.LoyaltyCardDbIds.HEADER_COLOR; private static final String HEADER_TEXT_COLOR = DBHelper.LoyaltyCardDbIds.HEADER_TEXT_COLOR; - private Context context; - private String host; - private String path; - private String shareText; + private final Context context; + private final String host; + private final String path; + private final String shareText; public ImportURIHelper(Context context) { this.context = context; @@ -31,7 +29,7 @@ public class ImportURIHelper { return uri.getHost().equals(host) && uri.getPath().equals(path); } - public LoyaltyCard parse(Uri uri) throws InvalidObjectException, InvalidParameterException { + public LoyaltyCard parse(Uri uri) throws InvalidObjectException { if(!isImportUri(uri)) { throw new InvalidObjectException("Not an import URI"); } @@ -45,12 +43,12 @@ public class ImportURIHelper { Integer headerTextColor = Integer.parseInt(uri.getQueryParameter(HEADER_TEXT_COLOR)); return new LoyaltyCard(-1, store, note, cardId, barcodeType, headerColor, headerTextColor); } catch (NullPointerException | NumberFormatException ex) { - ex.printStackTrace(); throw new InvalidObjectException("Not a valid import URI"); } } - public Uri toUri(LoyaltyCard loyaltyCard) { + // Protected for usage in tests + protected Uri toUri(LoyaltyCard loyaltyCard) { Uri.Builder uriBuilder = new Uri.Builder(); uriBuilder.scheme("https"); uriBuilder.authority(host); @@ -65,7 +63,7 @@ public class ImportURIHelper { return uriBuilder.build(); } - public void startShareIntent(Uri uri) { + private void startShareIntent(Uri uri) { Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, shareText + "\n" + uri.toString()); @@ -74,4 +72,8 @@ public class ImportURIHelper { Intent shareIntent = Intent.createChooser(sendIntent, null); context.startActivity(shareIntent); } + + public void startShareIntent(LoyaltyCard loyaltyCard) { + startShareIntent(toUri(loyaltyCard)); + } } diff --git a/app/src/test/java/protect/card_locker/ImportURITest.java b/app/src/test/java/protect/card_locker/ImportURITest.java index 42f28ebe1..c78f95605 100644 --- a/app/src/test/java/protect/card_locker/ImportURITest.java +++ b/app/src/test/java/protect/card_locker/ImportURITest.java @@ -3,24 +3,17 @@ package protect.card_locker; import android.app.Activity; import android.graphics.Color; import android.net.Uri; - import com.google.zxing.BarcodeFormat; - -import org.bouncycastle.util.test.TestFailedException; -import org.bouncycastle.util.test.TestResult; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; - import java.io.InvalidObjectException; - import static org.junit.Assert.assertEquals; - import static org.junit.Assert.assertTrue; -import static protect.card_locker.DBHelper.LoyaltyCardDbIds.BARCODE_TYPE; +import static protect.card_locker.DBHelper.LoyaltyCardDbIds; @RunWith(RobolectricTestRunner.class) @Config(constants = BuildConfig.class, sdk = 23) @@ -40,7 +33,7 @@ public class ImportURITest { public void ensureNoDataLoss() throws InvalidObjectException { // Generate card - db.insertLoyaltyCard("store", "note", BarcodeFormat.UPC_A.toString(), BARCODE_TYPE, Color.BLACK, Color.WHITE); + db.insertLoyaltyCard("store", "note", BarcodeFormat.UPC_A.toString(), LoyaltyCardDbIds.BARCODE_TYPE, Color.BLACK, Color.WHITE); // Get card LoyaltyCard card = db.getLoyaltyCard(1); From 5e836758e51522beb277835191e249299cec085f Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Mon, 2 Dec 2019 12:57:44 +0100 Subject: [PATCH 09/10] Fix function calls --- .../main/java/protect/card_locker/LoyaltyCardViewActivity.java | 2 +- app/src/main/java/protect/card_locker/MainActivity.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java index 7616337ab..d3db308e3 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java @@ -225,7 +225,7 @@ public class LoyaltyCardViewActivity extends AppCompatActivity break; case R.id.action_share: - importURIHelper.startShareIntent(importURIHelper.toUri(loyaltyCard)); + importURIHelper.startShareIntent(loyaltyCard); return true; case R.id.action_edit: diff --git a/app/src/main/java/protect/card_locker/MainActivity.java b/app/src/main/java/protect/card_locker/MainActivity.java index b767ee622..b1a0a7e0f 100644 --- a/app/src/main/java/protect/card_locker/MainActivity.java +++ b/app/src/main/java/protect/card_locker/MainActivity.java @@ -201,7 +201,7 @@ public class MainActivity extends AppCompatActivity else if(item.getItemId() == R.id.action_share) { final ImportURIHelper importURIHelper = new ImportURIHelper(this); - importURIHelper.startShareIntent(importURIHelper.toUri(card)); + importURIHelper.startShareIntent(card); return true; } } From 07c74b79f3b07b61ff4a444d94f50d93c9fe1903 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Mon, 2 Dec 2019 13:14:15 +0100 Subject: [PATCH 10/10] Use README as index page, add share page with explanation --- app/src/main/res/values/strings.xml | 4 ++-- .../card_locker/LoyaltyCardViewActivityTest.java | 2 +- docs/index.md | 1 + docs/share.md | 10 ++++++++++ 4 files changed, 14 insertions(+), 3 deletions(-) create mode 120000 docs/index.md create mode 100644 docs/share.md diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 740c814ba..dd540c0b7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -130,6 +130,6 @@ Import loyalty card I want to share a loyalty card with you - github.com - /brarcher/loyalty-card-locker + brarcher.github.io + /loyalty-card-locker/share diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java index 81132e29f..2d543527f 100644 --- a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java +++ b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java @@ -611,7 +611,7 @@ public class LoyaltyCardViewActivityTest @Test public void importCard() { - Uri importUri = Uri.parse("https://github.com/brarcher/loyalty-card-locker?store=Example%20Store¬e=&cardid=123456&barcodetype=AZTEC&headercolor=-416706&headertextcolor=-1"); + Uri importUri = Uri.parse("https://brarcher.github.io/loyalty-card-locker/share?store=Example%20Store¬e=&cardid=123456&barcodetype=AZTEC&headercolor=-416706&headertextcolor=-1"); Intent intent = new Intent(); intent.setData(importUri); diff --git a/docs/index.md b/docs/index.md new file mode 120000 index 000000000..32d46ee88 --- /dev/null +++ b/docs/index.md @@ -0,0 +1 @@ +../README.md \ No newline at end of file diff --git a/docs/share.md b/docs/share.md new file mode 100644 index 000000000..c4d1ed8c6 --- /dev/null +++ b/docs/share.md @@ -0,0 +1,10 @@ +# Shared Loyalty Card + +Someone wants to share a loyalty card with you. To import this loyalty card, you will first need to install the Loyalty Card Locker app. It is free, Open Source and contains no ads. + + +Get it on F-Droid + +Get it on Google Play + +After installing the app, just click the link you were given again and choose "Import loyalty card".