Skip to content

Commit 70196ff

Browse files
committed
sample: KoinContext wrapper
1 parent 2e5ca98 commit 70196ff

File tree

1 file changed

+50
-47
lines changed
  • sample/app/src/main/java/com/hoc081098/channeleventbus/sample/android

1 file changed

+50
-47
lines changed

sample/app/src/main/java/com/hoc081098/channeleventbus/sample/android/MainActivity.kt

Lines changed: 50 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import com.hoc081098.channeleventbus.sample.android.ui.register.stepone.Register
3939
import com.hoc081098.channeleventbus.sample.android.ui.register.stepthree.RegisterStepThreeScreen
4040
import com.hoc081098.channeleventbus.sample.android.ui.register.steptwo.RegisterStepTwoScreen
4141
import org.koin.androidx.compose.koinViewModel
42+
import org.koin.compose.KoinContext
4243
import timber.log.Timber
4344

4445
@OptIn(ExperimentalLayoutApi::class)
@@ -47,57 +48,59 @@ class MainActivity : ComponentActivity() {
4748
super.onCreate(savedInstanceState)
4849

4950
setContent {
50-
MyApplicationTheme {
51-
Surface(
52-
modifier = Modifier.fillMaxSize(),
53-
color = MaterialTheme.colorScheme.background,
54-
) {
55-
val navController = rememberNavController()
56-
val currentBackStackEntryAsState = navController.currentBackStackEntryAsState()
57-
58-
val route by rememberCurrentRouteAsState(currentBackStackEntryAsState)
59-
val previousBackStackEntry by remember(currentBackStackEntryAsState) {
60-
derivedStateOf {
61-
currentBackStackEntryAsState.value
62-
navController.previousBackStackEntry
51+
KoinContext {
52+
MyApplicationTheme {
53+
Surface(
54+
modifier = Modifier.fillMaxSize(),
55+
color = MaterialTheme.colorScheme.background,
56+
) {
57+
val navController = rememberNavController()
58+
val currentBackStackEntryAsState = navController.currentBackStackEntryAsState()
59+
60+
val route by rememberCurrentRouteAsState(currentBackStackEntryAsState)
61+
val previousBackStackEntry by remember(currentBackStackEntryAsState) {
62+
derivedStateOf {
63+
currentBackStackEntryAsState.value
64+
navController.previousBackStackEntry
65+
}
6366
}
64-
}
6567

66-
Scaffold(
67-
topBar = {
68-
TopAppBar(
69-
title = {
70-
Text(
71-
text = when (route) {
72-
Route.RegisterStepOne -> "Register step 1"
73-
Route.RegisterStepTwo -> "Register step 2"
74-
Route.RegisterStepThree -> "Register step 3"
75-
Route.Home -> "Home"
76-
Route.Detail -> "Detail"
77-
null -> ""
78-
},
79-
)
80-
},
81-
navigationIcon = {
82-
if (previousBackStackEntry != null) {
83-
IconButton(onClick = navController::popBackStack) {
84-
Icon(
85-
imageVector = Icons.Default.ArrowBack,
86-
contentDescription = "Back",
87-
)
68+
Scaffold(
69+
topBar = {
70+
TopAppBar(
71+
title = {
72+
Text(
73+
text = when (route) {
74+
Route.RegisterStepOne -> "Register step 1"
75+
Route.RegisterStepTwo -> "Register step 2"
76+
Route.RegisterStepThree -> "Register step 3"
77+
Route.Home -> "Home"
78+
Route.Detail -> "Detail"
79+
null -> ""
80+
},
81+
)
82+
},
83+
navigationIcon = {
84+
if (previousBackStackEntry != null) {
85+
IconButton(onClick = navController::popBackStack) {
86+
Icon(
87+
imageVector = Icons.Default.ArrowBack,
88+
contentDescription = "Back",
89+
)
90+
}
8891
}
89-
}
90-
},
92+
},
93+
)
94+
},
95+
) { innerPadding ->
96+
AppNavHost(
97+
modifier = Modifier
98+
.padding(innerPadding)
99+
.consumeWindowInsets(innerPadding)
100+
.fillMaxSize(),
101+
navController = navController,
91102
)
92-
},
93-
) { innerPadding ->
94-
AppNavHost(
95-
modifier = Modifier
96-
.padding(innerPadding)
97-
.consumeWindowInsets(innerPadding)
98-
.fillMaxSize(),
99-
navController = navController,
100-
)
103+
}
101104
}
102105
}
103106
}

0 commit comments

Comments
 (0)