diff --git a/app/src/main/kotlin/io/homeassistant/companion/android/launch/LaunchActivity.kt b/app/src/main/kotlin/io/homeassistant/companion/android/launch/LaunchActivity.kt index cf1f36bcad1..446b7155f25 100644 --- a/app/src/main/kotlin/io/homeassistant/companion/android/launch/LaunchActivity.kt +++ b/app/src/main/kotlin/io/homeassistant/companion/android/launch/LaunchActivity.kt @@ -28,6 +28,7 @@ import io.homeassistant.companion.android.common.R as commonR import io.homeassistant.companion.android.common.compose.theme.HATheme import io.homeassistant.companion.android.sensors.SensorReceiver import io.homeassistant.companion.android.sensors.SensorWorker +import io.homeassistant.companion.android.util.ChangeLog import io.homeassistant.companion.android.util.CheckLocationDisabledUseCase import io.homeassistant.companion.android.util.PLAY_SERVICES_FLAVOR_DOC_URL import io.homeassistant.companion.android.util.PlayServicesAvailability @@ -61,6 +62,9 @@ class LaunchActivity : AppCompatActivity() { @Inject internal lateinit var checkLocationDisabled: CheckLocationDisabledUseCase + @Inject + internal lateinit var changeLog: ChangeLog + /** * Represents deep link actions that can be passed to [LaunchActivity] to navigate to specific destinations. */ @@ -156,6 +160,7 @@ class LaunchActivity : AppCompatActivity() { lifecycleScope.launch { WebsocketManager.start(this@LaunchActivity) checkLocationDisabled() + changeLog.showChangeLog(this@LaunchActivity, forceShow = false) } } } diff --git a/app/src/test/kotlin/io/homeassistant/companion/android/launch/LaunchActivityTest.kt b/app/src/test/kotlin/io/homeassistant/companion/android/launch/LaunchActivityTest.kt index 5325915fd21..50268bc0940 100644 --- a/app/src/test/kotlin/io/homeassistant/companion/android/launch/LaunchActivityTest.kt +++ b/app/src/test/kotlin/io/homeassistant/companion/android/launch/LaunchActivityTest.kt @@ -15,6 +15,7 @@ import io.homeassistant.companion.android.di.ServerManagerModule import io.homeassistant.companion.android.sensors.SensorReceiver import io.homeassistant.companion.android.sensors.SensorWorker import io.homeassistant.companion.android.testing.unit.ConsoleLogRule +import io.homeassistant.companion.android.util.ChangeLog import io.homeassistant.companion.android.websocket.WebsocketManager import io.mockk.Runs import io.mockk.coEvery @@ -22,7 +23,9 @@ import io.mockk.coVerify import io.mockk.every import io.mockk.just import io.mockk.mockk +import io.mockk.mockkConstructor import io.mockk.mockkObject +import io.mockk.unmockkConstructor import io.mockk.unmockkObject import io.mockk.verify import org.junit.After @@ -62,6 +65,8 @@ class LaunchActivityTest { coEvery { WebsocketManager.start(any()) } just Runs every { SensorReceiver.updateAllSensors(any()) } just Runs every { DisabledLocationHandler.isLocationEnabled(any()) } returns true + mockkConstructor(ChangeLog::class) + coEvery { anyConstructed().showChangeLog(any(), any()) } just Runs } @After @@ -70,14 +75,16 @@ class LaunchActivityTest { unmockkObject(WebsocketManager.Companion) unmockkObject(SensorReceiver.Companion) unmockkObject(DisabledLocationHandler) + unmockkConstructor(ChangeLog::class) } @Test - fun `Given activity resumes then sensor worker and websocket manager are started`() { + fun `Given activity resumes then sensor worker and websocket manager are started and changelog is shown`() { ActivityScenario.launch(LaunchActivity::class.java).use { verify { SensorWorker.start(any()) } coVerify { WebsocketManager.start(any()) } verify { DisabledLocationHandler.isLocationEnabled(any()) } + coVerify { anyConstructed().showChangeLog(any(), eq(false)) } } }