diff --git a/app/src/main/java/com/anytypeio/anytype/ui/main/MainActivity.kt b/app/src/main/java/com/anytypeio/anytype/ui/main/MainActivity.kt index e43f88b833..9973aa946d 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/main/MainActivity.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/main/MainActivity.kt @@ -306,6 +306,12 @@ class MainActivity : AppCompatActivity(R.layout.activity_main), AppNavigation.Pr Intent.ACTION_VIEW -> { val data = intent.dataString if (data != null && DefaultDeepLinkResolver.isDeepLink(data)) { + // Clearing intent to only handle it once: + with(intent) { + setAction(null) + setData(null) + putExtras(Bundle()) + } vm.onNewDeepLink(DefaultDeepLinkResolver.resolve(data)) } else { intent.extras?.getString(DefaultAppActionManager.ACTION_CREATE_NEW_TYPE_KEY)?.let { diff --git a/app/src/main/java/com/anytypeio/anytype/ui/splash/SplashFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/splash/SplashFragment.kt index c9439b04f1..6e37adf85f 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/splash/SplashFragment.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/splash/SplashFragment.kt @@ -135,10 +135,18 @@ class SplashFragment : BaseFragment(R.layout.fragment_spl } else { deepLink = null } - Timber.d("Deep link: ${deepLink}") + if (!deepLink.isNullOrEmpty()) { + // Clearing intent to only handle it once: + with(requireNotNull(intent)) { + setAction(null) + setData(null) + putExtras(Bundle()) + } + } + Timber.d("Deep link is empty: ${deepLink.isNullOrEmpty()}") findNavController().navigate( R.id.action_splashFragment_to_authStart, - OnboardingFragment.args(deepLink) + args = OnboardingFragment.args(deepLink) ) } is SplashViewModel.Command.NavigateToMigration -> { @@ -152,6 +160,12 @@ class SplashFragment : BaseFragment(R.layout.fragment_spl if (intent != null && intent.action == Intent.ACTION_VIEW) { val data = intent.dataString if (data != null && DefaultDeepLinkResolver.isDeepLink(data)) { + // Clearing intent to only handle it once: + with(intent) { + setAction(null) + setData(null) + putExtras(Bundle()) + } vm.onDeepLinkLaunch(data) } else { val bundle = intent.extras