package Ġse . g ust av kar l sson . sky light . android . feature . intro Ċ Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . Re usable Ċ import Ġdagger . mult ib ind ings . Into Set Ċ import Ġkotlinx . coroutines . Coroutine Dispatcher Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġse . g ust av kar l sson . sky light . android . core . Io Ċ import Ġse . g ust av kar l sson . sky light . android . lib . navigation . Back stack Ċ import Ġse . g ust av kar l sson . sky light . android . lib . navigation . Navigation Override Ċ import Ġse . g ust av kar l sson . sky light . android . lib . navigation . Screen Ċ import Ġse . g ust av kar l sson . sky light . android . lib . run version . Run Version Manager Ċ Ċ @ Module Ċ object ĠFeature Intro Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Re usable ĊĠĠĠ Ġ@ Into Set ĊĠĠĠ Ġinternal Ġfun Ġnavigation Override ( ĊĠĠĠĠĠĠĠ Ġrun Version Manager : ĠRun Version Manager , ĊĠĠĠĠĠĠĠ Ġ@ Io Ġdispatcher : ĠCor outine Dispatcher , ĊĠĠĠ Ġ): ĠNavigation Override Ġ= Ġobject Ġ: ĠNavigation Override Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġpriority Ġ= Ġ 1 0 ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġoverride ( old Back stack : ĠBack stack , Ġtarget Back stack : ĠBack stack ): ĠBack stack ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Blocking ( dispatcher ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Back stack . isNotEmpty () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Back stack . none Ġ{ Ġit . type Ġ== ĠScreen . Type . Intro Ġ} Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Version Manager . is First Run Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Intro Screen ( target Back stack )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ