Skip to content

Commit

Permalink
circuit related updates
Browse files Browse the repository at this point in the history
  • Loading branch information
joreilly committed Oct 5, 2024
1 parent 9b84d75 commit 5f92bf1
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class MainActivity : ComponentActivity() {

setContent {
BikeShareTheme {
applicationComponent.bikeShareContent()
applicationComponent.bikeShareApp()
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import androidx.room.Room
import androidx.sqlite.driver.bundled.BundledSQLiteDriver
import dev.johnoreilly.common.database.AppDatabase
import dev.johnoreilly.common.database.dbFileName
import dev.johnoreilly.common.ui.BikeShareContent
import io.ktor.client.engine.android.Android
import kotlinx.coroutines.Dispatchers
import me.tatarka.inject.annotations.Component
Expand All @@ -16,8 +15,6 @@ import me.tatarka.inject.annotations.Component
@Singleton
abstract class AndroidApplicationComponent(val application: Application): SharedApplicationComponent {

abstract val bikeShareContent: BikeShareContent

override fun getHttpClientEngine() = Android.create()

override fun getRoomDatabase() = createRoomDatabase(application)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@ import dev.johnoreilly.common.screens.StationListUiFactory
import dev.johnoreilly.common.countrylist.CountryListPresenterFactory
import dev.johnoreilly.common.networklist.NetworkListPresenterFactory
import dev.johnoreilly.common.stationlist.StationListPresenterFactory
import dev.johnoreilly.common.ui.BikeShareApp
import me.tatarka.inject.annotations.IntoSet
import me.tatarka.inject.annotations.Provides

interface SharedUiComponent {
abstract val bikeShareApp: BikeShareApp

@IntoSet
@Provides
fun bindCountryListPresenterFactory(factory: CountryListPresenterFactory): Presenter.Factory = factory
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,15 @@ import me.tatarka.inject.annotations.Inject



typealias BikeShareContent = @Composable () -> Unit

typealias BikeShareApp = @Composable () -> Unit

@Inject
@Composable
fun BikeShareContent(circuit: Circuit) {

val backStack = rememberSaveableBackStack(root = CountryListScreen)
val navigator = rememberCircuitNavigator(backStack) {}

fun BikeShareApp(circuit: Circuit) {
MaterialTheme {
val backStack = rememberSaveableBackStack(root = CountryListScreen)
val navigator = rememberCircuitNavigator(backStack) {}

CircuitCompositionLocals(circuit) {
NavigableCircuitContent(navigator = navigator, backStack = backStack)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import androidx.room.Room
import androidx.sqlite.driver.bundled.BundledSQLiteDriver
import dev.johnoreilly.common.database.AppDatabase
import dev.johnoreilly.common.database.dbFileName
import dev.johnoreilly.common.ui.BikeShareContent
import io.ktor.client.engine.java.Java
import me.tatarka.inject.annotations.Component
import java.io.File
Expand All @@ -13,8 +12,6 @@ import java.io.File
@Singleton
abstract class DesktopApplicationComponent: SharedApplicationComponent {

abstract val bikeShareContent: BikeShareContent

override fun getHttpClientEngine() = Java.create()

override fun getRoomDatabase() = createRoomDatabase()
Expand Down
2 changes: 1 addition & 1 deletion compose-desktop/src/main/kotlin/main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ fun main() {
title = "BikeShare",
state = WindowState(size = DpSize(400.dp, 600.dp))
) {
applicationComponent.bikeShareContent()
applicationComponent.bikeShareApp()
}
}

0 comments on commit 5f92bf1

Please sign in to comment.