package Ġnl . j ov mit . friends Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . Component Activity Ċ import Ġandroidx . activity . compose . setContent Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Surface Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . navigation . compose . Nav Host Ċ import Ġandroidx . navigation . compose . comp osable Ċ import Ġandroidx . navigation . compose . remember Nav Controller Ċ import Ġnl . j ov mit . friends . home . Home Screen Ċ import Ġnl . j ov mit . friends . navigation . Screen Ċ import Ġnl . j ov mit . friends . signup . SignUp Screen Ċ import Ġnl . j ov mit . friends . ui . theme . Friends Theme Ċ Ċ class ĠMainActivity Ġ: ĠComponent Activity () Ġ{ ĊĊĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġset Content Ġ{ ĊĠĠĠĠĠ ĠF riends Theme Ġ{ ĊĠĠĠĠĠĠĠ ĠSurface ( color Ġ= ĠMaterial Theme . colors . background ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠMain App () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Composable ĊĠ Ġprivate Ġfun ĠMain App () Ġ{ ĊĠĠĠ Ġval Ġnav Controller Ġ= Ġremember Nav Controller () ĊĠĠĠ ĠNav Host ( nav Controller Ġ= Ġnav Controller , Ġstart Destination Ġ= ĠScreen . SignUp . route ) Ġ{ ĊĠĠĠĠĠ Ġcomp osable ( Screen . SignUp . route ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSign Up Screen Ġ{ Ġsigned Up UserId Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate ( Screen . Home . create Route ( signed Up UserId )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpop Up To ( Screen . SignUp . route ) Ġ{ Ġinclusive Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġcomp osable ( route Ġ= ĠScreen . Home . route ) Ġ{ Ġback Stack Entry Ġ-> ĊĠĠĠĠĠĠĠ ĠHome Screen ( userId Ġ= Ġback Stack Entry . arguments ?. getString ( Screen . Home . userId ) Ġ?: Ġ"") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }