package Ġcom . mo lo 1 7 . dam ian og i ust i . kotlin native p oc Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Activity Compat Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġcom . mo lo 1 7 . dam ian og i ust i . Bluetooth Adapter Ċ import Ġcom . mo lo 1 7 . dam ian og i ust i . ui . Devices List Presenter Ċ import Ġcom . mo lo 1 7 . dam ian og i ust i . ui . Devices ListView Ċ import Ġcom . mo lo 1 7 . dam ian og i ust i . ui . Ui Device Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠDevices ListView Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġpresenter Ġby Ġlazy Ġ{ ĠDevices List Presenter ( Bluetooth Adapter ( application Context )) Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠtextView Ġby Ġlazy Ġ{ ĠfindViewById < TextView >( R . id . textView ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( has Location Permission ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Permissions ( array Of ( Manifest . permission . ACCESS _ CO AR SE _ LOCATION ), Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Request Permissions Result ( request Code : ĠInt , Ġpermissions : ĠArray < out ĠString >, Ġgrant Results : ĠInt Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Request Permissions Result ( request Code , Ġpermissions , Ġgrant Results ) ĊĠĠĠĠĠĠĠ Ġif Ġ( has Location Permission ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠ Ġpresenter . detach View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . attach View ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Devices ( devices : ĠList < Ui Device >) Ġ{ ĊĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġdevices . join ToString ("\ n \ n ") Ġ{ Ġit . display able Content Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Message ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġmessage , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhas Location Permission () Ġ= ĊĠĠĠĠĠĠĠ ĠActivity Compat . check Self Permission ( this , ĠManifest . permission . ACCESS _ CO AR SE _ LOCATION ) Ġ== ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPackage Manager . PERMISSION _ GRAN TED Ċ Ċ } Ċ