diff --git a/app/src/main/java/org/linphone/ui/main/MainActivity.kt b/app/src/main/java/org/linphone/ui/main/MainActivity.kt index 4d756bb52..740fb1640 100644 --- a/app/src/main/java/org/linphone/ui/main/MainActivity.kt +++ b/app/src/main/java/org/linphone/ui/main/MainActivity.kt @@ -386,6 +386,16 @@ class MainActivity : GenericActivity() { @MainThread private fun handleMainIntent(intent: Intent, isNewIntent: Boolean) { + // Prevent navigating to default fragment upon rotation (we only want to do it on first start) + if (intent.action == Intent.ACTION_MAIN && intent.type == null && intent.data == null && !isNewIntent) { + if (viewModel.mainIntentHandled) { + Log.d("$TAG Main intent without type nor data was already handled, do nothing") + return + } else { + viewModel.mainIntentHandled = true + } + } + if (intent.hasExtra("Chat")) { Log.i("$TAG Intent has [Chat] extra") try { diff --git a/app/src/main/java/org/linphone/ui/main/viewmodel/MainViewModel.kt b/app/src/main/java/org/linphone/ui/main/viewmodel/MainViewModel.kt index 46b56dff5..0b1002379 100644 --- a/app/src/main/java/org/linphone/ui/main/viewmodel/MainViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/viewmodel/MainViewModel.kt @@ -86,6 +86,8 @@ class MainViewModel @UiThread constructor() : ViewModel() { var accountsFound = -1 + var mainIntentHandled = false + private var defaultAccountRegistrationFailed = false private val alertsList = arrayListOf>()