package Ġandroid . links ake . lu is ange l ĊĊ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Toast Ċ import Ġcom . google . zx ing . integration . android . Intent Integr ator Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġkotlinx . android . synt hetic . main . activity _ im c .* Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject ĊĊĊ Ċ class Ġim c Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġvar Ġqr Scan Integr ator : ĠIntent Integr ator ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ im c ) ĊĊĠĠĠĠĠĠĠ Ġqr Scan Integr ator Ġ= ĠIntent Integr ator ( this ) ĊĠĠĠĠĠĠĠ Ġqr Scan Integr ator ?. set Orientation Locked ( false ) ĊĊĊĠĠĠĠĠĠĠ Ġbtn Scan QR !!. setOnClickListener ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperform Action () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" OK "," 1 ") ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġbtn Get IM C . setOnClickListener ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! check For Empty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc ular M asa Cor por al () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcalc ular M asa Cor por al () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġstatus Ġ= ĠR . string . IM C status ĊĠĠĠĠĠĠĠ Ġvar Ġpes o En Kg Ġ= Ġet Weight . text . toString (). toDouble () ĊĠĠĠĠĠĠĠ Ġvar Ġest atura En Met ros Ġ= Ġet Height . text . toString (). toDouble () ĊĊĠĠĠĠĠĠĠ Ġvar Ġim c Ġ= Ġpes o En Kg Ġ/ Ġ( est atura En Met ros Ġ* Ġest atura En Met ros ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġest atus Del Pac iente : ĠString ĊĊĠĠĠĠĠĠĠ Ġwhen ( im c ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin Ġ 1 9 . 0 .. 2 4 . 9 Ġ-> Ġest atus Del Pac iente Ġ= Ġ"\ n El Ġpac iente Ġse Ġenc uent ra Ġen Ġel Ġpes o Ġa dec u ado " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ Ġest atus Del Pac iente Ġ= Ġ"\ n El Ġpac iente ĠNO Ġse Ġenc uent ra Ġen Ġel Ġpes o Ġa dec u ado " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtv IM C status . text Ġ= Ġ"${ status }${ est atus Del Pac iente }" ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck For Empty (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( Ġet Height . text . isEmpty () Ġ|| Ġet Weight . text . isEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠR . string . all Required , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġperform Action () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d (" Ok ay "," 2 ") ĊĠĠĠĠĠĠĠ Ġqr Scan Integr ator ?. init iate Scan () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠIntent Integr ator . parse Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf ĠQR Code Ġhas Ġno Ġdata . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result . contents Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" JSON Ġvac ÃŃ o ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf ĠQR Code Ġcontains Ġdata . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCon verting Ġthe Ġdata Ġto Ġjson Ġformat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠJSONObject ( result . contents ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" JSON ", Ġobj . toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠShow Ġvalues Ġin ĠUI . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Name . setText ( obj . getString (" name ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet F name . setText ( obj . getString (" f Name ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet M name . setText ( obj . getString (" m Name ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Height . setText ( obj . getString (" height ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Weight . setText ( obj . getString (" weight ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . get (). load ( obj . getString (" picture ")). into ( iv Picture ); ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠData Ġnot Ġin Ġthe Ġexpected Ġformat . ĠSo , Ġwhole Ġobject Ġas Ġtoast Ġmessage . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġresult . contents , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĊ Ċ } Ċ