package Ġcom . is op . podcast app . ui Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . Component Activity Ċ import Ġandroidx . activity . On Back Pressed Dispatcher Ċ import Ġandroidx . activity . compose . setContent Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . core . view . Window Compat Ċ import Ġandroidx . navigation . compose . Nav Host Ċ import Ġandroidx . navigation . compose . comp osable Ċ import Ġandroidx . navigation . nav Deep Link Ċ import Ġcom . is op . podcast app . R Ċ import Ġcom . is op . podcast app . constant . Constant Ċ import Ġcom . is op . podcast app . ui . common . Provide Multi ViewModel Ċ import Ġcom . is op . podcast app . ui . home . Home Screen Ċ import Ġcom . is op . podcast app . ui . navigation . Destination Ċ import Ġcom . is op . podcast app . ui . navigation . Navigator Ċ import Ġcom . is op . podcast app . ui . navigation . Provide Nav Host Controller Ċ import Ġcom . is op . podcast app . ui . podcast . Pod cast Bottom Bar Ċ import Ġcom . is op . podcast app . ui . podcast . Pod cast Detail Screen Ċ import Ġcom . is op . podcast app . ui . podcast . Pod cast Player Screen Ċ import Ġcom . is op . podcast app . ui . theme . Pod cast App Theme Ċ import Ġcom . is op . podcast app . ui . welcome . Welcome Screen Ċ import Ġcom . google . ac comp an ist . in sets . Provide Window Insets Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ Ċ @ Android EntryPoint Ċ class ĠMainActivity Ġ: ĠComponent Activity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Theme ( R . style . Theme _ Pod cast App ) ĊĠĠĠĠĠĠĠ ĠWindow Compat . set Decor Fits System Windows ( window , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġvar Ġstart Destination Ġ= ĠDestination . welcome ĊĠĠĠĠĠĠĠ Ġif Ġ( intent ?. action Ġ== ĠConstant . ACTION _ POD CAST _ NOTIFICATION _ CLICK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Destination Ġ= ĠDestination . home ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġset Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPod cast App ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Destination Ġ= Ġstart Destination , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġback Dispatcher Ġ= Ġon Back Pressed Dispatcher ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠPod cast App ( ĊĠĠĠ Ġstart Destination : ĠString Ġ= ĠDestination . welcome , ĊĠĠĠ Ġback Dispatcher : ĠOn Back Pressed Dispatcher Ċ ) Ġ{ ĊĠĠĠ ĠPod cast App Theme Ġ{ ĊĠĠĠĠĠĠĠ ĠProvide Window Insets Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProvide Multi ViewModel Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProvide Nav Host Controller Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNav Host ( Navigator . current , Ġstart Destination ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp osable ( Destination . welcome ) Ġ{ ĠWelcome Screen () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp osable ( Destination . home ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHome Screen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDestination . podcast , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeep Links Ġ= ĠlistOf ( nav Deep Link Ġ{ Ġuri Pattern Ġ= Ġ" https :// www . listen notes . com / e /{ id }" Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġback Stack Entry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPod cast Detail Screen ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpod cast Id Ġ= Ġback Stack Entry . arguments ?. getString (" id ") !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPod cast Bottom Bar ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . align ( Alignment . Bottom Center ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPod cast Player Screen ( back Dispatcher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ