package Ġcom . electron ic arm ory . web services Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġcurrent Price : ĠString ĊĠĠĠ Ġlateinit Ġvar Ġrefresh Button : ĠButton ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Theme ( R . style . Theme Overlay _ AppCompat _ Dark ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbitcoin TextView Ġ= ĠfindViewById < TextView >( R . id . bitcoin TextView ) ĊĊĠĠĠĠĠĠĠ Ġbitcoin TextView . text Ġ= Ġ"$ 3 6 , 0 0 0 . 0 0 " ĊĊĠĠĠĠĠĠĠ Ġval Ġservice Downloader Ġ= ĠBitcoin Price Service () ĊĊĠĠĠĠĠĠĠ Ġval Ġcallback Ġ= Ġobject Ġ: ĠCallback < B pi Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < B pi Response > ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" MainActivity ", Ġ" Problems ", Ġt ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < B pi Response > ?, Ġresponse : ĠResponse < B pi Response > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse ?. is Successful . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Response ", Ġresponse . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Response ", Ġresponse ?. body (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresp Ġ= Ġresponse ?. body ()?. b pi ?. USD ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ MainActivity . current Price Ġ= Ġresp ?. rate Ġ?: Ġ" Unknown " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresp ?. symbol ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . length ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbitcoin TextView . text Ġ= Ġ"$ %. 2 f ". format ( resp ?. rate Float ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġservice Downloader . get Bitcoin Price ( callback ) ĊĊĠĠĠĠĠĠĠ Ġrefresh Button Ġ= ĠfindViewById ( R . id . refresh Button ) ĊĠĠĠĠĠĠĠ Ġrefresh Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice Downloader . get Bitcoin Price ( callback ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġre usable ClickListener Ġ= Ġ{ Ġview : ĠView Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice Downloader . get Bitcoin Price ( callback ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" B SU ", Ġview . toString ()) ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠ Ġrefresh Button . setOnClickListener ( reusable ClickListener ) ĊĊĠĠĠ Ġ} Ċ }