package Ġnet . v on for st . ev map Ċ Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Activity NotFoundException Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . System Clock Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . browser . custom tabs . Custom Tab Color Scheme Params Ċ import Ġandroidx . browser . custom tabs . Custom Tabs Intent Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . splash screen . Splash Screen Ċ import Ġandroidx . core . splash screen . Splash Screen . Companion . install Splash Screen Ċ import Ġandroidx . core . view . View Compat Ċ import Ġandroidx . core . view . Window Insets Compat Ċ import Ġandroidx . drawer layout . widget . Drawer Layout Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġandroidx . navigation . fragment . Fragment Navigator Ċ import Ġandroidx . navigation . ui . AppBar Configuration Ċ import Ġandroidx . navigation . ui . setup With Nav Controller Ċ import Ġandroidx . preference . Preference Ċ import Ġandroidx . preference . Preference Fragment Compat Ċ import Ġcom . car 2 go . maps . model . LatLng Ċ import Ġcom . google . android . material . navigation . Navigation View Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . google . android . material . transition . Material Shared Axis Ċ import Ġnet . v on for st . ev map . fragment . Map Fragment Args Ċ import Ġnet . v on for st . ev map . model . Charge Location Ċ import Ġnet . v on for st . ev map . navigation . Nav Host Fragment Ċ import Ġnet . v on for st . ev map . storage . Preference DataSource Ċ import Ġnet . v on for st . ev map . utils . Locale Context Wrapper Ċ import Ġnet . v on for st . ev map . utils . getLocation From Intent ĊĊ Ċ const Ġval ĠREQUEST _ LOCATION _ PERMISSION Ġ= Ġ 1 Ċ const Ġval ĠEX TRA _ CHAR GER _ ID Ġ= Ġ" ch arger Id " Ċ const Ġval ĠEX TRA _ LAT Ġ= Ġ" lat " Ċ const Ġval ĠEX TRA _ LON Ġ= Ġ" lon " Ċ const Ġval ĠEX TRA _ FA V OR ITES Ġ= Ġ" favorites " Ċ Ċ class ĠMaps Activity Ġ: ĠAppCompatActivity (), ĊĠĠĠ ĠPreference Fragment Compat . On Preference Start Fragment Callback Ġ{ ĊĠĠĠ Ġinterface ĠFragment Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Root View (): ĠView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġre enter State : ĠBundle ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnav Controller : ĠNav Controller ĊĠĠĠ Ġlateinit Ġvar Ġapp Bar Configuration : ĠApp Bar Configuration ĊĠĠĠ Ġvar Ġfragment Callback : ĠFragment Callback ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġprefs : ĠPreference DataSource ĊĊĠĠĠ Ġoverride Ġfun Ġattach Base Context ( new Base : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . attach Base Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocale Context Wrapper . wrap ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Base , ĠPreference DataSource ( new Base ). language ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġsplash Screen Ġ= Ġinstall Splash Screen () ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ maps ) ĊĊĠĠĠĠĠĠĠ Ġapp Bar Configuration Ġ= ĠApp Bar Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . map , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fav s , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . about , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . settings ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById < Drawer Layout >( R . id . drawer _ layout ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġnav Host Fragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . find Fragment ById ( R . id . nav _ host _ fragment ) Ġas ĠNav Host Fragment ĊĠĠĠĠĠĠĠ Ġnav Controller Ġ= Ġnav Host Fragment . nav Controller ĊĠĠĠĠĠĠĠ Ġval Ġnav Graph Ġ= Ġnav Controller . nav Inflater . inflate ( R . navigation . nav _ graph ) ĊĠĠĠĠĠĠĠ Ġval Ġnav View Ġ= ĠfindViewById < Navigation View >( R . id . nav _ view ) ĊĠĠĠĠĠĠĠ Ġnav View . setup With Nav Controller ( nav Controller ) ĊĊĠĠĠĠĠĠĠ Ġval Ġheader Ġ= Ġnav View . getHeader View ( 0 ) ĊĠĠĠĠĠĠĠ ĠView Compat . setOn Apply Window Insets Listener ( header ) Ġ{ Ġv , Ġin sets Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . set Padding ( 0 , Ġin sets . get Insets ( Window Insets Compat . Type . status Bars ()). top , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin sets ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprefs Ġ= ĠPreference DataSource ( this ) ĊĠĠĠĠĠĠĠ Ġprefs . app Start Counter Ġ+= Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġcheck Play Services ( this ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! prefs . welcome Dialog Shown Ġ|| Ġ! prefs . dataSource Set ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . S ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwait Ġfor Ġsplash Ġscreen Ġanimation Ġto Ġfinish Ġon Ġfirst Ġstart ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsplash Screen . set Keep Visible Condition ( object Ġ: ĠSpl ash Screen . Keep On Screen Condition Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠstartTime : ĠLong ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshould Keep On Screen (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġst Ġ= ĠstartTime ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( st Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartTime Ġ= ĠSystem Clock . uptime Millis () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( System Clock . uptime Millis () Ġ- Ġst ) Ġ< Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Graph . set Start Destination ( R . id . on boarding ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . graph Ġ= Ġnav Graph ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Graph . set Start Destination ( R . id . map ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . set Graph ( nav Graph , ĠMap Fragment Args ( app Start Ġ= Ġtrue ). to Bundle ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdeep Link : ĠPending Intent ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( intent ?. scheme Ġ== Ġ" geo ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġintent . data ?. query ?. split (" =") ?. get ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcoords Ġ= Ġget Location From Intent ( intent ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( coords Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlat Ġ= Ġcoords [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlon Ġ= Ġcoords [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeep Link Ġ= Ġnav Controller . create Deep Link () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Graph ( R . navigation . nav _ graph ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Destination ( R . id . map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Arguments ( Map Fragment Args ( lat Lng Ġ= ĠLat Lng ( lat , Ġlon )). to Bundle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Pending Intent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( query Ġ!= Ġnull Ġ&& Ġquery . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeep Link Ġ= Ġnav Controller . create Deep Link () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Graph ( R . navigation . nav _ graph ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Destination ( R . id . map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Arguments ( Map Fragment Args ( location Name Ġ= Ġquery ). to Bundle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Pending Intent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( intent ?. scheme Ġ== Ġ" https " Ġ&& Ġintent ?. data ?. host Ġ== Ġ" www . going electric . de ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġintent . data ?. path Segments ?. last ()?. to Long OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( id Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeep Link Ġ= Ġnav Controller . create Deep Link () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Graph ( R . navigation . nav _ graph ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Destination ( R . id . map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Arguments ( Map Fragment Args ( ch arger Id Ġ= Ġid ). to Bundle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Pending Intent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( intent . has Extra ( EXTRA _ CHAR GER _ ID )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeep Link Ġ= Ġnav Controller . create Deep Link () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Destination ( R . id . map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Arguments ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMap Fragment Args ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġch arger Id Ġ= Ġintent . getLong Extra ( EXTRA _ CHAR GER _ ID , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlat Lng Ġ= ĠLat Lng ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . getDouble Extra ( EXTRA _ LAT , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . getDouble Extra ( EXTRA _ LON , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). to Bundle () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Pending Intent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( intent . has Extra ( EXTRA _ FA V OR ITES )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeep Link Ġ= Ġnav Controller . create Deep Link () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Destination ( R . id . fav s ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Pending Intent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdeep Link ?. send () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnavigate To ( ch arger : ĠCharge Location ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgoogle Ġmaps Ġnavigation ĊĠĠĠĠĠĠĠ Ġval Ġcoord Ġ= Ġch arger . coordinates ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . parse (" google . navigation : q =${ coord . lat }, ${ coord . lng }") ĊĠĠĠĠĠĠĠ Ġintent .` package ` Ġ= Ġ" com . google . android . apps . maps " ĊĠĠĠĠĠĠĠ Ġif Ġ( prefs . navigate Use Maps Ġ&& Ġintent . resolve Activity ( package Manager ) Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ); ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfallback : Ġgeneric Ġgeo Ġintent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Location ( ch arger ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Location ( ch arger : ĠCharge Location ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoord Ġ= Ġch arger . coordinates ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . parse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" geo :${ coord . lat }, ${ coord . lng }? q =${ coord . lat }, ${ coord . lng } (${ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUri . encode ( ch arger . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ( intent . resolve Activity ( package Manager ) Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ); ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcb Ġ= Ġfragment Callback Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcb . getRoot View (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . no _ maps _ app _ found , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġopen Url ( url : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠCustom Tabs Intent . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDefault Color Scheme Params ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCustom Tab Color Scheme Params . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Toolbar Color ( Context Compat . getColor ( this , ĠR . color . color Primary )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . launch Url ( this , ĠUri . parse ( url )) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠActivity NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcb Ġ= Ġfragment Callback Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcb . getRoot View (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . no _ browser _ app _ found , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshare Url ( url : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ SEND ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Type (" text / plain ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ TEXT , Ġurl ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Preference Start Fragment ( ĊĠĠĠĠĠĠĠ Ġcaller : ĠPreference Fragment Compat , ĊĠĠĠĠĠĠĠ Ġpref : ĠPreference ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġcaller . exit Transition Ġ= ĠMaterial Shared Axis ( Material Shared Axis . X , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġcaller . re enter Transition Ġ= ĠMaterial Shared Axis ( Material Shared Axis . X , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠIdent ify Ġthe ĠNavigation ĠDestination ĊĠĠĠĠĠĠĠ Ġval Ġnav Destination Ġ= Ġnav Controller . graph ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Ġ{ Ġtarget Ġ-> Ġtarget Ġis ĠFragment Navigator . Destination Ġ&& Ġpref . fragment Ġ== Ġtarget . className Ġ} ĊĠĠĠĠĠĠĠ Ġnav Destination ?. let Ġ{ Ġtarget Ġ-> Ġnav Controller . navigate ( target . id ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ