Skip to content

Commit

Permalink
fix: cancel post-delayed callback
Browse files Browse the repository at this point in the history
nicola-95 authored Mar 10, 2022
1 parent 61352c7 commit 01daefc
Showing 2 changed files with 10 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -27,7 +27,6 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.AlertDialog
import androidx.constraintlayout.widget.ConstraintLayout
@@ -65,7 +64,9 @@ class VerificationFragment : Fragment(), View.OnClickListener {
private lateinit var certificateModel: CertificateViewBean

private var userName: String = ""
private var callback: OnBackPressedCallback? = null
private var handler: Handler? = null
private var onBackPressedCallback: OnBackPressedCallback? = null
private var runnableRunner: Runnable? = null

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
@@ -83,13 +84,15 @@ class VerificationFragment : Fragment(), View.OnClickListener {
certificate?.let {
certificateModel = it

callback = object : OnBackPressedCallback(true) {
handler = Handler(Looper.getMainLooper())
runnableRunner = Runnable { findNavController().popBackStack() }
onBackPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
findNavController().popBackStack()
}
}

setOnBackPressed(callback)
setOnBackPressed(onBackPressedCallback)
if (
viewModel.getTotemMode() &&
(certificate.certificateStatus == CertificateStatus.VALID) &&
@@ -156,9 +159,7 @@ class VerificationFragment : Fragment(), View.OnClickListener {
}

private fun setOnBackTimer() {
Handler(Looper.getMainLooper()).postDelayed({
findNavController().navigate(R.id.action_verificationFragment_to_codeReaderFragment)
}, 5000)
runnableRunner?.let { handler?.postDelayed(it, 5000) }
}

private fun addDoubleScanResult(icon: Int, text: Int) {
@@ -391,6 +392,7 @@ class VerificationFragment : Fragment(), View.OnClickListener {
}

override fun onDestroy() {
runnableRunner?.let { handler?.removeCallbacks(it) }
viewModel.setDoubleScanFlag(false)
super.onDestroy()
}
2 changes: 1 addition & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -151,7 +151,7 @@
<string name="label_download_alert_complete">È necessario aggiornare la lista delle Certificazione verdi COVID-19 revocate per un totale di %1$.2fMB.</string>
<string name="label_download_alert_simple">È necessario aggiornare la lista delle Certificazione verdi COVID-19 revocate.</string>
<string name="label_drl_download_in_progress">L\'aggiornamento della lista delle Certificazione verdi COVID-19 revocate è incompleto. Assicurati di essere connesso a Internet e clicca per continuare.</string>
<string name="messageDownloadAlert">È necessario aggiornare la lista delle Certificazione verdi COVID-19 revocate, per un totale di %1$.2fMB. Controlla il tuo piano dati oppure connettiti a una rete wi-fi prima di procedere. Il tempo di aggiornamento dipende dalla velocità di connessione e dal tipo di device in uso.La lista verrà aggiornata ogni 24 ore.</string>
<string name="messageDownloadAlert">È necessario aggiornare la lista delle Certificazione verdi COVID-19 revocate, per un totale di %1$.2fMB. Controlla il tuo piano dati oppure connettiti a una rete wi-fi prima di procedere. Il tempo di aggiornamento dipende dalla velocità di connessione e dal tipo di device in uso. La lista verrà aggiornata ogni 24 ore.</string>
<string name="messageDownloadStarted">È in corso l\'aggiornamento della lista delle Certificazioni verdi COVID-19 revocate. Attendere la fine del download per procedere con le scansioni.</string>
<string name="chunk_count">Pacchetto %1$d su %2$d</string>
<string name="chunk_size">%1$.2f Mb su %2$.2f Mb</string>

0 comments on commit 01daefc

Please sign in to comment.