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 f726aee24..5ecce78cf 100644 --- a/app/src/main/java/org/linphone/ui/main/MainActivity.kt +++ b/app/src/main/java/org/linphone/ui/main/MainActivity.kt @@ -220,6 +220,12 @@ class MainActivity : GenericActivity() { } } + viewModel.lastAccountRemovedEvent.observe(this) { + it.consume { + startActivity(Intent(this, AssistantActivity::class.java)) + } + } + // Wait for latest visited fragment to be displayed before hiding the splashscreen binding.root.viewTreeObserver.addOnPreDrawListener(object : ViewTreeObserver.OnPreDrawListener { override fun onPreDraw(): Boolean { 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 1b79f9056..9392963a2 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 @@ -102,7 +102,11 @@ class MainViewModel @UiThread constructor() : ViewModel() { MutableLiveData>() } - var accountsFound = -1 + val lastAccountRemovedEvent: MutableLiveData> by lazy { + MutableLiveData>() + } + + private var accountsFound = -1 var mainIntentHandled = false @@ -264,6 +268,11 @@ class MainViewModel @UiThread constructor() : ViewModel() { removeAlert(NON_DEFAULT_ACCOUNT_NOT_CONNECTED) core.refreshRegisters() computeNonDefaultAccountNotificationsCount() + + if (core.accountList.isEmpty()) { + Log.w("$TAG No more account configured, going into assistant") + lastAccountRemovedEvent.postValue(Event(true)) + } } }