ursus
04/11/2026, 8:41 AMNav3, is there any timing guarantee after changing the backstack?
Say I
backstack.add(DetailNavKey)
Can I reason WHEN will the DetailNavEntry in composition?
Or, is the only guarantee "eventually"?
(I'm asking in context of process restore & sending events - whether I can get away with MutableSharedFlow or do I need a randevouz Channel where sender would wait for the receiver (nav entry) to come online?efemoney
04/11/2026, 8:47 AMursus
04/11/2026, 8:49 AMefemoney
04/11/2026, 9:02 AMRetained) that will hold the (possibly observable) data holder. The code that will receive & parse the intent will directly update this data holder.
• NavEntryDecorator that “connects” the particular entry to the above component, as long as the entry is in the backstack. This means when the entry is composed you can getOrCreate your data holder and, eventually, clear it when the entry is popped off the backstack.ursus
04/11/2026, 9:05 AMefemoney
04/11/2026, 9:06 AMnext nav entry might get other’s entries eventShould not be possible as the data holder should be specific per entry (based on the content key passed to the decorator for instance)
ursus
04/11/2026, 9:10 AMdata object PaymentOptions : NavKeyursus
04/11/2026, 9:11 AMefemoney
04/11/2026, 9:31 AMefemoney
04/11/2026, 9:34 AMefemoney
04/11/2026, 9:35 AMursus
04/11/2026, 10:13 AMursus
04/11/2026, 10:16 AMursus
04/11/2026, 10:28 AMefemoney
04/11/2026, 10:36 AMDo you literally attach random uuids to everything?No, the default toString is good enough for majority of cases. Unless you are intentionally overriding toString to provide the same string for different navKeys, most keys will have different contentKeys meaning you can have unique data holders for each screen.
ursus
04/11/2026, 10:44 AMefemoney
04/11/2026, 10:45 AMefemoney
04/11/2026, 10:50 AMursus
04/11/2026, 11:10 AMursus
04/11/2026, 11:11 AMefemoney
04/13/2026, 6:42 AM