From 09192f4036c20ff1c78517ea749a880f832a8cd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manu=20Mu=C3=B1oz?= Date: Wed, 13 Mar 2024 16:51:42 +0100 Subject: [PATCH] fix: [ANDROAPP-5976] crash after discard or delete event (#3533) --- .../eventCapture/EventCaptureActivity.kt | 17 ++++++----------- .../eventCapture/EventCapturePresenterImpl.kt | 3 ++- .../eventCapture/EventCapturePresenterTest.kt | 1 + 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureActivity.kt b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureActivity.kt index 3cbf6ac5bd..4bd57c94c1 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureActivity.kt +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureActivity.kt @@ -13,7 +13,6 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback import com.google.android.material.dialog.MaterialAlertDialogBuilder -import com.google.android.material.snackbar.BaseTransientBottomBar import com.google.android.material.snackbar.Snackbar import org.dhis2.R import org.dhis2.bindings.app @@ -303,16 +302,12 @@ class EventCaptureActivity : } override fun showSnackBar(messageId: Int, programStage: String) { - val mySnackbar = - Snackbar.make( - binding.root, - resourceManager.formatWithEventLabel( - messageId, - programStage, - ), - BaseTransientBottomBar.LENGTH_SHORT, - ) - mySnackbar.show() + showToast( + resourceManager.formatWithEventLabel( + messageId, + programStage, + ), + ) } override fun restartDataEntry() { diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterImpl.kt b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterImpl.kt index 53135198fc..abf1946e8f 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterImpl.kt +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterImpl.kt @@ -180,13 +180,14 @@ class EventCapturePresenterImpl( } override fun deleteEvent() { + val programStage = programStage() compositeDisposable.add( eventCaptureRepository.deleteEvent() .defaultSubscribe( schedulerProvider, { result -> if (result) { - view.showSnackBar(R.string.event_label_was_deleted, programStage()) + view.showSnackBar(R.string.event_label_was_deleted, programStage) } }, Timber::e, diff --git a/app/src/test/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterTest.kt b/app/src/test/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterTest.kt index b0af00cdf1..8f7728eb75 100644 --- a/app/src/test/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterTest.kt +++ b/app/src/test/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterTest.kt @@ -138,6 +138,7 @@ class EventCapturePresenterTest { @Test fun `Should close form if it could not delete an event`() { whenever(eventRepository.deleteEvent()) doReturn Observable.just(false) + whenever(eventRepository.programStage()) doReturn Observable.just("programStage") presenter.deleteEvent() verify(view).finishDataEntry()