diff --git a/app/build.gradle b/app/build.gradle index 702131e2b2..f4722b492d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -15,8 +15,8 @@ android { applicationId "com.tangem.wallet" minSdkVersion 21 targetSdkVersion 27 - versionCode 54 - versionName "0.87.3." + generateVersionName() + versionCode 53 + versionName "0.88.1." + generateVersionName() testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/app/src/main/java/com/tangem/domain/wallet/BalanceValidator.java b/app/src/main/java/com/tangem/domain/wallet/BalanceValidator.java index 28039955e4..2859b6fe9c 100644 --- a/app/src/main/java/com/tangem/domain/wallet/BalanceValidator.java +++ b/app/src/main/java/com/tangem/domain/wallet/BalanceValidator.java @@ -26,6 +26,8 @@ public class BalanceValidator { public void Check(TangemCard card) { + + firstLine = "Verification failed"; secondLine = ""; @@ -36,6 +38,15 @@ public class BalanceValidator { secondLine = "Balance cannot be verified. Swipe down to refresh."; return; } + + // Workaround before new back-end +// if (!HasEverSigned(card)) { +// firstLine = "Verified balance"; +// secondLine = "Balance confirmed in blockchain. "; +// secondLine += "Verified note identity. "; +// return; +// } + // rule 2.a if(!VerificationWalletKey(card)) { score = 0; @@ -89,13 +100,14 @@ public class BalanceValidator { } // rule 4 TODO: need to check SignedHashed against number of outputs in blockchain - if(HasEverSigned(card) && card.getBalance() != 0) - { - score = 80; - firstLine = "Unguaranteed balance"; - secondLine = "Potential unsent transaction. Redeem immediately if accept. "; - return; - } +// if(HasEverSigned(card) && card.getBalance() != 0) +// { +// score = 80; +// firstLine = "Unguaranteed balance"; +// secondLine = "Potential unsent transaction. Redeem immediately if accept. "; +// return; +// } + // rule 7 if(CheckOfflineBalance(card) && !CheckOnlineBalance(card) && !HasEverSigned(card) && card.getBalance() != 0) { diff --git a/app/src/main/java/com/tangem/domain/wallet/TangemCard.java b/app/src/main/java/com/tangem/domain/wallet/TangemCard.java index f434872827..dbcf9572bb 100644 --- a/app/src/main/java/com/tangem/domain/wallet/TangemCard.java +++ b/app/src/main/java/com/tangem/domain/wallet/TangemCard.java @@ -1537,26 +1537,36 @@ public class TangemCard { } public int getCardImageResource() { - switch (getBlockchainID()) { - case "BTC": - if (bytesToHex(getDenomination()).equals("40420F0000000000")) - return R.drawable.card_btc001; - else if (bytesToHex(getDenomination()).equals("404B4C0000000000")) - return R.drawable.card_btc005; - else if (bytesToHex(getDenomination()).equals("0000000000000000")) - return R.drawable.card_btc_hk_s; - else - return R.drawable.card_default; - case "Token": - if (getTokenSymbol().equals("SEED")) - return R.drawable.card_seed; - else - return R.drawable.card_default; - - default: - return R.drawable.card_default; + switch (getBatch()) { + case "0004": case "0006": case "0010": return R.drawable.card_btc001; + case "0005": case "0007": case "0011": return R.drawable.card_btc005; + case "0012": return R.drawable.card_seed; + case "0013": return R.drawable.card_btc_hk_s; + case "0015": return R.drawable.card_default; //TODO: new BTC 0.00 + case "0016": return R.drawable.card_default; // TODO: new ETH 0.00 + default: return R.drawable.card_default; } + // switch (getBlockchainID()) { +// case "BTC": +// if (bytesToHex(getDenomination()).equals("40420F0000000000")) +// return R.drawable.card_btc001; +// else if (bytesToHex(getDenomination()).equals("404B4C0000000000")) +// return R.drawable.card_btc005; +// else if (bytesToHex(getDenomination()).equals("0000000000000000")) +// return R.drawable.card_btc_hk_s; +// else +// return R.drawable.card_default; +// +// case "Token": +// if (getTokenSymbol().equals("SEED")) +// return R.drawable.card_seed; +// else +// return R.drawable.card_default; +// +// default: +// return R.drawable.card_default; +// } } diff --git a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt index 119c65afc9..1ca895b434 100644 --- a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt +++ b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt @@ -162,21 +162,13 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific // set listeners srlLoadedWallet!!.setOnRefreshListener { this.refresh() } - ivLookup.setOnClickListener { + btnLookup.setOnClickListener { val engineClick = CoinEngineFactory.Create(mCard!!.blockchain) val browserIntent = Intent(Intent.ACTION_VIEW, engineClick!!.getShareWalletURIExplorer(mCard)) startActivity(browserIntent) } - tvLookup.setOnClickListener { - val engineClick = CoinEngineFactory.Create(mCard!!.blockchain) - val browserIntent = Intent(Intent.ACTION_VIEW, engineClick!!.getShareWalletURIExplorer(mCard)) - startActivity(browserIntent) - } - - ivCopy.setOnClickListener { doShareWallet(false) } - - tvCopy.setOnClickListener { doShareWallet(false) } + btnCopy.setOnClickListener { doShareWallet(false) } tvWallet.setOnClickListener { doShareWallet(false) } @@ -192,26 +184,14 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific } } - fabInfo.setOnClickListener { + btnDetails.setOnClickListener { if (mCardProtocol != null) openVerifyCard(mCardProtocol!!) else showSingleToast(R.string.need_attach_card_again) } - tvInfo.setOnClickListener { - if (mCardProtocol != null) - openVerifyCard(mCardProtocol!!) - else - showSingleToast(R.string.need_attach_card_again) - } - - fabNFC.setOnClickListener { - val intent = Intent(context, MainActivity::class.java) - startActivity(intent) - } - - tvNFC.setOnClickListener { + btnScanAgain.setOnClickListener { val intent = Intent(context, MainActivity::class.java) startActivity(intent) } diff --git a/app/src/main/java/com/tangem/util/UtilHelper.kt b/app/src/main/java/com/tangem/util/UtilHelper.kt index 1611ccf26e..d0f2a03dd7 100644 --- a/app/src/main/java/com/tangem/util/UtilHelper.kt +++ b/app/src/main/java/com/tangem/util/UtilHelper.kt @@ -13,8 +13,9 @@ object UtilHelper { @Throws(WriterException::class) fun generateQrCode(myCodeText: String): Bitmap { - val hintMap = Hashtable() - hintMap[EncodeHintType.ERROR_CORRECTION] = ErrorCorrectionLevel.H // H = 30% damage + val hintMap = Hashtable() + hintMap[EncodeHintType.ERROR_CORRECTION] = ErrorCorrectionLevel.M // H = 30% damage + hintMap[EncodeHintType.MARGIN] = 2 val qrCodeWriter = QRCodeWriter() diff --git a/app/src/main/res/drawable/ic_content_copy_black_24dp.xml b/app/src/main/res/drawable/ic_content_copy_black_24dp.xml index 5d3c83e62c..5ebe023ba1 100755 --- a/app/src/main/res/drawable/ic_content_copy_black_24dp.xml +++ b/app/src/main/res/drawable/ic_content_copy_black_24dp.xml @@ -4,5 +4,5 @@ android:width="24dp" android:viewportWidth="24" android:viewportHeight="24"> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_explore_black_24dp.xml b/app/src/main/res/drawable/ic_explore_black_24dp.xml new file mode 100644 index 0000000000..d2157fa8d2 --- /dev/null +++ b/app/src/main/res/drawable/ic_explore_black_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_information_variant_white_24dp.xml b/app/src/main/res/drawable/ic_information_variant_white_24dp.xml deleted file mode 100755 index 2ef2c2a041..0000000000 --- a/app/src/main/res/drawable/ic_information_variant_white_24dp.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_nfc_white_24dp.xml b/app/src/main/res/drawable/ic_nfc_white_24dp.xml index fe750229c4..ae658a5cac 100755 --- a/app/src/main/res/drawable/ic_nfc_white_24dp.xml +++ b/app/src/main/res/drawable/ic_nfc_white_24dp.xml @@ -4,5 +4,5 @@ android:width="24dp" android:viewportWidth="24" android:viewportHeight="24"> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_settings_black_24dp.xml b/app/src/main/res/drawable/ic_settings_black_24dp.xml new file mode 100644 index 0000000000..c70eacc165 --- /dev/null +++ b/app/src/main/res/drawable/ic_settings_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_confirm_payment.xml b/app/src/main/res/layout/activity_confirm_payment.xml index 142ec7c5da..f3f2b8a9ce 100644 --- a/app/src/main/res/layout/activity_confirm_payment.xml +++ b/app/src/main/res/layout/activity_confirm_payment.xml @@ -26,10 +26,10 @@ android:id="@+id/llPayment" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginLeft="5dp" android:background="@color/btn_light" android:orientation="vertical" android:paddingBottom="8dp" + android:paddingLeft="5dp" android:paddingTop="8dp" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintLeft_toLeftOf="parent" diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 0149692c1d..dc75f56d24 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -121,12 +121,13 @@ android:layout_marginTop="24dp" android:fontFamily="@font/maax" android:gravity="top" + android:lineSpacingExtra="8sp" android:text="@string/tap_tangem_card" android:textAlignment="center" android:textAllCaps="false" android:textAppearance="@style/TextAppearance.AppCompat.Medium" android:textColor="@color/primary_dark" - android:textSize="@dimen/text_size_medium"/> + android:textSize="@dimen/text_size_medium" /> diff --git a/app/src/main/res/layout/fr_loaded_wallet.xml b/app/src/main/res/layout/fr_loaded_wallet.xml index 895c31cf3b..71f5277515 100644 --- a/app/src/main/res/layout/fr_loaded_wallet.xml +++ b/app/src/main/res/layout/fr_loaded_wallet.xml @@ -23,32 +23,35 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="1.0"> - + android:layout_height="0dp" + app:layout_constraintBottom_toTopOf="@+id/loBalance" + app:layout_constraintTop_toTopOf="parent"> @@ -83,15 +86,17 @@ + android:orientation="vertical" + app:layout_constraintBottom_toTopOf="@+id/loWallet" + tools:layout_editor_absoluteX="5dp"> @@ -124,11 +129,9 @@ android:id="@+id/tvBalanceLine1" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="10dp" android:fontFamily="@font/maaxmedium" android:textAlignment="center" - android:textColor="@color/msg_err" - android:textSize="@dimen/text_size_medium" + android:visibility="invisible" tools:text="Verification field" /> + app:layout_constraintBottom_toBottomOf="parent"> + android:layout_width="0dp" + android:layout_height="@dimen/size_qr_image" + android:layout_weight="1" /> @@ -167,72 +174,53 @@ android:id="@+id/tvWallet" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginBottom="10dp" + android:layout_marginRight="4dp" android:fontFamily="@font/maax" android:textAlignment="center" android:textColor="@android:color/black" android:textSize="@dimen/text_size_1_small" tools:text="1DoQdnSYshhZ5Tqt5Sk6svZt29jqoYVwQY" /> - + android:layout_height="34dp" + android:layout_marginBottom="5dp" + android:layout_marginTop="10dp" + android:layout_weight="1" + android:backgroundTint="@color/white" + android:drawableLeft="@drawable/ic_explore_black_24dp" + android:elevation="15dp" + android:fontFamily="@font/saira_condensed_bold" + android:paddingLeft="20dp" + android:paddingRight="20dp" + android:text="@string/explore" + android:textColor="@color/primary_dark" /> - - - - - - - - - - - - - + android:layout_height="34dp" + android:layout_marginBottom="5dp" + android:layout_marginTop="10dp" + android:layout_weight="1" + android:backgroundTint="@color/white" + android:drawableLeft="@drawable/ic_content_copy_black_24dp" + android:elevation="15dp" + android:fontFamily="@font/saira_condensed_bold" + android:paddingLeft="20dp" + android:paddingRight="20dp" + android:text="@string/copy" + android:textColor="@color/primary_dark" /> - + > @@ -333,23 +321,22 @@ android:orientation="horizontal" android:paddingBottom="10dp"> - - - + android:textColor="@color/primary_dark" /> @@ -361,23 +348,22 @@ android:orientation="horizontal" android:paddingBottom="10dp"> - - - + android:textColor="@color/primary_dark" /> diff --git a/app/src/main/res/layout/fr_verify_card.xml b/app/src/main/res/layout/fr_verify_card.xml index 8160529a88..27f1194a3f 100644 --- a/app/src/main/res/layout/fr_verify_card.xml +++ b/app/src/main/res/layout/fr_verify_card.xml @@ -427,12 +427,13 @@ @@ -482,7 +483,7 @@ android:layout_height="wrap_content" android:fontFamily="@font/maax" android:textColor="@color/primary_dark" - android:textSize="@dimen/text_size_1_small" + android:textSize="@dimen/text_size_2_small" android:textStyle="normal|bold" tools:text="Electrum" /> @@ -507,7 +508,7 @@ android:layout_height="wrap_content" android:fontFamily="@font/maax" android:textColor="@color/primary_dark" - android:textSize="@dimen/text_size_1_small" + android:textSize="@dimen/text_size_2_small" android:textStyle="normal|bold" tools:text="1 unspent" /> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index bb9b5f6e5a..0578685fed 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -20,7 +20,7 @@ #BFFF4444 #4a086e #0c15c1 - #e3e3e3 + #FFE3E3E3 #FFC3C3C3 #303030 @color/white