diff --git a/app/src/main/java/com/tangem/di/ToastHelper.kt b/app/src/main/java/com/tangem/di/ToastHelper.kt
index c19cfe6cf9..664a83d479 100644
--- a/app/src/main/java/com/tangem/di/ToastHelper.kt
+++ b/app/src/main/java/com/tangem/di/ToastHelper.kt
@@ -45,6 +45,13 @@ class ToastHelper {
snackbar.show()
}
+ fun showSnackbarWarning(context: Context, vg: ViewGroup, message: String) {
+ val snackbar = Snackbar.make(vg, message, Snackbar.LENGTH_LONG)
+ val snackView = snackbar.view
+ snackView.setBackgroundColor(context.resources.getColor(R.color.msg_err))
+ snackbar.show()
+ }
+
private var singleToast: Toast? = null
private var showTime: Date = Date()
diff --git a/app/src/main/java/com/tangem/di/ToastHelperComponent.kt b/app/src/main/java/com/tangem/di/ToastHelperComponent.kt
index 1957d59a6a..24d5165c5e 100644
--- a/app/src/main/java/com/tangem/di/ToastHelperComponent.kt
+++ b/app/src/main/java/com/tangem/di/ToastHelperComponent.kt
@@ -1,5 +1,6 @@
package com.tangem.di
+import com.tangem.ui.ConfirmTransactionActivity
import com.tangem.ui.PrepareTransactionActivity
import com.tangem.ui.activity.EmptyWalletActivity
import com.tangem.ui.activity.LoadedWalletActivity
@@ -15,6 +16,8 @@ interface ToastHelperComponent {
fun inject(activity: LoadedWalletActivity)
+ fun inject(activity: ConfirmTransactionActivity)
+
fun inject(activity: PrepareTransactionActivity)
fun inject(activity: EmptyWalletActivity)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 002f70699b..080eb72bcf 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -219,6 +219,7 @@
PIN2 is required to sign the payment
Not enough funds
Service unavailable
+ You have a risk of delaying transaction
Wallet hasn\'t been yet created
diff --git a/app/src/tangemAccess/java/com/tangem/ui/ConfirmTransactionActivity.kt b/app/src/tangemAccess/java/com/tangem/ui/ConfirmTransactionActivity.kt
index 60921bcef7..88b5d56871 100644
--- a/app/src/tangemAccess/java/com/tangem/ui/ConfirmTransactionActivity.kt
+++ b/app/src/tangemAccess/java/com/tangem/ui/ConfirmTransactionActivity.kt
@@ -2,40 +2,49 @@ package com.tangem.ui
import android.app.Activity
import android.content.Intent
+import android.content.SharedPreferences
import android.nfc.NfcAdapter
import android.nfc.Tag
import android.os.Build
import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
+import android.preference.PreferenceManager
import android.text.Editable
import android.text.Html
import android.text.TextWatcher
import android.view.KeyEvent
import android.view.View
import android.widget.Toast
+import androidx.appcompat.app.AppCompatActivity
+import com.tangem.App
import com.tangem.Constant
-import com.tangem.data.Blockchain
-import com.tangem.wallet.CoinEngine
-import com.tangem.wallet.CoinEngineFactory
-import com.tangem.wallet.TangemContext
-import com.tangem.ui.event.TransactionFinishWithError
import com.tangem.card_android.android.nfc.NfcLifecycleObserver
import com.tangem.card_android.android.reader.NfcManager
+import com.tangem.card_android.data.EXTRA_TANGEM_CARD
+import com.tangem.card_android.data.EXTRA_TANGEM_CARD_UID
import com.tangem.card_android.data.loadFromBundle
import com.tangem.card_common.data.TangemCard
+import com.tangem.data.Blockchain
+import com.tangem.di.ToastHelper
+import com.tangem.ui.activity.PinRequestActivity
+import com.tangem.ui.activity.SignTransactionActivity
+import com.tangem.ui.event.TransactionFinishWithError
import com.tangem.util.UtilHelper
+import com.tangem.wallet.CoinEngine
+import com.tangem.wallet.CoinEngineFactory
import com.tangem.wallet.R
+import com.tangem.wallet.TangemContext
+import kotlinx.android.synthetic.tangemAccess.activity_confirm_transaction.*
import org.greenrobot.eventbus.EventBus
import java.io.IOException
import java.util.*
-import com.tangem.card_android.data.EXTRA_TANGEM_CARD
-import com.tangem.card_android.data.EXTRA_TANGEM_CARD_UID
-import com.tangem.ui.activity.PinRequestActivity
-import com.tangem.ui.activity.SignTransactionActivity
-import kotlinx.android.synthetic.tangemAccess.activity_confirm_transaction.*
+import javax.inject.Inject
class ConfirmTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
+ @Inject
+ internal lateinit var toastHelper: ToastHelper
+
+ private lateinit var sp: SharedPreferences
private lateinit var nfcManager: NfcManager
private lateinit var ctx: TangemContext
private lateinit var amount: CoinEngine.Amount
@@ -49,6 +58,10 @@ class ConfirmTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_confirm_transaction)
+ App.toastHelperComponent.inject(this)
+
+ sp = PreferenceManager.getDefaultSharedPreferences(this)
+
nfcManager = NfcManager(this, this)
lifecycle.addObserver(NfcLifecycleObserver(nfcManager))
@@ -95,6 +108,8 @@ class ConfirmTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac
rgFee.visibility = View.INVISIBLE
}
+ etFee.isEnabled = sp.getBoolean(getString(R.string.pref_manual_editing_fee), false)
+
// set listeners
rgFee.setOnCheckedChangeListener { _, checkedId -> doSetFee(checkedId) }
etFee.addTextChangedListener(object : TextWatcher {
@@ -114,6 +129,9 @@ class ConfirmTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac
} else
tvFeeEquivalent.error = null
+ if (sp.getBoolean(getString(R.string.pref_manual_editing_fee), false))
+ toastHelper.showSingleToast(this@ConfirmTransactionActivity, getString(R.string.risk_delaying))
+
} catch (e: Exception) {
e.printStackTrace()
tvFeeEquivalent.text = ""
diff --git a/app/src/tangemAccess/res/layout/activity_confirm_transaction.xml b/app/src/tangemAccess/res/layout/activity_confirm_transaction.xml
index f41865d204..a3e049834c 100644
--- a/app/src/tangemAccess/res/layout/activity_confirm_transaction.xml
+++ b/app/src/tangemAccess/res/layout/activity_confirm_transaction.xml
@@ -2,6 +2,7 @@