Cicero
07/05/2021, 8:48 PMCicero
07/05/2021, 8:49 PMclass TFragment : BaseFragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
(requireActivity() as AppCompatActivity).supportActionBar?.hide()
return ComposeView(requireContext()).apply {
setContent {
TestView(
externalNavigation = findNavController(),
)
}
}
}
}
Cicero
07/05/2021, 8:53 PM@Composable
fun TestView(externalNavigation: NavController) {
val _testState: State<Test?> = flow {
TestImpl().getTest().collect {
emit(it)
}
}.collectAsState(
initial = null,
context = EmptyCoroutineContext
)
fun createTest(): Test {
return Test(
final = 0,
empty = 0,
date = LocalDateTime.now(),
uuid = "TEST_TEST"
)
}
val testState = _testState.value ?: createTest()
val step by rememberSaveable { mutableStateOf(getStep(testState)) }
val navHostController = NavigationHostController()
val testAction = TestActions(
navController = navHostController,
externalNavigation = externalNavigation
)
GuidedTestLayout(
onClickNext = {
getNextDestinationByStep(
step = step,
action = testAction,
testState = testState
)
},
onClickBack = { testAction.popBack() }, step = 0,
testState = testState,
navHostController = navHostController,
)
}
Cicero
07/05/2021, 8:55 PM@Composable
fun TestLayout(
onClickNext: () -> Unit,
onClickBack: () -> Unit,
step: Int,
testState: Test,
navHostController: NavHostController
) {
ProcessTemplate(
onClickNext = onClickNext,
onClickBack = onClickBack,
step = step,
title = stringResource(R.string.add_test_title),
enabled = isWaitForFinishingTestDone(testState.date)
) {
NavHost(
navController = navHostController,
startDestination = INTRO.toString()
) {
composable(INTRO.toString()) {
TestIntroduction()
}
composable(START_TEST.toString()) {
TestStart(testState.emptyWeight)
}
}
}
}
Cicero
07/05/2021, 8:55 PM@Composable
fun TestIntroduction(){
Column {
Text(text = "Intro")
}
}
Cicero
07/05/2021, 9:21 PMsetContent {
Text("Hello world!")
}
Which I copied from the compose tutorials it breaks. I’m challenging my basic knowledge of compose here 😓Cicero
07/05/2021, 9:25 PMimport android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.compose.ui.platform.ComposeView
import androidx.fragment.app.Fragment
import androidx.ui.core.Text
class TestFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return ComposeView(requireContext()).apply {
setContent {
Text(text = "Hello world.")
}
}
}
}
Cicero
07/05/2021, 9:32 PMCicero
07/05/2021, 9:34 PMCicero
07/05/2021, 9:38 PMProcessTemplate -> is a Scaffold
Cicero
07/05/2021, 9:41 PMCicero
07/05/2021, 9:52 PMJorge Cordero
07/05/2021, 9:57 PMCicero
07/05/2021, 10:39 PM