package Ġe ina . un izar . uno z ar Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġkotlinx . android . synt hetic . main . activity _ profile .* Ċ import Ġkotlinx . android . synt hetic . main . custom _ alert dialog . view .* Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ import Ġserver . request . Id Request Ċ import Ġserver . request . Token Request Ċ import Ġserver . request . Update Request Ċ import Ġserver . response . Player Info Ċ import Ġserver . response . Token Response Ċ Ċ class ĠProfile Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġnormal Code Ġ= Ġ 7 3 ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsession : ĠString ĊĠĠĠ Ġprivate Ġvar Ġav atars Ġ= Ġarray ListOf ( ĊĠĠĠĠĠĠĠ ĠR . drawable . test _ user , ĊĠĠĠĠĠĠĠ ĠR . drawable . robot ia , ĊĠĠĠĠĠĠĠ ĠR . drawable . avatar 2 , ĊĠĠĠĠĠĠĠ ĠR . drawable . avatar 3 , ĊĠĠĠĠĠĠĠ ĠR . drawable . avatar 4 ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ profile ) ĊĠĠĠĠĠĠĠ Ġsession Ġ= Ġintent . getString Extra (" session "). toString () ĊĠĠĠĠĠĠĠ Ġmy _ alias . text Ġ= Ġintent . getString Extra (" alias ") ĊĠĠĠĠĠĠĠ Ġmy _ id . text Ġ= ĠgetString ( R . string . my _ id , Ġintent . getString Extra (" id ")) ĊĠĠĠĠĠĠĠ Ġmy _ email . text Ġ= Ġintent . getString Extra (" email ") ĊĠĠĠĠĠĠĠ Ġtotal _ play ed . text Ġ= Ġintent . getString Extra (" total _ matches ") ĊĠĠĠĠĠĠĠ Ġtotal _ wins . text Ġ= Ġintent . getString Extra (" total _ wins ") ĊĠĠĠĠĠĠĠ Ġprivate _ play ed . text Ġ= Ġintent . getString Extra (" friend _ matches ") ĊĠĠĠĠĠĠĠ Ġprivate _ wins . text Ġ= Ġintent . getString Extra (" friend _ wins ") ĊĠĠĠĠĠĠĠ Ġmy _ avatar . setImage Resource ( avatars [ intent . getInt Extra (" avatar ", Ġ 0 )]) ĊĠĠĠĠĠĠĠ Ġedit _ alias . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcustom Layout : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . custom _ alert dialog , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode . setView ( custom Layout ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode . setTitle ( getString ( R . string . new _ alias )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode . set Positive Button ( getString ( R . string . change )) Ġ{ Ġ_: ĠDialog Interface , Ġ_: ĠInt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit Client . instance . update Player ( Update Request ( 1 0 , Ġnull , Ġcustom Layout . input Code . text . toString (). trim (), Ġnull , Ġsession , Ġ 1 0 , Ġ 1 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠCallback < Token Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Token Response >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , ĠgetString ( R . string . no _ response ), ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġoverride Ġfun Ġon Response ( call : ĠCall < Token Response >, Ġresponse : ĠResponse < Token Response >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . code () Ġ== Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession Ġ= Ġresponse . body () !!. token ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , ĠgetString ( R . string . alias _ change _ success ), ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy _ alias . text Ġ= Ġcustom Layout . input Code . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , ĠgetString ( R . string . bad _ update _ response ) Ġ+ Ġresponse . code (), ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode . set Negative Button ( getString ( R . string . cancel )) Ġ{ _, Ġ_ Ġ-> } ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Info () Ġ{ ĊĠĠĠĠĠĠĠ ĠRet rofit Client . instance . read Player ( Id Request ( session . substring ( 0 , Ġ 3 2 ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠCallback < Player Info > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Player Info >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , ĠgetString ( R . string . no _ response ), ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġoverride Ġfun Ġon Response ( call : ĠCall < Player Info >, Ġresponse : ĠResponse < Player Info >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . code () Ġ== Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy _ alias . text Ġ= Ġresponse . body ()?. alias ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy _ id . text Ġ= ĠgetString ( R . string . my _ id , Ġresponse . body ()?. id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy _ email . text Ġ= Ġresponse . body ()?. email ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal _ play ed . text Ġ= Ġresponse . body () !!. public Total . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal _ wins . text Ġ= Ġresponse . body () !!. public W ins . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate _ play ed . text Ġ= Ġresponse . body ()?. private Total . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate _ wins . text Ġ= Ġresponse . body ()?. private W ins . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy _ avatar . setImage Resource ( avatars [ response . body () !!. avatar Id ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġfun Ġgo To Change Email (@ Suppress (" UNUSED _ PARAMETER ") Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠEmail Change :: class . java ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" session ", Ġsession ) ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , Ġnormal Code ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgo To Change Password (@ Suppress (" UNUSED _ PARAMETER ") Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠPassword Change :: class . java ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" session ", Ġsession ) ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , Ġnormal Code ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgo To Change Avatar (@ Suppress (" UNUSED _ PARAMETER ") Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠChange Avatar :: class . java ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" session ", Ġsession ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" owned ", Ġintent . getInt Extra (" avatar ", Ġ 0 )) ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , Ġnormal Code ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Account (@ Suppress (" UNUSED _ PARAMETER ") Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcheck Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġcheck . setTitle ( getString ( R . string . alert )) ĊĠĠĠĠĠĠĠ Ġcheck . setMessage ( getString ( R . string . delete _ account _ alert _ message )) ĊĠĠĠĠĠĠĠ Ġcheck . set Positive Button ( getString ( R . string . alert _ poss itive _ button )) Ġ{ Ġ_: ĠDialog Interface , Ġ_: ĠInt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit Client . instance . delete Account ( Token Request ( session )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠCallback < Void > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Void >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , ĠgetString ( R . string . no _ response ), ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġoverride Ġfun Ġon Response ( call : ĠCall < Void >, Ġresponse : ĠResponse < Void >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . code () Ġ== Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra (" session ", Ġsession ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra (" delete ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ OK , Ġintent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , ĠgetString ( R . string . bad _ delete _ response ), ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcheck . set Negative Button ( getString ( R . string . alert _ negative _ button )) Ġ{ Ġ_: ĠDialog Interface , Ġ_: ĠInt Ġ-> Ġ} ĊĠĠĠĠĠĠĠ Ġcheck . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent (). apply Ġ{ Ġput Extra (" session ", Ġsession ) Ġ} ĊĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ OK , Ġintent ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK Ġ&& Ġrequest Code Ġ== Ġnormal Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsession Ġ= Ġdata !!. getString Extra (" session "). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Info () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent (). apply Ġ{ Ġput Extra (" session ", Ġsession ) Ġ} ĊĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ OK , Ġintent ) ĊĠĠĠ Ġ} Ċ } Ċ