package Ġcom . cool weather . cool weather jet pack . ui . fragment Ċ Ċ import Ġandroid . content . Content Resolver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Contacts Contract Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . cool weather . cool weather jet pack . R Ċ import Ġcom . cool weather . cool weather jet pack . util . Log Utils Ċ import Ġkotlinx . android . synt hetic . main . fragment _ contact .* ĊĊ Ċ // ĠTODO : ĠRename Ġparameter Ġarguments , Ġchoose Ġnames Ġthat Ġmatch Ċ // Ġthe Ġfragment Ġinitialization Ġparameters , Ġe . g . ĠARG _ ITEM _ NUMBER Ċ private Ġconst Ġval ĠARG _ PARAM 1 Ġ= Ġ" param 1 " Ċ private Ġconst Ġval ĠARG _ PARAM 2 Ġ= Ġ" param 2 " Ċ Ċ /** Ċ Ġ* ĠA Ġsimple Ġ[ Fragment ] Ġsubclass . Ċ Ġ* ĠUse Ġthe Ġ[ Contact Fragment . newInstance ] Ġfactory Ġmethod Ġto Ċ Ġ* Ġcreate Ġan Ġinstance Ġof Ġthis Ġfragment . Ċ Ġ*/ Ċ class ĠContact Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġ// ĠTODO : ĠRename Ġand Ġchange Ġtypes Ġof Ġparameters ĊĠĠĠ Ġprivate Ġvar Ġparam 1 : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġparam 2 : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġactivity : Context ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġactivity Ġ= Ġcontext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam 1 Ġ= Ġit . getString ( ARG _ PARAM 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam 2 Ġ= Ġit . getString ( ARG _ PARAM 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ contact , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbutton 1 0 . setOnClickListener Ġ{ Ġget Contact () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Contact () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠ Ġintent . action Ġ= Ġ" android . intent . action . P ICK " ĊĠĠĠĠĠĠĠ Ġintent . add Category (" android . intent . category . DEFAULT ") ĊĠĠĠĠĠĠĠ Ġintent . type Ġ= Ġ" vnd . android . cursor . dir / phone _ v 2 " ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠREQUEST _ CODE ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġdata !!. data ĊĠĠĠĠĠĠĠ Ġval Ġcontact Ġ= ĠarrayOf Null s < String >( 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġcr : ĠContent Resolver Ġ= Ġactivity . content Resolver ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġcr . query ( uri !! , Ġnull , Ġnull , Ġnull , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( cursor Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cursor . moveTo Next ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontact [ 1 ] Ġ= Ġcursor . getString ( cursor . getColumnIndex (" data 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontact [ 0 ] Ġ= Ġcursor . getString ( cursor . getColumnIndex ( Contacts Contract . Contacts . DISPLAY _ NAME )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠLog Utils . i ( contact [ 0 ]+ contact [ 1 ]) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠREQUEST _ CODE Ġ= Ġ 1 0 0 0 ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( param 1 : ĠString , Ġparam 2 : ĠString ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContact Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( ARG _ PARAM 1 , Ġparam 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( ARG _ PARAM 2 , Ġparam 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ