package Ġcom . w py . w py _ ire nt Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . os . Build Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . storage . Storage Manager Ċ import Ġandroid . tele phony . Tele phony Manager Ċ import Ġandroid . util . Log Ċ import Ġandroidx . core . app . Activity Compat Ċ import Ġcom . w py . w py _ ire nt . Api . ApiService Ċ import Ġcom . w py . w py _ ire nt . Auth . Shared Pref Ċ import Ġcom . w py . w py _ ire nt . Model . User . User Response Ċ import Ġkotlinx . android . synt hetic . main . activity _ h istor i .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ profil .* Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ Ċ class ĠPro fil Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠuserId : ĠInt ? Ġ= ĠShared Pref . getInstance ( this ). user . id _ user ĊĠĠĠ Ġvar Ġtele phony Manager : ĠTele phony Manager ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġsm : Storage Manager ?= null ĊĠĠĠ Ġprivate Ġval ĠREQUEST _ CODE Ġ= Ġ 1 0 1 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ profil ) ĊĊĠĠĠĠĠĠĠ ĠgetUser () ĊĠĠĠĠĠĠĠ Ġdevice Info () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdevice Info () Ġ{ ĊĠĠĠĠĠĠĠ Ġtele phony Manager Ġ= Ġthis . getSystem Service ( Context . TELE PHONY _ SERVICE ) Ġas ĠTele phony Manager ĊĠĠĠĠĠĠĠ Ġsm Ġ= Ġthis . getSystem Service ( Context . STORAGE _ SERVICE ) Ġas ĠStorage Manager ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" DEPRECATED _ IDENTITY _ EQUAL S ") ĊĠĠĠĠĠĠĠ Ġif Ġ( Activity Compat . check Self Permission ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Pro fil Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . READ _ PHONE _ STATE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ!== ĠPackage Manager . PERMISSION _ GRAN TED ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Compat . request Permissions ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Pro fil Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . READ _ PHONE _ STATE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . WRITE _ EXTERNAL _ STORAGE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠREQUEST _ CODE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġman u fc Ġ= Ġ( Build . MAN U FACT UR ER ) ĊĠĠĠĠĠĠĠ Ġval Ġmodel Ġ= Ġ( Build . MODEL ) ĊĠĠĠĠĠĠĠ Ġval Ġos Ġ= Ġ( Build . VERSION . RELEASE ) ĊĠĠĠĠĠĠĠ Ġval Ġids Ġ=( Build . ID ) ĊĊĠĠĠĠĠĠĠ Ġtv Os P on . setText ( os ) ĊĠĠĠĠĠĠĠ Ġtv Mer k P on . setText ( man u fc ) ĊĠĠĠĠĠĠĠ Ġtv J enis P on . setText ( model ) ĊĠĠĠĠĠĠĠ Ġtv Ids P on . setText ( ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetUser () Ġ{ ĊĠĠĠĠĠĠĠ ĠApi Service . login Api Call (). getUser ( userId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠCallback < User Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall : ĠCall < User Response >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse : ĠResponse < User Response > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . body () !!. status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtxt id . text Ġ= Ġresponse . body () !!. user . id _ user . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Nama L eng . text Ġ= Ġresponse . body () !!. user . nama ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv User N . text Ġ= Ġresponse . body () !!. user . username ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Al amat P . text Ġ= Ġresponse . body () !!. user . alamat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// tv hi Id User . text Ġ= ĠuserId . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Response :::: ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShared Pref . getInstance ( application Context ). is LoggedIn . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShared Pref . getInstance ( application Context ). save User ( response . body () !!. user ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < User Response >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" NULL ABILITY _ MIS MATCH _ BASE D _ ON _ JAVA _ AN NOT ATIONS ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" error :::: ", Ġt . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }