John O'Reilly
05/08/2023, 12:20 PMyschimke
05/08/2023, 2:44 PMyschimke
05/08/2023, 2:49 PMJohn O'Reilly
05/08/2023, 3:00 PMJohn O'Reilly
05/08/2023, 3:01 PMyschimke
05/08/2023, 3:02 PMyschimke
05/08/2023, 3:03 PMJohn O'Reilly
05/08/2023, 3:03 PMJohn O'Reilly
05/08/2023, 3:04 PMArkadii Ivanov
05/08/2023, 3:16 PMArkadii Ivanov
05/08/2023, 3:30 PMconfigure
methods are gone, as well as lateinit
properties.Arkadii Ivanov
05/08/2023, 3:34 PMJohn O'Reilly
05/08/2023, 3:38 PMconfigure
methods thanks to https://github.com/joreilly/Confetti/pull/660John O'Reilly
05/08/2023, 4:16 PMJohn O'Reilly
05/08/2023, 4:17 PMJohn O'Reilly
05/08/2023, 5:25 PMJohn O'Reilly
05/08/2023, 5:30 PMViewModel
😉John O'Reilly
05/08/2023, 5:41 PMyschimke
05/08/2023, 5:42 PMis as a container of observable UI stateI think this is where the pure Compose folk want remember, rememberSaveable etc.
John O'Reilly
05/08/2023, 5:44 PMyschimke
05/08/2023, 5:46 PMyschimke
05/08/2023, 5:46 PMJohn O'Reilly
05/08/2023, 5:48 PMyschimke
05/08/2023, 5:49 PMJohn O'Reilly
05/08/2023, 5:49 PMJohn O'Reilly
05/08/2023, 5:50 PMyschimke
05/08/2023, 5:51 PMJohn O'Reilly
05/08/2023, 5:51 PMJohn O'Reilly
05/08/2023, 5:51 PMJohn O'Reilly
05/08/2023, 6:07 PMComponent
provides much the same functionality as ViewModel (at least in terms of the containing/creation of observable UI state)?John O'Reilly
05/08/2023, 6:16 PMJohn O'Reilly
05/08/2023, 6:56 PMJohn O'Reilly
05/08/2023, 6:57 PMArkadii Ivanov
05/08/2023, 7:07 PMJohn O'Reilly
05/08/2023, 7:30 PMArkadii Ivanov
05/08/2023, 7:41 PMJohn O'Reilly
05/08/2023, 7:44 PMSessionsSimpleComponent
does at least something similar to what ViewModel did before....in terms of transforming data from the repository etc in to UI state?Arkadii Ivanov
05/08/2023, 7:47 PMJohn O'Reilly
05/08/2023, 7:50 PMJohn O'Reilly
05/08/2023, 7:51 PMArkadii Ivanov
05/08/2023, 7:53 PMJohn O'Reilly
05/08/2023, 7:55 PMJohn O'Reilly
05/08/2023, 7:58 PMArkadii Ivanov
05/08/2023, 8:02 PMJohn O'Reilly
05/08/2023, 8:03 PMJohn O'Reilly
05/08/2023, 8:03 PMJohn O'Reilly
05/08/2023, 8:04 PMArkadii Ivanov
05/08/2023, 8:04 PMJohn O'Reilly
05/08/2023, 8:05 PMJohn O'Reilly
05/08/2023, 8:09 PMJohn O'Reilly
05/08/2023, 8:09 PMJohn O'Reilly
05/08/2023, 8:10 PMJohn O'Reilly
05/08/2023, 8:10 PMArkadii Ivanov
05/08/2023, 8:15 PMmbonnin
05/08/2023, 8:22 PM@mbonnin any thoughts on going further with this?Will have to dive into this more but I agree generally that we shouldn't need to handle process restoration at the (androix) ViewModel layer and that using them feels a bit out of place (because we don't really need anything of what makes them special on Android)
mbonnin
05/08/2023, 8:23 PMJohn O'Reilly
05/08/2023, 8:25 PMmbonnin
05/08/2023, 8:26 PMyschimke
05/08/2023, 8:31 PMyschimke
05/08/2023, 8:31 PMxxfast
05/09/2023, 3:36 AMrememberOnRoute
which i feel reflects its true purpose
fun ListScreen() {
val instance: ListInstance = rememberOnRoute { savedState -> ListInstance() }
}
Re: Using decompose for navigation, I think most of the multiplatform navigation libraries out there makes you to inherit some class in order to define a screen - which I think is very un-compose like (where the semantic view tree is not exposed as a inheritance hierarchy). With Decompose, you can make it more compose-like with decompose-router, and for non-compose projects I would definitely go with just DecomposeJohn O'Reilly
05/09/2023, 8:52 AMArkadii Ivanov
05/09/2023, 8:55 AMStylianos Gakis
05/09/2023, 8:59 AMArkadii Ivanov
05/09/2023, 9:04 AMStylianos Gakis
05/09/2023, 9:10 AMArkadii Ivanov
05/09/2023, 9:12 AMStylianos Gakis
05/09/2023, 9:21 AMStylianos Gakis
05/09/2023, 9:25 AMArkadii Ivanov
05/09/2023, 9:36 AMStylianos Gakis
05/09/2023, 9:43 AMsingleTop = true
it means that as you are pressing the bottom nav items, you’re never building up a big backstack. The backstack always looks like just startDestination
or on startDestination + any of the other bottom nav destinations
.
This automatically makes it so that back button does not exit the app unless specifically on the start destination. You can look in NowInAndroid app as well which behaves as I describe here.Arkadii Ivanov
05/09/2023, 9:54 AMxxfast
05/09/2023, 9:59 AMArkadii Ivanov
05/09/2023, 10:05 AMsingleTop
hierarchy for tabs looks good, because it means that the state is preserved for tabs previously opened. But yeah, popping the tabs stack by the back button might be unintuitive. With Decompose, we can have the former without the latter (the current behaviour in the PR). I'm fine with either.Arkadii Ivanov
05/11/2023, 1:26 PMJohn O'Reilly
05/11/2023, 3:14 PMArkadii Ivanov
05/13/2023, 8:28 PMArkadii Ivanov
05/13/2023, 8:29 PMJohn O'Reilly
05/13/2023, 8:30 PMArkadii Ivanov
05/13/2023, 8:31 PMArkadii Ivanov
05/14/2023, 2:41 PMArkadii Ivanov
05/15/2023, 7:21 PMJohn O'Reilly
05/15/2023, 7:27 PMJohn O'Reilly
05/15/2023, 7:28 PMJohn O'Reilly
05/15/2023, 7:29 PMJohn O'Reilly
05/15/2023, 7:30 PMcafonsomota
05/15/2023, 7:32 PMmbonnin
05/15/2023, 7:33 PMArkadii Ivanov
05/15/2023, 7:37 PMArkadii Ivanov
05/15/2023, 7:38 PMJohn O'Reilly
05/15/2023, 7:54 PMyschimke
05/15/2023, 8:01 PMcafonsomota
05/15/2023, 8:10 PMArkadii Ivanov
05/15/2023, 8:10 PMyschimke
05/15/2023, 8:11 PMcafonsomota
05/15/2023, 8:12 PMcafonsomota
05/15/2023, 8:12 PMyschimke
05/15/2023, 8:12 PMyschimke
05/15/2023, 8:13 PMArkadii Ivanov
05/15/2023, 8:13 PMcafonsomota
05/15/2023, 8:14 PMcafonsomota
05/15/2023, 8:14 PMJohn O'Reilly
05/15/2023, 8:24 PMYep, the auto emulator in AS works for the one confetti supportsCool, didn't realise you could do that....must try it
Arkadii Ivanov
05/17/2023, 11:20 PMbod
05/18/2023, 9:24 AMJohn O'Reilly
05/19/2023, 7:04 PMgh pr checkout 688
From <https://github.com/joreilly/Confetti>
! [rejected] refs/pull/688/head -> decompose (non-fast-forward)
failed to run git: exit status 1
yschimke
05/19/2023, 7:06 PMyschimke
05/19/2023, 7:06 PMJohn O'Reilly
05/19/2023, 7:06 PMJohn O'Reilly
05/19/2023, 8:31 PMComponent
classes in mobileMain
shared code are still in ViewModel classes....assume that's probably just function of how code has been transitioned....easy thing to update anywayJohn O'Reilly
05/19/2023, 8:32 PMcommonMain
John O'Reilly
05/19/2023, 8:42 PMArkadii Ivanov
05/19/2023, 9:48 PMArkadii Ivanov
05/19/2023, 9:49 PMJohn O'Reilly
05/20/2023, 8:49 AMyschimke
05/20/2023, 8:55 AMyschimke
05/20/2023, 8:55 AMJohn O'Reilly
05/20/2023, 8:58 AMmbonnin
05/20/2023, 9:00 AMJohn O'Reilly
05/20/2023, 9:13 AMArkadii Ivanov
05/20/2023, 9:31 AMJohn O'Reilly
05/20/2023, 9:46 AMArkadii Ivanov
05/20/2023, 10:00 AMJohn O'Reilly
05/20/2023, 10:01 AMArkadii Ivanov
05/20/2023, 10:01 AMJohn O'Reilly
05/20/2023, 10:02 AMyschimke
05/20/2023, 10:18 AMArkadii Ivanov
05/20/2023, 10:21 AMcafonsomota
05/20/2023, 10:22 AMyschimke
05/20/2023, 10:23 AMyschimke
05/20/2023, 10:23 AMJohn O'Reilly
05/20/2023, 10:23 AMyschimke
05/20/2023, 10:24 AMcafonsomota
05/20/2023, 10:24 AMcafonsomota
05/20/2023, 10:24 AMcafonsomota
05/20/2023, 10:25 AMyschimke
05/20/2023, 10:25 AMcafonsomota
05/20/2023, 10:26 AMJohn O'Reilly
05/20/2023, 10:26 AMcafonsomota
05/20/2023, 10:34 AMmbonnin
05/20/2023, 10:35 AMmbonnin
05/20/2023, 5:47 PM.mp4
?yschimke
05/20/2023, 5:48 PMyschimke
05/20/2023, 5:49 PMmbonnin
05/20/2023, 5:52 PMyschimke
05/20/2023, 5:55 PMyschimke
05/20/2023, 5:56 PMmbonnin
05/20/2023, 5:56 PMmbonnin
05/20/2023, 5:59 PMmbonnin
05/20/2023, 5:59 PMcafonsomota
05/20/2023, 6:13 PM