@@ -11,6 +11,8 @@ import cafe.adriel.voyager.navigator.tab.TabNavigator
1111import com.getcode.navigation.modal.ModalScreen
1212import com.getcode.navigation.screens.AppScreen
1313import com.getcode.navigation.screens.ChildNavTab
14+ import com.getcode.utils.TraceType
15+ import com.getcode.utils.trace
1416import kotlinx.coroutines.CoroutineScope
1517import kotlinx.coroutines.Dispatchers
1618import kotlinx.coroutines.delay
@@ -46,15 +48,18 @@ class CombinedNavigator(
4648
4749
4850 override fun show (screen : Screen ) {
51+ trace(message = " opening ${screen::class .java.simpleName} in a sheet" )
4952 sheetNavigator.show(screen)
5053 }
5154
5255 override fun show (items : List <Screen >) {
56+ trace(message = " opening ${items.joinToString { it::class .java.simpleName }} in a sheet" )
5357 if (items.isEmpty()) return
5458 sheetNavigator.show(items)
5559 }
5660
5761 override fun hide () {
62+ trace(message = " closing sheet" )
5863 sheetNavigator.hide()
5964 }
6065
@@ -82,6 +87,7 @@ class CombinedNavigator(
8287 }
8388
8489 override fun push (item : Screen , delay : Long ) {
90+ trace(message = " navigating to ${item::class .java.simpleName} " )
8591 launch {
8692 delay(delay)
8793 if (isVisible) {
@@ -93,6 +99,7 @@ class CombinedNavigator(
9399 }
94100
95101 override fun push (items : List <Screen >) {
102+ trace(message = " navigating to ${items.joinToString { it::class .java.simpleName }} " )
96103 if (isVisible) {
97104 sheetNavigator.push(items)
98105 } else {
@@ -109,6 +116,7 @@ class CombinedNavigator(
109116 }
110117
111118 override fun replaceAll (items : List <Screen >) {
119+ trace(message = " replacing all in back stack with ${items.joinToString { it::class .java.simpleName }} " )
112120 val modalScreens = items.filterIsInstance<ModalScreen >()
113121 val otherScreens = items.filterNot { it is ModalScreen }
114122 screensNavigator?.replaceAll(otherScreens)
@@ -126,6 +134,7 @@ class CombinedNavigator(
126134 }
127135
128136 override fun pop (): Boolean {
137+ trace(message = " popping from back stack" )
129138 return if (isVisible) {
130139 sheetNavigator.pop()
131140 } else {
@@ -160,6 +169,7 @@ class CombinedNavigator(
160169 }
161170
162171 override fun popAll () {
172+ trace(message = " popping all from back stack" )
163173 if (isVisible) {
164174 sheetNavigator.popAll()
165175 } else {
@@ -192,4 +202,8 @@ class CombinedNavigator(
192202 screensNavigator?.saveableState(key = key, screen = lastScreen, content = content)
193203 }
194204 }
205+
206+ private fun trace (message : String ) {
207+ trace(tag = " Navigator" , message = message, type = TraceType .Navigation )
208+ }
195209}
0 commit comments