From 8b5ed4f3e9f3abd4633239417853ca65505fea25 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 26 Dec 2018 15:22:56 +0300 Subject: [PATCH 1/6] Updated on 2026-08-14 --- .../presentation/activity/MainActivity.kt | 4 + .../dialog/WaitSecurityDelayDialogNew.kt | 117 +++++++++--------- 2 files changed, 61 insertions(+), 60 deletions(-) diff --git a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt index dd8bc8b525..28c4231e80 100644 --- a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt @@ -38,6 +38,7 @@ import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.RootFoundDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog +import com.tangem.presentation.dialog.WaitSecurityDelayDialogNew import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.TangemCard import com.tangem.tangemcard.data.loadFromBundle @@ -84,6 +85,9 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) +// val waitSecurityDelayDialogNew = WaitSecurityDelayDialogNew() +// waitSecurityDelayDialogNew.show(supportFragmentManager, WaitSecurityDelayDialogNew.TAG) + App.getNavigatorComponent().inject(this) requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT diff --git a/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt b/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt index 80173180d6..c400be56a8 100644 --- a/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt +++ b/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt @@ -1,10 +1,11 @@ package com.tangem.presentation.dialog -import android.app.Activity +import android.annotation.SuppressLint import android.app.AlertDialog import android.app.Dialog import android.os.Bundle import android.support.v7.app.AppCompatDialogFragment +import android.widget.ProgressBar import com.tangem.wallet.R import kotlinx.android.synthetic.main.dialog_wait_pin2.* import java.util.* @@ -18,27 +19,33 @@ class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { private const val DELAY_BEFORE_SHOW_DIALOG = 5000 } + private lateinit var pb: ProgressBar + private var msTimeout = 60000 private var msProgress = 0 private var timer: Timer? = null private var timerToShowDelayDialog: Timer? = null - private var instance: WaitSecurityDelayDialogNew? = null + @SuppressLint("InflateParams") override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val inflater = activity!!.layoutInflater val v = inflater.inflate(R.layout.dialog_wait_pin2, null) - progressBar.max = msTimeout - progressBar.progress = msProgress + isCancelable = false + + pb = v.findViewById(R.id.progressBar) + + + pb.max = msTimeout + pb.progress = msProgress timer = Timer() timer!!.scheduleAtFixedRate(object : TimerTask() { override fun run() { - progressBar.post { - val progress = this@WaitSecurityDelayDialogNew.progressBar.progress - if (progress < this@WaitSecurityDelayDialogNew.progressBar.max) { - this@WaitSecurityDelayDialogNew.progressBar.progress = progress + 1000 - } + pb.post { + val progress = pb.progress + if (progress < pb.max) + pb.progress = progress + 1000 } } }, 1000, 1000) @@ -51,59 +58,48 @@ class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { .create() } - fun onReadBeforeRequest(activity: Activity, timeout: Int) { - activity.runOnUiThread(Runnable { - if (timerToShowDelayDialog != null || timeout < DELAY_BEFORE_SHOW_DIALOG + MIN_REMAINING_DELAY_TO_SHOW_DIALOG) - return@Runnable + fun onReadBeforeRequest(timeout: Int) { + if (timerToShowDelayDialog != null || timeout < DELAY_BEFORE_SHOW_DIALOG + MIN_REMAINING_DELAY_TO_SHOW_DIALOG) + return + + timerToShowDelayDialog = Timer() + timerToShowDelayDialog!!.schedule(object : TimerTask() { + override fun run() { + setup(timeout, DELAY_BEFORE_SHOW_DIALOG) + isCancelable = false + show(activity?.supportFragmentManager, TAG) + } + }, DELAY_BEFORE_SHOW_DIALOG.toLong()) - timerToShowDelayDialog = Timer() - timerToShowDelayDialog!!.schedule(object : TimerTask() { - override fun run() { - if (instance != null) return - instance = WaitSecurityDelayDialogNew() - instance!!.setup(timeout, DELAY_BEFORE_SHOW_DIALOG) - instance!!.isCancelable = false -// instance.show(activity.fragmentManager, TAG) - } - }, DELAY_BEFORE_SHOW_DIALOG.toLong()) - }) } - fun onReadAfterRequest(activity: Activity) { - activity.runOnUiThread(Runnable { - if (timerToShowDelayDialog == null) return@Runnable + fun onReadAfterRequest() { + if (timerToShowDelayDialog == null) + return + + timerToShowDelayDialog!!.cancel() + timerToShowDelayDialog = null + } + + fun onReadWait(msec: Int) { + if (timerToShowDelayDialog != null) { timerToShowDelayDialog!!.cancel() timerToShowDelayDialog = null - }) - } + } - fun onReadWait(activity: Activity, msec: Int) { - activity.runOnUiThread(Runnable { - if (timerToShowDelayDialog != null) { - timerToShowDelayDialog!!.cancel() - timerToShowDelayDialog = null - } + if (msec == 0) { + dismiss() + return + } - if (msec == 0) { - if (instance != null) { - instance!!.dismiss() - instance = null - } - return@Runnable - } + if (msec > MIN_REMAINING_DELAY_TO_SHOW_DIALOG) { + // 1000ms - card delay notification interval + setup(msec + 1000, 1000) + isCancelable = false + show(activity?.supportFragmentManager, TAG) - if (instance == null) { - if (msec > MIN_REMAINING_DELAY_TO_SHOW_DIALOG) { - instance = WaitSecurityDelayDialogNew() - // 1000ms - card delay notification interval - instance!!.setup(msec + 1000, 1000) - instance!!.isCancelable = false -// instance.show(activity.fragmentManager, TAG) - } - } else { - instance!!.setRemainingTimeout(msec) - } - }) + } else + setRemainingTimeout(msec) } private fun setup(msTimeout: Int, msProgress: Int) { @@ -112,19 +108,20 @@ class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { } private fun setRemainingTimeout(msec: Int) { - progressBar.post { - val progress = this@WaitSecurityDelayDialogNew.progressBar.progress + pb.post { + val progress = pb.progress if (timer != null) { + // we get delay latency from card for first time - don't change progress by timer, only by card answer - progressBar.max = progress + msec + pb.max = progress + msec timer!!.cancel() timer = null } else { - val newProgress = progressBar.max - msec - if (newProgress > progress) + val newProgress = pb.max - msec + if (pb.max > progress) progressBar.progress = newProgress else - progressBar.max = progress + msec + pb.max = progress + msec } } } From c01895f6abcdc51c2c732b3c453cb228acf5dd07 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 27 Dec 2018 14:15:54 +0300 Subject: [PATCH 2/6] Updated on 2026-08-14 --- .../presentation/activity/MainActivity.kt | 3 --- .../activity/SignPaymentActivity.kt | 21 ++++++++++++++++--- .../dialog/WaitSecurityDelayDialogNew.kt | 12 +++++------ 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt index 28c4231e80..2978ee8a4f 100644 --- a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt @@ -85,9 +85,6 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) -// val waitSecurityDelayDialogNew = WaitSecurityDelayDialogNew() -// waitSecurityDelayDialogNew.show(supportFragmentManager, WaitSecurityDelayDialogNew.TAG) - App.getNavigatorComponent().inject(this) requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT diff --git a/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt b/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt index 0763437609..3cac8e6a19 100644 --- a/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt @@ -20,12 +20,14 @@ import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog +import com.tangem.presentation.dialog.WaitSecurityDelayDialogNew import com.tangem.tangemcard.reader.CardProtocol import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.asBundle import com.tangem.tangemcard.tasks.SignTask import com.tangem.tangemcard.util.Util +import com.tangem.util.LOG import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_sign_payment.* @@ -252,16 +254,29 @@ class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card }, 500) } - override fun onReadWait(msec: Int) { - WaitSecurityDelayDialog.onReadWait(this, msec) - } + private val waitSecurityDelayDialogNew = WaitSecurityDelayDialogNew() override fun onReadBeforeRequest(timeout: Int) { + LOG.i(TAG, "onReadBeforeRequest timeout $timeout") WaitSecurityDelayDialog.onReadBeforeRequest(this, timeout) + } override fun onReadAfterRequest() { + LOG.i(TAG, "onReadAfterRequest") WaitSecurityDelayDialog.onReadAfterRequest(this) + } + override fun onReadWait(msec: Int) { + LOG.i(TAG, "onReadWait msec $msec") + WaitSecurityDelayDialog.onReadWait(this, msec) + + + } + + + + + } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt b/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt index c400be56a8..0b08c8e5ea 100644 --- a/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt +++ b/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt @@ -7,7 +7,6 @@ import android.os.Bundle import android.support.v7.app.AppCompatDialogFragment import android.widget.ProgressBar import com.tangem.wallet.R -import kotlinx.android.synthetic.main.dialog_wait_pin2.* import java.util.* class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { @@ -31,11 +30,8 @@ class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { val inflater = activity!!.layoutInflater val v = inflater.inflate(R.layout.dialog_wait_pin2, null) - isCancelable = false - pb = v.findViewById(R.id.progressBar) - pb.max = msTimeout pb.progress = msProgress @@ -67,7 +63,8 @@ class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { override fun run() { setup(timeout, DELAY_BEFORE_SHOW_DIALOG) isCancelable = false - show(activity?.supportFragmentManager, TAG) +// if (!isVisible) + show(activity?.supportFragmentManager, TAG) } }, DELAY_BEFORE_SHOW_DIALOG.toLong()) @@ -96,7 +93,8 @@ class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { // 1000ms - card delay notification interval setup(msec + 1000, 1000) isCancelable = false - show(activity?.supportFragmentManager, TAG) +// if (!isVisible) + show(activity?.supportFragmentManager, TAG) } else setRemainingTimeout(msec) @@ -119,7 +117,7 @@ class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { } else { val newProgress = pb.max - msec if (pb.max > progress) - progressBar.progress = newProgress + pb.progress = newProgress else pb.max = progress + msec } From aac014439b50d9d4bf71c947facad283c092b663 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 27 Dec 2018 16:19:48 +0300 Subject: [PATCH 3/6] Updated on 2026-08-14 --- .../activity/SignPaymentActivity.kt | 35 +++++-- .../dialog/WaitSecurityDelayDialogNew.kt | 97 ++++++++++++++++--- .../presentation/event/ReadAfterRequest.kt | 4 + .../presentation/event/ReadBeforeRequest.kt | 5 + .../com/tangem/presentation/event/ReadWait.kt | 5 + 5 files changed, 124 insertions(+), 22 deletions(-) create mode 100644 app/src/main/java/com/tangem/presentation/event/ReadAfterRequest.kt create mode 100644 app/src/main/java/com/tangem/presentation/event/ReadBeforeRequest.kt create mode 100644 app/src/main/java/com/tangem/presentation/event/ReadWait.kt diff --git a/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt b/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt index 3cac8e6a19..6b43c44410 100644 --- a/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt @@ -21,6 +21,10 @@ import com.tangem.domain.wallet.TangemContext import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialogNew +import com.tangem.presentation.event.ReadAfterRequest +import com.tangem.presentation.event.ReadBeforeRequest +import com.tangem.presentation.event.ReadWait +import com.tangem.presentation.event.TransactionFinishWithError import com.tangem.tangemcard.reader.CardProtocol import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader @@ -30,6 +34,7 @@ import com.tangem.tangemcard.util.Util import com.tangem.util.LOG import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_sign_payment.* +import org.greenrobot.eventbus.EventBus class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtocol.Notifications { @@ -257,26 +262,38 @@ class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card private val waitSecurityDelayDialogNew = WaitSecurityDelayDialogNew() override fun onReadBeforeRequest(timeout: Int) { - LOG.i(TAG, "onReadBeforeRequest timeout $timeout") - WaitSecurityDelayDialog.onReadBeforeRequest(this, timeout) +// LOG.i(TAG, "onReadBeforeRequest timeout $timeout") +// WaitSecurityDelayDialog.onReadBeforeRequest(this, timeout) + + if (!waitSecurityDelayDialogNew.isAdded) + waitSecurityDelayDialogNew.show(supportFragmentManager, WaitSecurityDelayDialogNew.TAG) + + + val readBeforeRequest = ReadBeforeRequest() + readBeforeRequest.timeout = timeout + EventBus.getDefault().post(readBeforeRequest) } override fun onReadAfterRequest() { - LOG.i(TAG, "onReadAfterRequest") - WaitSecurityDelayDialog.onReadAfterRequest(this) +// LOG.i(TAG, "onReadAfterRequest") +// WaitSecurityDelayDialog.onReadAfterRequest(this) + + val readAfterRequest = ReadAfterRequest() + EventBus.getDefault().post(readAfterRequest) } override fun onReadWait(msec: Int) { - LOG.i(TAG, "onReadWait msec $msec") - WaitSecurityDelayDialog.onReadWait(this, msec) +// LOG.i(TAG, "onReadWait msec $msec") +// WaitSecurityDelayDialog.onReadWait(this, msec) + + val readWait = ReadWait() + readWait.msec = msec + EventBus.getDefault().post(readWait) } - - - } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt b/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt index 0b08c8e5ea..4e44beb311 100644 --- a/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt +++ b/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt @@ -6,7 +6,15 @@ import android.app.Dialog import android.os.Bundle import android.support.v7.app.AppCompatDialogFragment import android.widget.ProgressBar +import com.tangem.presentation.activity.SignPaymentActivity +import com.tangem.presentation.event.ReadAfterRequest +import com.tangem.presentation.event.ReadBeforeRequest +import com.tangem.presentation.event.ReadWait +import com.tangem.presentation.event.TransactionFinishWithSuccess +import com.tangem.util.LOG import com.tangem.wallet.R +import org.greenrobot.eventbus.EventBus +import org.greenrobot.eventbus.Subscribe import java.util.* class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { @@ -54,23 +62,38 @@ class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { .create() } - fun onReadBeforeRequest(timeout: Int) { - if (timerToShowDelayDialog != null || timeout < DELAY_BEFORE_SHOW_DIALOG + MIN_REMAINING_DELAY_TO_SHOW_DIALOG) + override fun onStart() { + super.onStart() + EventBus.getDefault().register(this) + } + + override fun onStop() { + super.onStop() + EventBus.getDefault().unregister(this) + } + + @Subscribe + fun readBeforeRequest(readBeforeRequest: ReadBeforeRequest) { + LOG.i(TAG, "readBeforeRequest 111") + + if (timerToShowDelayDialog != null || readBeforeRequest.timeout!! < DELAY_BEFORE_SHOW_DIALOG + MIN_REMAINING_DELAY_TO_SHOW_DIALOG) return timerToShowDelayDialog = Timer() timerToShowDelayDialog!!.schedule(object : TimerTask() { override fun run() { - setup(timeout, DELAY_BEFORE_SHOW_DIALOG) + setup(readBeforeRequest.timeout!!, DELAY_BEFORE_SHOW_DIALOG) isCancelable = false -// if (!isVisible) + if (!isAdded) show(activity?.supportFragmentManager, TAG) } }, DELAY_BEFORE_SHOW_DIALOG.toLong()) - } - fun onReadAfterRequest() { + @Subscribe + fun readAfterRequest(readAfterRequest: ReadAfterRequest) { + LOG.i(TAG, "readAfterRequest 222") + if (timerToShowDelayDialog == null) return @@ -78,26 +101,74 @@ class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { timerToShowDelayDialog = null } - fun onReadWait(msec: Int) { + @Subscribe + fun readWait(readWait: ReadWait) { + LOG.i(TAG, "readWait 333") + if (timerToShowDelayDialog != null) { timerToShowDelayDialog!!.cancel() timerToShowDelayDialog = null } - if (msec == 0) { + if (readWait.msec == 0) { dismiss() return } - if (msec > MIN_REMAINING_DELAY_TO_SHOW_DIALOG) { + if (readWait.msec!! > MIN_REMAINING_DELAY_TO_SHOW_DIALOG) { // 1000ms - card delay notification interval - setup(msec + 1000, 1000) + setup(readWait.msec!! + 1000, 1000) isCancelable = false -// if (!isVisible) - show(activity?.supportFragmentManager, TAG) +// if (!isAdded) +// show(activity?.supportFragmentManager, TAG) } else - setRemainingTimeout(msec) + setRemainingTimeout(readWait.msec!!) + } + + fun onReadBeforeRequest(timeout: Int) { +// if (timerToShowDelayDialog != null || timeout < DELAY_BEFORE_SHOW_DIALOG + MIN_REMAINING_DELAY_TO_SHOW_DIALOG) +// return +// +// timerToShowDelayDialog = Timer() +// timerToShowDelayDialog!!.schedule(object : TimerTask() { +// override fun run() { +// setup(timeout, DELAY_BEFORE_SHOW_DIALOG) +// isCancelable = false +// if (!isVisible) +// show(activity?.supportFragmentManager, TAG) +// } +// }, DELAY_BEFORE_SHOW_DIALOG.toLong()) + } + + fun onReadAfterRequest() { +// if (timerToShowDelayDialog == null) +// return +// +// timerToShowDelayDialog!!.cancel() +// timerToShowDelayDialog = null + } + + fun onReadWait(msec: Int) { +// if (timerToShowDelayDialog != null) { +// timerToShowDelayDialog!!.cancel() +// timerToShowDelayDialog = null +// } +// +// if (msec == 0) { +// dismiss() +// return +// } +// +// if (msec > MIN_REMAINING_DELAY_TO_SHOW_DIALOG) { +// // 1000ms - card delay notification interval +// setup(msec + 1000, 1000) +// isCancelable = false +//// if (!isVisible) +// show(activity?.supportFragmentManager, TAG) +// +// } else +// setRemainingTimeout(msec) } private fun setup(msTimeout: Int, msProgress: Int) { diff --git a/app/src/main/java/com/tangem/presentation/event/ReadAfterRequest.kt b/app/src/main/java/com/tangem/presentation/event/ReadAfterRequest.kt new file mode 100644 index 0000000000..a5b3398ec2 --- /dev/null +++ b/app/src/main/java/com/tangem/presentation/event/ReadAfterRequest.kt @@ -0,0 +1,4 @@ +package com.tangem.presentation.event + +class ReadAfterRequest { +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/presentation/event/ReadBeforeRequest.kt b/app/src/main/java/com/tangem/presentation/event/ReadBeforeRequest.kt new file mode 100644 index 0000000000..e9d1690bd5 --- /dev/null +++ b/app/src/main/java/com/tangem/presentation/event/ReadBeforeRequest.kt @@ -0,0 +1,5 @@ +package com.tangem.presentation.event + +class ReadBeforeRequest { + var timeout: Int? = null +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/presentation/event/ReadWait.kt b/app/src/main/java/com/tangem/presentation/event/ReadWait.kt new file mode 100644 index 0000000000..3b35bf479b --- /dev/null +++ b/app/src/main/java/com/tangem/presentation/event/ReadWait.kt @@ -0,0 +1,5 @@ +package com.tangem.presentation.event + +class ReadWait { + var msec: Int? = null +} \ No newline at end of file From dfd7409c5dea57c48e4d652f217f235c85698783 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 10 Jan 2019 15:49:52 +0300 Subject: [PATCH 4/6] Updated on 2026-08-14 --- .../presentation/activity/MainActivity.kt | 9 ++-- .../activity/SignPaymentActivity.kt | 42 ++++++++--------- .../dialog/WaitSecurityDelayDialogNew.kt | 45 ------------------- 3 files changed, 22 insertions(+), 74 deletions(-) diff --git a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt index 2978ee8a4f..06cfd6347e 100644 --- a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt @@ -28,21 +28,20 @@ import com.tangem.App import com.tangem.Constant import com.tangem.data.Logger import com.tangem.data.network.ServerApiCommon -import com.tangem.tangemcard.android.nfc.DeviceNFCAntennaLocation -import com.tangem.tangemcard.tasks.ReadCardInfoTask import com.tangem.di.Navigator import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext -import com.tangem.tangemcard.reader.CardProtocol -import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.RootFoundDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog -import com.tangem.presentation.dialog.WaitSecurityDelayDialogNew +import com.tangem.tangemcard.android.nfc.DeviceNFCAntennaLocation +import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.TangemCard import com.tangem.tangemcard.data.loadFromBundle import com.tangem.tangemcard.data.saveToBundle +import com.tangem.tangemcard.reader.CardProtocol +import com.tangem.tangemcard.tasks.ReadCardInfoTask import com.tangem.util.CommonUtil import com.tangem.util.LOG import com.tangem.util.PhoneUtility diff --git a/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt b/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt index 6b43c44410..3258c8e3f4 100644 --- a/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt @@ -20,21 +20,15 @@ import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog -import com.tangem.presentation.dialog.WaitSecurityDelayDialogNew -import com.tangem.presentation.event.ReadAfterRequest -import com.tangem.presentation.event.ReadBeforeRequest -import com.tangem.presentation.event.ReadWait -import com.tangem.presentation.event.TransactionFinishWithError -import com.tangem.tangemcard.reader.CardProtocol import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.asBundle +import com.tangem.tangemcard.reader.CardProtocol import com.tangem.tangemcard.tasks.SignTask import com.tangem.tangemcard.util.Util import com.tangem.util.LOG import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_sign_payment.* -import org.greenrobot.eventbus.EventBus class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtocol.Notifications { @@ -259,38 +253,38 @@ class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card }, 500) } - private val waitSecurityDelayDialogNew = WaitSecurityDelayDialogNew() +// private val waitSecurityDelayDialogNew = WaitSecurityDelayDialogNew() override fun onReadBeforeRequest(timeout: Int) { -// LOG.i(TAG, "onReadBeforeRequest timeout $timeout") -// WaitSecurityDelayDialog.onReadBeforeRequest(this, timeout) + LOG.i(TAG, "onReadBeforeRequest timeout $timeout") + WaitSecurityDelayDialog.onReadBeforeRequest(this, timeout) - if (!waitSecurityDelayDialogNew.isAdded) - waitSecurityDelayDialogNew.show(supportFragmentManager, WaitSecurityDelayDialogNew.TAG) +// if (!waitSecurityDelayDialogNew.isAdded) +// waitSecurityDelayDialogNew.show(supportFragmentManager, WaitSecurityDelayDialogNew.TAG) - val readBeforeRequest = ReadBeforeRequest() - readBeforeRequest.timeout = timeout - EventBus.getDefault().post(readBeforeRequest) +// val readBeforeRequest = ReadBeforeRequest() +// readBeforeRequest.timeout = timeout +// EventBus.getDefault().post(readBeforeRequest) } override fun onReadAfterRequest() { -// LOG.i(TAG, "onReadAfterRequest") -// WaitSecurityDelayDialog.onReadAfterRequest(this) + LOG.i(TAG, "onReadAfterRequest") + WaitSecurityDelayDialog.onReadAfterRequest(this) - val readAfterRequest = ReadAfterRequest() - EventBus.getDefault().post(readAfterRequest) +// val readAfterRequest = ReadAfterRequest() +// EventBus.getDefault().post(readAfterRequest) } override fun onReadWait(msec: Int) { -// LOG.i(TAG, "onReadWait msec $msec") -// WaitSecurityDelayDialog.onReadWait(this, msec) + LOG.i(TAG, "onReadWait msec $msec") + WaitSecurityDelayDialog.onReadWait(this, msec) - val readWait = ReadWait() - readWait.msec = msec - EventBus.getDefault().post(readWait) +// val readWait = ReadWait() +// readWait.msec = msec +// EventBus.getDefault().post(readWait) } diff --git a/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt b/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt index 4e44beb311..7a29f8f39b 100644 --- a/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt +++ b/app/src/main/java/com/tangem/presentation/dialog/WaitSecurityDelayDialogNew.kt @@ -126,51 +126,6 @@ class WaitSecurityDelayDialogNew : AppCompatDialogFragment() { setRemainingTimeout(readWait.msec!!) } - fun onReadBeforeRequest(timeout: Int) { -// if (timerToShowDelayDialog != null || timeout < DELAY_BEFORE_SHOW_DIALOG + MIN_REMAINING_DELAY_TO_SHOW_DIALOG) -// return -// -// timerToShowDelayDialog = Timer() -// timerToShowDelayDialog!!.schedule(object : TimerTask() { -// override fun run() { -// setup(timeout, DELAY_BEFORE_SHOW_DIALOG) -// isCancelable = false -// if (!isVisible) -// show(activity?.supportFragmentManager, TAG) -// } -// }, DELAY_BEFORE_SHOW_DIALOG.toLong()) - } - - fun onReadAfterRequest() { -// if (timerToShowDelayDialog == null) -// return -// -// timerToShowDelayDialog!!.cancel() -// timerToShowDelayDialog = null - } - - fun onReadWait(msec: Int) { -// if (timerToShowDelayDialog != null) { -// timerToShowDelayDialog!!.cancel() -// timerToShowDelayDialog = null -// } -// -// if (msec == 0) { -// dismiss() -// return -// } -// -// if (msec > MIN_REMAINING_DELAY_TO_SHOW_DIALOG) { -// // 1000ms - card delay notification interval -// setup(msec + 1000, 1000) -// isCancelable = false -//// if (!isVisible) -// show(activity?.supportFragmentManager, TAG) -// -// } else -// setRemainingTimeout(msec) - } - private fun setup(msTimeout: Int, msProgress: Int) { this.msTimeout = msTimeout this.msProgress = msProgress From 30c4c0b4254e75898edad886e3619057243d681c Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 10 Jan 2019 16:46:56 +0300 Subject: [PATCH 5/6] Updated on 2026-08-14 --- .../StartFingerprintReaderTask.java | 32 +++++++---------- .../activity/ConfirmPaymentActivity.kt | 11 +++--- .../activity/CreateNewWalletActivity.kt | 3 +- .../activity/EmptyWalletActivity.kt | 9 +++-- .../presentation/activity/LogoActivity.kt | 6 ++-- .../presentation/activity/MainActivity.kt | 8 ++--- .../activity/PinRequestActivity.kt | 35 +++++++++---------- .../presentation/activity/PinSaveActivity.kt | 1 - .../presentation/activity/PinSwapActivity.kt | 3 +- ...pareCryptonitOtherApiWithdrawalActivity.kt | 12 +++---- .../PrepareCryptonitWithdrawalActivity.kt | 12 +++---- .../activity/PreparePaymentActivity.kt | 35 ++++++------------- .../presentation/activity/PurgeActivity.kt | 6 ++-- .../presentation/activity/QrScanActivity.kt | 1 - .../activity/SendTransactionActivity.kt | 5 +-- 15 files changed, 74 insertions(+), 105 deletions(-) diff --git a/app/src/main/java/com/tangem/data/fingerprint/StartFingerprintReaderTask.java b/app/src/main/java/com/tangem/data/fingerprint/StartFingerprintReaderTask.java index 826c838d6b..91b13b925c 100644 --- a/app/src/main/java/com/tangem/data/fingerprint/StartFingerprintReaderTask.java +++ b/app/src/main/java/com/tangem/data/fingerprint/StartFingerprintReaderTask.java @@ -11,6 +11,7 @@ import android.security.keystore.KeyProperties; import com.tangem.Constant; import com.tangem.tangemcard.android.data.PINStorage; import com.tangem.presentation.activity.PinRequestActivity; +import com.tangem.util.LOG; import java.io.IOException; import java.lang.ref.WeakReference; @@ -26,6 +27,8 @@ import javax.crypto.SecretKey; import javax.crypto.spec.IvParameterSpec; public class StartFingerprintReaderTask extends AsyncTask { + public static final String TAG = StartFingerprintReaderTask.class.getSimpleName(); + private WeakReference reference; private KeyStore keyStore; @@ -64,16 +67,14 @@ public class StartFingerprintReaderTask extends AsyncTask { @Override protected void onPostExecute(final Boolean success) { - PinRequestActivity pinRequestActivity = reference.get(); onCancelled(); if (!success) { - pinRequestActivity.doLog("Authentication failed!"); + LOG.i(TAG, "Authentication failed!"); } else { fingerprintHelper.startAuth(fingerprintManager, cryptoObject); - pinRequestActivity.doLog("Authenticate using fingerprint!"); - + LOG.i(TAG, "Authenticate using fingerprint!"); } } @@ -85,9 +86,7 @@ public class StartFingerprintReaderTask extends AsyncTask { } private boolean getKeyStore() { - PinRequestActivity pinRequestActivity = reference.get(); - - pinRequestActivity.doLog("Getting keystore..."); + LOG.i(TAG, "Getting keystore..."); try { keyStore = KeyStore.getInstance(Constant.KEYSTORE); keyStore.load(null); // Create empty keystore @@ -101,9 +100,7 @@ public class StartFingerprintReaderTask extends AsyncTask { @TargetApi(Build.VERSION_CODES.M) public boolean createNewKey(boolean forceCreate) { - PinRequestActivity pinRequestActivity = reference.get(); - - pinRequestActivity.doLog("Creating new key..."); + LOG.i(TAG, "Creating new key..."); try { if (forceCreate) keyStore.deleteEntry(Constant.KEY_ALIAS); @@ -120,9 +117,9 @@ public class StartFingerprintReaderTask extends AsyncTask { ); generator.generateKey(); - pinRequestActivity.doLog("Key created."); + LOG.i(TAG, "Key created."); } else - pinRequestActivity.doLog("Key exists."); + LOG.i(TAG, "Key exists."); return true; } catch (Exception e) { @@ -133,9 +130,7 @@ public class StartFingerprintReaderTask extends AsyncTask { } private boolean getCipher() { - PinRequestActivity pinRequestActivity = reference.get(); - - pinRequestActivity.doLog("Getting cipher..."); + LOG.i(TAG, "Getting cipher..."); try { cipher = Cipher.getInstance(KeyProperties.KEY_ALGORITHM_AES + "/" + KeyProperties.BLOCK_MODE_CBC + "/" + KeyProperties.ENCRYPTION_PADDING_PKCS7); return true; @@ -150,7 +145,7 @@ public class StartFingerprintReaderTask extends AsyncTask { private boolean initCipher(int mode) { PinRequestActivity pinRequestActivity = reference.get(); - pinRequestActivity.doLog("Initializing cipher..."); + LOG.i(TAG, "Initializing cipher..."); try { keyStore.load(null); SecretKey keyspec = (SecretKey) keyStore.getKey(Constant.KEY_ALIAS, null); @@ -181,9 +176,7 @@ public class StartFingerprintReaderTask extends AsyncTask { @TargetApi(Build.VERSION_CODES.M) private boolean initCryptObject() { - PinRequestActivity pinRequestActivity = reference.get(); - - pinRequestActivity.doLog("Initializing crypt object..."); + LOG.i(TAG, "Initializing crypt object..."); try { cryptoObject = new FingerprintManager.CryptoObject(cipher); return true; @@ -193,5 +186,4 @@ public class StartFingerprintReaderTask extends AsyncTask { return false; } - } diff --git a/app/src/main/java/com/tangem/presentation/activity/ConfirmPaymentActivity.kt b/app/src/main/java/com/tangem/presentation/activity/ConfirmPaymentActivity.kt index 5ab55e0c3c..d6329df62b 100644 --- a/app/src/main/java/com/tangem/presentation/activity/ConfirmPaymentActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/ConfirmPaymentActivity.kt @@ -30,8 +30,7 @@ import java.util.* class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { - private var nfcManager: NfcManager? = null - + private lateinit var nfcManager: NfcManager private lateinit var ctx: TangemContext private lateinit var amount: CoinEngine.Amount @@ -183,17 +182,17 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { public override fun onResume() { super.onResume() - nfcManager!!.onResume() + nfcManager.onResume() } public override fun onPause() { super.onPause() - nfcManager!!.onPause() + nfcManager.onPause() } public override fun onStop() { super.onStop() - nfcManager!!.onStop() + nfcManager.onStop() } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { @@ -249,7 +248,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { override fun onTagDiscovered(tag: Tag) { try { - nfcManager!!.ignoreTag(tag) + nfcManager.ignoreTag(tag) } catch (e: IOException) { e.printStackTrace() } diff --git a/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt b/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt index f7f06b0b4a..cfdd251dad 100644 --- a/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt @@ -28,7 +28,6 @@ import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_create_new_wallet.* class CreateNewWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtocol.Notifications { - companion object { fun callingIntent(context: Context, ctx: TangemContext): Intent { val intent = Intent(context, CreateNewWalletActivity::class.java) @@ -38,8 +37,8 @@ class CreateNewWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, } } - private lateinit var ctx: TangemContext private lateinit var nfcManager: NfcManager + private lateinit var ctx: TangemContext private var createNewWalletTask: CreateNewWalletTask? = null private var lastReadSuccess = true diff --git a/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt b/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt index d74f7d1cbe..cc7646b7db 100644 --- a/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt @@ -33,10 +33,8 @@ import kotlinx.android.synthetic.main.activity_empty_wallet.* import javax.inject.Inject class EmptyWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtocol.Notifications { - companion object { val TAG: String = EmptyWalletActivity::class.java.simpleName - fun callingIntent(context: Context, ctx: TangemContext): Intent { val intent = Intent(context, EmptyWalletActivity::class.java) ctx.saveToIntent(intent) @@ -44,15 +42,16 @@ class EmptyWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card } } + @Inject + internal lateinit var navigator: Navigator + private lateinit var nfcManager: NfcManager private lateinit var ctx: TangemContext + private var lastReadSuccess = true private var verifyCardTask: VerifyCardTask? = null private var requestPIN2Count = 0 - @Inject - internal lateinit var navigator: Navigator - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_empty_wallet) diff --git a/app/src/main/java/com/tangem/presentation/activity/LogoActivity.kt b/app/src/main/java/com/tangem/presentation/activity/LogoActivity.kt index 51e36440be..76e05876d3 100644 --- a/app/src/main/java/com/tangem/presentation/activity/LogoActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/LogoActivity.kt @@ -14,9 +14,7 @@ import kotlinx.android.synthetic.main.activity_logo.* import javax.inject.Inject class LogoActivity : AppCompatActivity() { - companion object { - fun callingIntent(context: Context, autoHide: Boolean): Intent { val intent = Intent(context, LogoActivity::class.java) intent.putExtra(Constant.EXTRA_AUTO_HIDE, autoHide) @@ -24,11 +22,11 @@ class LogoActivity : AppCompatActivity() { } } - private val hideRunnable = Runnable { this.hide() } - @Inject internal lateinit var navigator: Navigator + private val hideRunnable = Runnable { this.hide() } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_logo) diff --git a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt index 06cfd6347e..79d8594bfd 100644 --- a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt @@ -56,11 +56,14 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco companion object { val TAG: String = MainActivity::class.java.simpleName - fun callingIntent(context: Context) = Intent(context, MainActivity::class.java) } + @Inject + internal lateinit var navigator: Navigator + private lateinit var nfcManager: NfcManager + private var zipFile: File? = null private var antenna: DeviceNFCAntennaLocation? = null private var unsuccessReadCount = 0 @@ -68,9 +71,6 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco private var readCardInfoTask: ReadCardInfoTask? = null private var onNfcReaderCallback: NfcAdapter.ReaderCallback? = null - @Inject - internal lateinit var navigator: Navigator - override fun onNewIntent(intent: Intent?) { super.onNewIntent(intent) if (intent != null && (NfcAdapter.ACTION_TECH_DISCOVERED == intent.action || NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action)) { diff --git a/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt index 0fa74bd5c3..e8128a0825 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt @@ -29,14 +29,16 @@ import com.tangem.tangemcard.data.TangemCard import com.tangem.tangemcard.data.loadFromBundle import com.tangem.tangemcard.data.EXTRA_TANGEM_CARD import com.tangem.tangemcard.data.EXTRA_TANGEM_CARD_UID +import com.tangem.util.LOG import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_pin_request.* import kotlinx.android.synthetic.main.layout_pin_buttons.* import java.io.IOException class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, FingerprintHelper.FingerprintHelperListener { - companion object { + val TAG: String = PinRequestActivity::class.java.simpleName + fun callingIntent(context: Activity, mode: String): Intent { val intent = Intent(context, PinRequestActivity::class.java) intent.putExtra(Constant.EXTRA_MODE, mode) @@ -81,12 +83,11 @@ class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge } } + private lateinit var nfcManager: NfcManager + lateinit var mode: Mode private var allowFingerprint = false - private var nfcManager: NfcManager? = null - var startFingerprintReaderTask: StartFingerprintReaderTask? = null - private var fingerprintManager: FingerprintManager? = null private var fingerprintHelper: FingerprintHelper? = null @@ -179,7 +180,7 @@ class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge startFingerprintReaderTask = null } - nfcManager!!.onPause() + nfcManager.onPause() } override fun onStop() { @@ -192,12 +193,12 @@ class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge startFingerprintReaderTask = null } - nfcManager!!.onStop() + nfcManager.onStop() } override fun onResume() { super.onResume() - nfcManager!!.onResume() + nfcManager.onResume() if (allowFingerprint) startFingerprintReader() } @@ -205,19 +206,19 @@ class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge override fun onTagDiscovered(tag: Tag) { try { Log.w(javaClass.name, "Ignore discovered tag!") - nfcManager!!.ignoreTag(tag) + nfcManager.ignoreTag(tag) } catch (e: IOException) { e.printStackTrace() } } override fun authenticationFailed(error: String) { - doLog(error) + LOG.w(TAG, error) } @TargetApi(Build.VERSION_CODES.M) override fun authenticationSucceeded(result: FingerprintManager.AuthenticationResult) { - doLog("Authentication succeeded!") + LOG.i(TAG,"Authentication succeeded!") val cipher = result.cryptoObject.cipher if (mode == Mode.RequestNewPIN || mode == Mode.ConfirmNewPIN) { @@ -245,10 +246,6 @@ class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge finish() } - fun doLog(text: String) { - // Log.e("FP", text); - } - @SuppressLint("SetTextI18n") private fun buttonClick(button: Button) { tvPin!!.text = tvPin!!.text.toString() + button.text as String @@ -256,27 +253,27 @@ class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge @SuppressLint("NewApi") private fun testFingerPrintSettings(): Boolean { - doLog("Testing Fingerprint Settings") + LOG.i(TAG,"Testing Fingerprint Settings") val keyguardManager = getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager fingerprintManager = getSystemService(Context.FINGERPRINT_SERVICE) as FingerprintManager if (!keyguardManager.isKeyguardSecure) { - doLog("User hasn't enabled Lock Screen") + LOG.i(TAG,"User hasn't enabled Lock Screen") return false } if (ActivityCompat.checkSelfPermission(this, Manifest.permission.USE_FINGERPRINT) != PackageManager.PERMISSION_GRANTED) { - doLog("User hasn't granted permission to use Fingerprint") + LOG.i(TAG,"User hasn't granted permission to use Fingerprint") return false } if (!fingerprintManager!!.hasEnrolledFingerprints()) { - doLog("User hasn't registered any fingerprints") + LOG.i(TAG,"User hasn't registered any fingerprints") return false } - doLog("Fingerprint authentication is set.\n") + LOG.i(TAG,"Fingerprint authentication is set.\n") return true } diff --git a/app/src/main/java/com/tangem/presentation/activity/PinSaveActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PinSaveActivity.kt index 5a2c5b140d..b67ad84f01 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PinSaveActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PinSaveActivity.kt @@ -39,7 +39,6 @@ import javax.crypto.SecretKey import javax.crypto.spec.IvParameterSpec class PinSaveActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelperListener { - companion object { val TAG: String = PinSaveActivity::class.java.simpleName diff --git a/app/src/main/java/com/tangem/presentation/activity/PinSwapActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PinSwapActivity.kt index 8a38bae83c..38584e3d12 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PinSwapActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PinSwapActivity.kt @@ -28,7 +28,6 @@ import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_pin_swap.* class PinSwapActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtocol.Notifications { - companion object { val TAG: String = PinSwapActivity::class.java.simpleName @@ -43,8 +42,8 @@ class PinSwapActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProt } private lateinit var nfcManager: NfcManager - private var card: TangemCard? = null + private var card: TangemCard? = null private var newPIN: String? = null private var newPIN2: String? = null diff --git a/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt index fe4deaf57d..88c5e358c0 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt @@ -28,8 +28,9 @@ class PrepareCryptonitOtherApiWithdrawalActivity : AppCompatActivity(), NfcAdapt val TAG: String = PrepareCryptonitOtherApiWithdrawalActivity::class.java.simpleName } + private lateinit var nfcManager: NfcManager private lateinit var ctx: TangemContext - private var nfcManager: NfcManager? = null + private var cryptonit: CryptonitOtherApi? = null @Inject @@ -156,17 +157,17 @@ class PrepareCryptonitOtherApiWithdrawalActivity : AppCompatActivity(), NfcAdapt public override fun onResume() { super.onResume() - nfcManager!!.onResume() + nfcManager.onResume() } public override fun onPause() { super.onPause() - nfcManager!!.onPause() + nfcManager.onPause() } public override fun onStop() { super.onStop() - nfcManager!!.onStop() + nfcManager.onStop() } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { @@ -193,8 +194,7 @@ class PrepareCryptonitOtherApiWithdrawalActivity : AppCompatActivity(), NfcAdapt override fun onTagDiscovered(tag: Tag) { try { -// Log.w(javaClass.name, "Ignore discovered tag!") - nfcManager!!.ignoreTag(tag) + nfcManager.ignoreTag(tag) } catch (e: IOException) { e.printStackTrace() } diff --git a/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitWithdrawalActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitWithdrawalActivity.kt index 9a166fea3e..a3ae2fc75d 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitWithdrawalActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitWithdrawalActivity.kt @@ -28,10 +28,10 @@ class PrepareCryptonitWithdrawalActivity : AppCompatActivity(), NfcAdapter.Reade val TAG: String = PrepareCryptonitWithdrawalActivity::class.java.simpleName } + private lateinit var nfcManager: NfcManager private lateinit var ctx: TangemContext - private var nfcManager: NfcManager? = null - private var cryptonit: Cryptonit? = null + private var cryptonit: Cryptonit? = null @SuppressLint("SetTextI18n") override fun onCreate(savedInstanceState: Bundle?) { @@ -150,22 +150,22 @@ class PrepareCryptonitWithdrawalActivity : AppCompatActivity(), NfcAdapter.Reade public override fun onResume() { super.onResume() - nfcManager!!.onResume() + nfcManager.onResume() } public override fun onPause() { super.onPause() - nfcManager!!.onPause() + nfcManager.onPause() } public override fun onStop() { super.onStop() - nfcManager!!.onStop() + nfcManager.onStop() } override fun onTagDiscovered(tag: Tag) { try { - nfcManager!!.ignoreTag(tag) + nfcManager.ignoreTag(tag) } catch (e: IOException) { e.printStackTrace() } diff --git a/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt index faeffdc9a7..fa94fbac01 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt @@ -25,10 +25,8 @@ import java.io.IOException import javax.inject.Inject class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { - companion object { val TAG: String = PreparePaymentActivity::class.java.simpleName - fun callingIntent(context: Context, ctx: TangemContext): Intent { val intent = Intent(context, PreparePaymentActivity::class.java) ctx.saveToIntent(intent) @@ -36,12 +34,12 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { } } - private lateinit var ctx: TangemContext - private var nfcManager: NfcManager? = null - @Inject internal lateinit var navigator: Navigator + private lateinit var ctx: TangemContext + private lateinit var nfcManager: NfcManager + @SuppressLint("SetTextI18n") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -60,7 +58,7 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { tvBalance.text = html //TODO - to engine - if (ctx.blockchain == Blockchain.Token && engine.balance.currency!=Blockchain.Ethereum.currency) { + if (ctx.blockchain == Blockchain.Token && engine.balance.currency != Blockchain.Ethereum.currency) { rgIncFee!!.visibility = View.INVISIBLE } else { rgIncFee!!.visibility = View.VISIBLE @@ -87,7 +85,6 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { } } btnVerify.setOnClickListener { - val engine1 = CoinEngineFactory.create(ctx) val strAmount: String = etAmount.text.toString().replace(",", ".") @@ -102,29 +99,18 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { etAmount.error = getString(R.string.unknown_amount_format) } - var checkAddress = false -// if (engine1 != null) - checkAddress = engine1.validateAddress(etWallet.text.toString()) - // check wallet address - if (!checkAddress) { + if (!engine1.validateAddress(etWallet.text.toString())) { etWallet.error = getString(R.string.incorrect_destination_wallet_address) return@setOnClickListener - } else { + } else etWallet.error = null - } if (etWallet.text.toString() == ctx.coinData!!.wallet) { etWallet.error = getString(R.string.destination_wallet_address_equal_source_address) return@setOnClickListener } - // check enough funds - // TODO - double with engin.checkAmount -// if (etAmount.text.toString().replace(",", ".").toDouble() > engine.getBalanceValue(card).replace(",", ".").toDouble()) { -// etAmount.error = getString(R.string.not_enough_funds_on_your_card) -// return@setOnClickListener -// } if (!etAmount.error.isNullOrEmpty() || !etWallet.error.isNullOrEmpty()) { return@setOnClickListener } @@ -143,17 +129,17 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { public override fun onResume() { super.onResume() - nfcManager!!.onResume() + nfcManager.onResume() } public override fun onPause() { super.onPause() - nfcManager!!.onPause() + nfcManager.onPause() } public override fun onStop() { super.onStop() - nfcManager!!.onStop() + nfcManager.onStop() } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { @@ -188,11 +174,10 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { override fun onTagDiscovered(tag: Tag) { try { - nfcManager!!.ignoreTag(tag) + nfcManager.ignoreTag(tag) } catch (e: IOException) { e.printStackTrace() } - } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt index 7930a88062..facf49ee7f 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt @@ -31,17 +31,19 @@ class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoc companion object { val TAG: String = PurgeActivity::class.java.simpleName - const val RESULT_INVALID_PIN = Activity.RESULT_FIRST_USER fun callingIntent(context: Context, ctx: TangemContext): Intent { val intent = Intent(context, PurgeActivity::class.java) ctx.saveToIntent(intent) return intent } + + const val RESULT_INVALID_PIN = Activity.RESULT_FIRST_USER } - private lateinit var ctx: TangemContext private lateinit var nfcManager: NfcManager + private lateinit var ctx: TangemContext + private var purgeTask: PurgeTask? = null override fun onCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/tangem/presentation/activity/QrScanActivity.kt b/app/src/main/java/com/tangem/presentation/activity/QrScanActivity.kt index 9d4e4d0585..1dcf4b0edb 100644 --- a/app/src/main/java/com/tangem/presentation/activity/QrScanActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/QrScanActivity.kt @@ -13,7 +13,6 @@ import com.tangem.Constant import me.dm7.barcodescanner.zxing.ZXingScannerView class QrScanActivity : AppCompatActivity(), ZXingScannerView.ResultHandler { - companion object { fun callingIntent(context: Context): Intent { return Intent(context, QrScanActivity::class.java) diff --git a/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt b/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt index 3152227a80..d3465e1d28 100644 --- a/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt @@ -21,9 +21,10 @@ import java.io.IOException class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { - private lateinit var ctx: TangemContext - private var tx: ByteArray? = null private lateinit var nfcManager: NfcManager + private lateinit var ctx: TangemContext + + private var tx: ByteArray? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) From 6d8eeaf6ac249a6b7082cf918c2b8dfcc7771b3a Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 10 Jan 2019 16:58:30 +0300 Subject: [PATCH 6/6] Updated on 2026-08-14 --- app/src/main/res/drawable/ic_content_copy_black_24dp.xml | 0 app/src/main/res/drawable/ic_nfc_white_24dp.xml | 0 app/src/main/res/drawable/ic_wrench_white_24dp.xml | 0 gradlew | 0 4 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 app/src/main/res/drawable/ic_content_copy_black_24dp.xml mode change 100755 => 100644 app/src/main/res/drawable/ic_nfc_white_24dp.xml mode change 100755 => 100644 app/src/main/res/drawable/ic_wrench_white_24dp.xml mode change 100755 => 100644 gradlew 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 old mode 100755 new mode 100644 diff --git a/app/src/main/res/drawable/ic_nfc_white_24dp.xml b/app/src/main/res/drawable/ic_nfc_white_24dp.xml old mode 100755 new mode 100644 diff --git a/app/src/main/res/drawable/ic_wrench_white_24dp.xml b/app/src/main/res/drawable/ic_wrench_white_24dp.xml old mode 100755 new mode 100644 diff --git a/gradlew b/gradlew old mode 100755 new mode 100644