package Ġcom . goo fy . goo ber . android view . navigation Ċ Ċ import Ġcom . goo fy . goo ber . R Ċ import Ġcom . goo fy . goo ber . android view . fragment . Welcome Fragment Ċ import Ġcom . goo fy . goo ber . model . Art Intent Ċ import Ġcom . goo fy . goo ber . model . Art State Ċ Ċ internal Ġclass ĠArt Router ( ĊĠĠĠ Ġprivate Ġval Ġart Nav Controller : ĠArt Nav Controller , ĊĠĠĠ Ġprivate Ġval Ġnav Args ViewModel : ĠNav Args ViewModel Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġroute ( ĊĠĠĠĠĠĠĠ Ġart State : ĠArt State , ĊĠĠĠĠĠĠĠ Ġon Intent : Ġ( Art Intent ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġart State . route Internal ( on Intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠArt State . route Internal ( ĊĠĠĠĠĠĠĠ Ġon Intent : Ġ( Art Intent ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArt State . Welcome Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprops Ġ= ĠWelcome Fragment . Props ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonStart Click Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Intent ( Art Intent . Show Chooser ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġart Nav Controller Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Args ViewModel . set Welcome Props ( props ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( R . id . welcome Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠArt State . Chooser Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġart Nav Controller Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Destination ?. id Ġ== ĠR . id . welcome Fragment ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( R . id . action _ welcome Fragment _ to _ cho oser Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ