diff --git a/WordPress/src/main/java/org/wordpress/android/ui/bloggingreminders/BloggingRemindersViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/bloggingreminders/BloggingRemindersViewModel.kt index 79fb527be6ad..1fca37924d7d 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/bloggingreminders/BloggingRemindersViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/bloggingreminders/BloggingRemindersViewModel.kt @@ -328,13 +328,15 @@ class BloggingRemindersViewModel @Inject constructor( } fun onBottomSheetDismissed() { - when (val screen = selectedScreen.value) { - Screen.PROLOGUE, - Screen.PROLOGUE_SETTINGS, - Screen.NOTIFICATIONS_PERMISSION, - Screen.SELECTION -> analyticsTracker.trackFlowDismissed(screen) - Screen.EPILOGUE -> analyticsTracker.trackFlowCompleted() - null -> Unit // Do nothing + // We need to check nullability this way because of a compile Java type mismatch warning becoming an error + selectedScreen.value?.let { + when (it) { + Screen.PROLOGUE, + Screen.PROLOGUE_SETTINGS, + Screen.NOTIFICATIONS_PERMISSION, + Screen.SELECTION -> analyticsTracker.trackFlowDismissed(it) + Screen.EPILOGUE -> analyticsTracker.trackFlowCompleted() + } } } diff --git a/WordPress/src/test/java/org/wordpress/android/util/LiveDataUtilsTest.kt b/WordPress/src/test/java/org/wordpress/android/util/LiveDataUtilsTest.kt index 2c6ec9e4b62d..3b68cd345fe3 100644 --- a/WordPress/src/test/java/org/wordpress/android/util/LiveDataUtilsTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/util/LiveDataUtilsTest.kt @@ -5,6 +5,7 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi import org.assertj.core.api.Assertions.assertThat import org.junit.Test import org.wordpress.android.BaseUnitTest +import kotlin.test.assertNull @ExperimentalCoroutinesApi class LiveDataUtilsTest : BaseUnitTest() { @@ -16,13 +17,13 @@ class LiveDataUtilsTest : BaseUnitTest() { val mergedSources = mergeNotNull(sourceA, sourceB) mergedSources.observeForever { } - assertThat(mergedSources.value).isNull() + assertNull(mergedSources.value) val firstValue = 1 val secondValue = 2 sourceA.value = firstValue - assertThat(mergedSources.value).isEqualTo(firstValue) + assertThat(mergedSources.value ?: -1).isEqualTo(firstValue) sourceB.value = secondValue - assertThat(mergedSources.value).isEqualTo(secondValue) + assertThat(mergedSources.value ?: -1).isEqualTo(secondValue) } @Test diff --git a/WordPress/src/test/java/org/wordpress/android/viewmodel/main/WPMainActivityViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/viewmodel/main/WPMainActivityViewModelTest.kt index cdfb4346c734..5a83d95d3860 100644 --- a/WordPress/src/test/java/org/wordpress/android/viewmodel/main/WPMainActivityViewModelTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/viewmodel/main/WPMainActivityViewModelTest.kt @@ -59,6 +59,7 @@ import org.wordpress.android.util.NoDelayCoroutineDispatcher import org.wordpress.android.util.analytics.AnalyticsTrackerWrapper import org.wordpress.android.viewmodel.main.WPMainActivityViewModel.FocusPointInfo import java.util.Date +import kotlin.test.assertNotNull @Suppress("LargeClass") @InternalCoroutinesApi @@ -311,7 +312,9 @@ class WPMainActivityViewModelTest : BaseUnitTest() { val promptId = 123 action!!.onClickAction?.invoke(promptId, BloggingPromptAttribution.BLOGANUARY) - assertThat(viewModel.createPostWithBloggingPrompt.value).isEqualTo(promptId) + val createPostWithBloggingPromptValue = viewModel.createPostWithBloggingPrompt.value + assertNotNull(createPostWithBloggingPromptValue) + assertThat(createPostWithBloggingPromptValue).isEqualTo(promptId) } @Test diff --git a/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/PageParentViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/PageParentViewModelTest.kt index d46edbaa74d4..0dd806efde46 100644 --- a/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/PageParentViewModelTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/PageParentViewModelTest.kt @@ -128,11 +128,11 @@ class PageParentViewModelTest : BaseUnitTest() { viewModel.start(site, 1L) val newParent = viewModel.pages.value?.first { (it as? ParentPage)?.id == newParentId } as ParentPage - assertThat(viewModel.isSaveButtonVisible.value).isFalse + assertThat(viewModel.isSaveButtonVisible.value ?: true).isFalse viewModel.onParentSelected(newParent) - assertThat(viewModel.isSaveButtonVisible.value).isTrue + assertThat(viewModel.isSaveButtonVisible.value ?: false).isTrue } @Test @@ -144,10 +144,10 @@ class PageParentViewModelTest : BaseUnitTest() { val newParent = viewModel.pages.value?.first { (it as? ParentPage)?.id == newParentId } as ParentPage viewModel.onParentSelected(newParent) - assertThat(viewModel.isSaveButtonVisible.value).isTrue + assertThat(viewModel.isSaveButtonVisible.value ?: false).isTrue viewModel.onParentSelected(initialParent) - assertThat(viewModel.isSaveButtonVisible.value).isFalse + assertThat(viewModel.isSaveButtonVisible.value ?: true).isFalse } private suspend fun mockPageStoreGetPages() { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 35e03608e265..7d3ad9d70631 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -21,7 +21,7 @@ androidx-credentials = '1.2.0' androidx-exifinterface = '1.4.1' androidx-fragment = '1.8.6' androidx-lifecycle = '2.8.7' -androidx-navigation = '2.8.9' +androidx-navigation = '2.9.0' androidx-paging = '2.1.2' androidx-percentlayout = '1.0.0' androidx-preference = '1.2.1'