package Ġgo . de yu . prep area ad Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Trace Ċ import Ġandroid . provider . Settings Ċ import Ġandroidx . activity . Component Activity Ċ import Ġandroidx . activity . compose . setContent Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . compose . material .* Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled .* Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . ui . graphics . vector . Image Vector Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . navigation . compose . remember Nav Controller Ċ import Ġcom . google . ac comp an ist . permissions . Experimental Permissions Api Ċ import Ġcom . inter sense . m yne ighbor . nav i . Navigation Command Ċ import Ġcom . inter sense . m yne ighbor . nav i . Navigation Directions Ċ import Ġcom . inter sense . m yne ighbor . nav i . Navigation Manager Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġgo . de yu . prep area ad . ui . main . Main Screen Ċ import Ġgo . de yu . prep area ad . ui . main . Main ViewModel Ċ import Ġgo . de yu . prep area ad . ui . theme . Compose Sample Theme Ċ import Ġjavax . inject . Inject Ċ Ċ @ Android EntryPoint Ċ class ĠMainActivity Ġ: ĠComponent Activity () Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġnavigation Manager : ĠNavigation Manager ĊĊĠĠĠ Ġval ĠviewModel : ĠMain ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġenum Ġclass ĠMain Tabs ( ĊĠĠĠĠĠĠĠ Ġval Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġicon : ĠImage Vector , ĊĠĠĠĠĠĠĠ Ġval Ġroute : ĠNavigation Command ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBUTTON _ PAGE (" æĮī é Ī ķ ", Ġicon Ġ= ĠIcons . Default . Smart Button , ĠNavigation Directions . buttons _ root ), ĊĠĠĠĠĠĠĠ ĠAN IM ATION _ PAGE (" åĭķ çķ « ", ĠIcons . Default . Animation , ĠNavigation Directions . animation _ root ), ĊĠĠĠĠĠĠĠ ĠCOMPONENT _ PAGE (" åħĥ ä»¶ ", ĠIcons . Default . View Compact , ĠNavigation Directions . component _ root ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Experimental Permissions Api ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠTrace . begin Section (" De yu Trace ") ĊĠĠĠĠĠĠĠ Ġset Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCompose Sample Theme Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnav Controller Ġ= Ġremember Nav Controller () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSurface ( color Ġ= ĠMaterial Theme . colors . background ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMain Screen ( nav Controller Ġ= Ġnav Controller , ĠviewModel Ġ= ĠviewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation Manager . commands . collect As State (). value . also Ġ{ Ġcommand Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( command ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNavigation Directions . none Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNavigation Directions . back Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . pop Back Stack () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNavigation Directions . open _ location _ permission Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen App Location Permission () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( command . destination . isNotEmpty ()) Ġnav Controller . navigate ( command . destination ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . launch Single Top Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠTrace . end Section () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen App Location Permission () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠ Ġintent . action Ġ= ĠSettings . ACTION _ APPLICATION _ DETAILS _ SETTINGS ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . from Parts ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" package ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBuild Config . APPLICATION _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġintent . data Ġ= Ġuri ĊĠĠĠĠĠĠĠ Ġintent . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġnavigation Manager . navigate ( Navigation Directions . none ) ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ Ċ @ Composable Ċ fun ĠG reeting ( name : ĠString ) Ġ{ ĊĠĠĠ ĠText ( text Ġ= Ġ" Hello Ġ$ name !") Ċ } Ċ Ċ @ Preview ( show Background Ġ= Ġtrue ) Ċ @ Composable Ċ fun ĠDefault Preview () Ġ{ ĊĠĠĠ ĠCompose Sample Theme Ġ{ ĊĠĠĠĠĠĠĠ ĠG reeting (" Android ") ĊĠĠĠ Ġ} Ċ }