diff --git a/app/src/main/java/com/tangem/ui/activity/MainActivity.kt b/app/src/main/java/com/tangem/ui/activity/MainActivity.kt index a5e937f92d..b68c82ab28 100644 --- a/app/src/main/java/com/tangem/ui/activity/MainActivity.kt +++ b/app/src/main/java/com/tangem/ui/activity/MainActivity.kt @@ -1,5 +1,3 @@ -@file:Suppress("ObsoleteExperimentalCoroutines") - package com.tangem.ui.activity import android.content.Context @@ -17,6 +15,7 @@ import com.tangem.di.ToastHelper import com.tangem.tangem_sdk.android.nfc.NfcLifecycleObserver import com.tangem.tangem_sdk.android.reader.NfcManager import com.tangem.ui.dialog.RootFoundDialog +import com.tangem.util.navigateSafely import com.tangem.wallet.BuildConfig import com.tangem.wallet.R import javax.inject.Inject @@ -40,7 +39,7 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { if (intent != null && (NfcAdapter.ACTION_TECH_DISCOVERED == intent.action || NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action)) { val tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG) if (tag != null) { - findNavController(R.id.nav_host_fragment).navigate(R.id.main) + findNavController(R.id.nav_host_fragment).navigateSafely(R.id.main) onTagDiscovered(tag) } } diff --git a/app/src/main/java/com/tangem/ui/fragment/BaseFragment.kt b/app/src/main/java/com/tangem/ui/fragment/BaseFragment.kt index 776d159e6b..80bbf19131 100644 --- a/app/src/main/java/com/tangem/ui/fragment/BaseFragment.kt +++ b/app/src/main/java/com/tangem/ui/fragment/BaseFragment.kt @@ -11,6 +11,7 @@ import androidx.navigation.fragment.NavHostFragment.findNavController import com.tangem.ui.activity.MainActivity import com.tangem.ui.navigation.NavigationResult import com.tangem.ui.navigation.NavigationResultListener +import com.tangem.util.navigateSafely abstract class BaseFragment : Fragment() { @@ -74,13 +75,7 @@ abstract class BaseFragment : Fragment() { } protected fun navigateToDestination(@IdRes destination: Int, data: Bundle? = null) { - try { - findNavController(this).navigate(destination, data) - } catch (e: IllegalArgumentException) { - Log.w(this::class.java.simpleName, e.message) - } catch (e: IllegalStateException) { - Log.w(this::class.java.simpleName, e.message) - } + findNavController(this).navigateSafely(destination, data) } protected fun navigateBackWithResult(resultCode: Int, data: Bundle? = null, diff --git a/app/src/main/java/com/tangem/util/NavigationExtensions.kt b/app/src/main/java/com/tangem/util/NavigationExtensions.kt new file mode 100644 index 0000000000..ff4df71b13 --- /dev/null +++ b/app/src/main/java/com/tangem/util/NavigationExtensions.kt @@ -0,0 +1,16 @@ +package com.tangem.util + +import android.os.Bundle +import android.util.Log +import androidx.annotation.IdRes +import androidx.navigation.NavController + +fun NavController.navigateSafely(@IdRes destination: Int, data: Bundle? = null) { + try { + this.navigate(destination, data) + } catch (e: IllegalArgumentException) { + Log.w(this::class.java.simpleName, e.message) + } catch (e: IllegalStateException) { + Log.w(this::class.java.simpleName, e.message) + } +} \ No newline at end of file