Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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.
*/
Expand Down Expand Up @@ -156,6 +160,7 @@ class LaunchActivity : AppCompatActivity() {
lifecycleScope.launch {
WebsocketManager.start(this@LaunchActivity)
checkLocationDisabled()
changeLog.showChangeLog(this@LaunchActivity, forceShow = false)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,17 @@ 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
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
Expand Down Expand Up @@ -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<ChangeLog>().showChangeLog(any(), any()) } just Runs
}

@After
Expand All @@ -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<ChangeLog>().showChangeLog(any(), eq(false)) }
}
}

Expand Down
Loading