package Ġio . map w ize . map w ize u ic omp onent s Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Activity Compat Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġcom . mapbox . mapbox sdk . maps . Map box Map Ċ import Ġio . indo or location . core . In door Location Ċ import Ġio . indo or location . core . In door Location Provider Ċ import Ġio . indo or location . manual . Manual In door Location Provider Ċ import Ġio . map w ize . map w ize components . ui . Map w ize Fragment Ċ import Ġio . map w ize . map w ize components . ui . Map w ize Fragment UI Settings Ċ import Ġio . map w ize . map w ize components . ui . UI Behaviour Ċ import Ġio . map w ize . map w ize form ap box . api . Map w ize Object Ċ import Ġio . map w ize . map w ize form ap box . api . Place Ċ import Ġio . map w ize . map w ize form ap box . map . Map Options Ċ import Ġio . map w ize . map w ize form ap box . map . Map w ize Plugin Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠMap w ize Fragment . On Fragment Interaction Listener , ĠUI Behaviour Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġmap w ize Fragment : ĠMap w ize Fragment ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmap box Map : ĠMap box Map ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmap w ize Plugin : ĠMap w ize Plugin ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġlocation Provider : ĠManual In door Location Provider ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmanual In door Location Provider : ĠIn door Location Provider ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġnav is ens In door Location Provider : ĠN avis ens In door Location Provider ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval ĠREQUEST _ LOCATION _ PERMISSION Ġ= Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠUncomment Ġand Ġfill Ġplace Ġholder Ġto Ġtest ĠMap w ize UI Ġon Ġyour Ġven ue ĊĠĠĠĠĠĠĠ Ġval Ġopts Ġ= ĠMap Options . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. restrict Content To Organization (" 5 c 4 0 2 a 8 6 9 c 7 8 c 8 0 0 1 5 5 6 db 5 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. restrict Content To Venue (" 5 c 4 1 1 1 f 0 9 c 7 8 c 8 0 0 1 5 5 6 e 7 d 8 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center On Venue (" 5 c 4 1 1 1 f 0 9 c 7 8 c 8 0 0 1 5 5 6 e 7 d 8 ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center On Place (" YOUR _ PLACE _ ID ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġ// ĠUncomment Ġand Ġchange Ġvalue Ġto Ġtest Ġdifferent Ġsettings Ġconfiguration ĊĠĠĠĠĠĠĠ Ġvar Ġui Settings Ġ= ĠMap w ize Fragment UI Settings . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. menu Button Hidden ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. follow User Button Hidden ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. floor Controller Hidden ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compass Hidden ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġmap w ize Fragment Ġ= ĠMap w ize Fragment . newInstance ( opts , Ġui Settings ) ĊĠĠĠĠĠĠĠ Ġthis . map w ize Fragment ?. ui Behaviour Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġval Ġfm Ġ= Ġsupport FragmentManager ĊĠĠĠĠĠĠĠ Ġval Ġft Ġ= Ġfm . beginTransaction () ĊĠĠĠĠĠĠĠ Ġft . add ( fragment Container . id , Ġmap w ize Fragment !! ) ĊĠĠĠĠĠĠĠ Ġft . commit () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFragment Ġlistener ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Fragment Ready ( mapbox Map : ĠMap box Map ?, Ġmap w ize Plugin : ĠMap w ize Plugin ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . mapbox Map Ġ= Ġmap box Map ĊĠĠĠĠĠĠĠ Ġthis . map w ize Plugin Ġ= Ġmap w ize Plugin Ċ Ċ // ĠĠĠĠĠĠĠ Ġthis . location Provider Ġ= ĠManual In door Location Provider () Ċ // ĠĠĠĠĠĠĠ Ġthis . map w ize Plugin ?. setLocation Provider ( this . location Provider !! ) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġthis . map w ize Plugin ?. add On Long ClickListener Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġin door Location Ġ= ĠIn door Location (" manual _ provider ", Ġit . lat Lng Floor . latitude , Ġit . lat Lng Floor . longitude , Ġit . lat Lng Floor . floor , ĠSystem . currentTimeMillis ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġthis . location Provider ?. set In door Location ( indo or Location ) Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequest Location Permission () ĊĠĠĠĠĠĠĠ Ġmap w ize Plugin ?. add OnClickListener Ġ{ Ġlat Lng Floor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġin door Location Ġ= ĠIn door Location ( manual In door Location Provider ?. getName (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlat Lng Floor . lat Lng Floor . latitude , Ġlat Lng Floor . lat Lng Floor . longitude , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlat Lng Floor . lat Lng Floor . floor , ĠSystem . currentTimeMillis ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanual In door Location Provider ?. dispatch In door Location Change ( indo or Location ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Menu Button Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO ĠDo Ġsomething Ġwith Ġmenu Ġclick ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Information Button Click ( place : ĠPlace ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO ĠDo Ġsomething Ġwith Ġinformation Ġbutton ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUI Behaviour ĊĠĠĠĠ Ġ* ĠMap w ize Fragment Ġhave Ġa Ġdefault ĠUI Behaviour . ĠYou Ġdon 't Ġhave Ġto Ġimplement Ġit Ġif Ġyou Ġdo Ġnot Ġneed Ġa Ġcustom Ġbehaviour . ĊĠĠĠĠ Ġ* ĠThis Ġimplementation Ġis Ġhere Ġfor Ġdemo Ġpurpose . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġshould Display Information Button ( map w ize Object : ĠMap w ize Object ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( map w ize Object ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPlace Ġ-> Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshould Display Floor Controller ( flo ors : ĠMutable List < Double >? ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( flo ors Ġ== Ġnull Ġ|| Ġflo ors . size Ġ<= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Location Provider () Ġ{ ĊĠĠĠĠĠĠĠ Ġmanual In door Location Provider Ġ= ĠManual In door Location Provider () ĊĠĠĠĠĠĠĠ Ġnav is ens In door Location Provider Ġ= ĠN avis ens In door Location Provider ( application Context , Ġ" s ow Yj J 2 z 0 q Z TV HY Dd FK h P 3 Rp G IE 7 t Oj OY 3 h Lc Me H 3 1 Zm 4 8 nx J Nn np CL q gm MP f V eg ", Ġmanual In door Location Provider ) ĊĠĠĠĠĠĠĠ Ġmap w ize Plugin ?. setLocation Provider ( nav is ens In door Location Provider !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Request Permissions Result ( request Code : ĠInt , Ġpermissions : ĠArray < String >, Ġgrant Results : ĠInt Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( request Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠREQUEST _ LOCATION _ PERMISSION Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( grant Results . size Ġ> Ġ 0 Ġ&& Ġgrant Results [ 0 ] Ġ== ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Location Provider () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrequest Location Permission () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Context Compat . check Self Permission ( this , ĠManifest . permission . ACCESS _ F INE _ LOCATION ) Ġ!= ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Compat . request Permissions ( this , ĠarrayOf ( Manifest . permission . ACCESS _ F INE _ LOCATION ), ĠREQUEST _ LOCATION _ PERMISSION ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Location Provider () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ