package Ġcom . example . gift card site Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . example . gift card site . api . model .* Ċ import Ġcom . example . gift card site . api . service . Card Interface Ċ Ċ import Ġde . hd od enh of . circle image view . Circle ImageView Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjava . lang . Integer . parseInt Ċ Ċ class ĠGet Card Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ get _ card ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( findViewById ( R . id . toolbar )) ĊĠĠĠĠĠĠĠ Ġvar Ġimage Ġ: ĠCircle ImageView Ġ= ĠfindViewById ( R . id . image _ view ) ĊĠĠĠĠĠĠĠ Ġval Ġproduct Ġ: ĠProduct ? Ġ= Ġintent . get Parcelable Extra (" Product ") ĊĠĠĠĠĠĠĠ ĠfindViewById < EditText >( R . id . amount ). hint Ġ= Ġproduct ?. recommended Price . toString () Ċ // K Z : ĠAdding Ġin Ġ" https " Ġto Ġreplace Ġ" http " ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ). as Bitmap (). load (" https :// app sec class . report /" Ġ+ Ġproduct ?. product Image Link ). into ( image ) ĊĠĠĠĠĠĠĠ Ġval Ġproduct Number Ġ: ĠInt ? Ġ= Ġproduct ?. productId ĊĠĠĠĠĠĠĠ Ġval Ġlogged In User Ġ: ĠUser ? Ġ= Ġintent . get Parcelable Extra (" User ") ĊĠĠĠĠĠĠĠ Ġvar Ġtoken Ġ: ĠString Ġ= Ġ" Token Ġ" Ġ+ Ġlogged In User ?. token . toString () ĊĠĠĠĠĠĠĠ ĠLog . d (" Token Ġcheck ", Ġtoken ) ĊĠĠĠĠĠĠĠ Ġval Ġouter Context Ġ= Ġthis ĊĊĠĠĠĠĠĠĠ ĠfindViewById < Button >( R . id . submit _ buy ). setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġamount Ġ: ĠInt Ġ= ĠparseInt ( findViewById < EditText >( R . id . amount ). text . toString ()) Ċ // K Z : ĠAdding Ġin Ġ" https " Ġto Ġreplace Ġ" http " ĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbuilder : ĠRet rofit . Builder Ġ= ĠRet rofit . Builder (). baseUrl (" https :// app sec class . report "). add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġretrofit : ĠRet rofit Ġ= Ġbuilder . build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġclient : ĠCard Interface Ġ= Ġretrofit . create ( Card Interface :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcard : ĠCard ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuy Card Info Ġ= ĠBu y Card Info ( amount ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Buy ĠCard ĠGo ing ", Ġ" Go ing Ġto Ġbuy Ġcard Ġnow . ĠAmount Ġ$ amount ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . buy Card ( product Number , Ġbuy Card Info , Ġtoken )?. enqueue ( object Ġ: ĠCallback < Card ?> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Card ? >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Buy ĠFailure ", Ġ" Buy ĠFailure Ġin Ġon Failure ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Buy ĠFailure ", Ġt . message . toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Card ? >, Ġresponse : ĠResponse < Card ?> ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! response . is Successful ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Buy ĠFailure ", Ġ" Buy Ġfailure . ĠY ay .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew _ card : ĠCard ? Ġ= Ġresponse . body () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Buy Ġfailure ?", Ġnew _ card . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Buy ĠSuccess ", Ġ" Card : Ġ" Ġ+ Ġnew _ card . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Buy ĠSuccess ", Ġ" Buy Ġsuccess . ĠB oo .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Buy ĠSuccess ", Ġ" Token :$ token ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( outer Context , ĠProduct Scrolling Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// intent . type Ġ= Ġ" text / gift cards " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" User ", Ġlogged In User ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġmenu ; Ġthis Ġadds Ġitems Ġto Ġthe Ġaction Ġbar Ġif Ġit Ġis Ġpresent . ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ main , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ }