Skip to content
Snippets Groups Projects
Unverified Commit d0ac6ce0 authored by Mohamed's avatar Mohamed Committed by GitHub
Browse files

Force dialog to hide before leaving the screen (#2527)

parent 18fbb893
No related branches found
Tags v1.14.2-RC0
No related merge requests found
package de.rki.coronawarnapp.ui.submission.resultready
import androidx.lifecycle.LiveData
import androidx.lifecycle.MediatorLiveData
import androidx.lifecycle.asLiveData
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
......@@ -16,8 +18,18 @@ class SubmissionResultReadyViewModel @AssistedInject constructor(
dispatcherProvider: DispatcherProvider
) : CWAViewModel(dispatcherProvider = dispatcherProvider) {
val showUploadDialog = autoSubmission.isSubmissionRunning
.asLiveData(context = dispatcherProvider.Default)
private val mediatorShowUploadDialog = MediatorLiveData<Boolean>()
init {
mediatorShowUploadDialog.addSource(
autoSubmission.isSubmissionRunning.asLiveData(context = dispatcherProvider.Default)
) { show ->
mediatorShowUploadDialog.postValue(show)
}
}
val showUploadDialog: LiveData<Boolean> = mediatorShowUploadDialog
val routeToScreen: SingleLiveEvent<SubmissionNavigationEvents> = SingleLiveEvent()
fun onContinueWithSymptomRecordingPressed() {
......@@ -32,6 +44,8 @@ class SubmissionResultReadyViewModel @AssistedInject constructor(
} catch (e: Exception) {
Timber.e(e, "greenlightSubmission() failed.")
} finally {
Timber.i("Hide uploading progress and navigate to MainActivity")
mediatorShowUploadDialog.postValue(false)
routeToScreen.postValue(SubmissionNavigationEvents.NavigateToMainActivity)
}
}
......
package de.rki.coronawarnapp.ui.submission.symptoms.introduction
import androidx.lifecycle.LiveData
import androidx.lifecycle.MediatorLiveData
import androidx.lifecycle.asLiveData
import androidx.navigation.NavDirections
import dagger.assisted.AssistedFactory
......@@ -29,8 +31,17 @@ class SubmissionSymptomIntroductionViewModel @AssistedInject constructor(
val navigation = SingleLiveEvent<NavDirections>()
val showCancelDialog = SingleLiveEvent<Unit>()
val showUploadDialog = autoSubmission.isSubmissionRunning
.asLiveData(context = dispatcherProvider.Default)
private val mediatorShowUploadDialog = MediatorLiveData<Boolean>()
init {
mediatorShowUploadDialog.addSource(
autoSubmission.isSubmissionRunning.asLiveData(context = dispatcherProvider.Default)
) { show ->
mediatorShowUploadDialog.postValue(show)
}
}
val showUploadDialog: LiveData<Boolean> = mediatorShowUploadDialog
fun onNextClicked() {
launch {
......@@ -98,6 +109,8 @@ class SubmissionSymptomIntroductionViewModel @AssistedInject constructor(
} catch (e: Exception) {
Timber.e(e, "doSubmit() failed.")
} finally {
Timber.i("Hide uploading progress and navigate to HomeFragment")
mediatorShowUploadDialog.postValue(false)
navigation.postValue(
SubmissionSymptomIntroductionFragmentDirections
.actionSubmissionSymptomIntroductionFragmentToMainFragment()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment