package Ġcom . ak r wt . ar og ya . validation Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . net . Uri Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Media Store Ċ import Ġandroid . util . Base 6 4 Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . core . graphics . drawable . to Bitmap Ċ import Ġcom . ak r wt . ar og ya . activity . MainActivity Ċ import Ġcom . ak r wt . ar og ya . R Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġkotlinx . android . synt hetic . main . activity _ user _ info .* Ċ import Ġjava . io . ByteArray OutputStream Ċ Ċ class ĠUserInfo Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġpick Image Request Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġvar Ġcamera Request Ġ= Ġ 2 ĊĠĠĠ Ġprivate Ġvar Ġm Image Uri : ĠUri ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠSHARE D _ PRE FS Ġ= Ġ" shared Prefs " ĊĠĠĠ Ġprivate Ġvar ĠTEXT Ġ= Ġ" text " ĊĠĠĠ Ġprivate Ġvar ĠPH ONE Ġ= Ġ" phone " ĊĠĠĠ Ġprivate Ġvar ĠUSER _ IMAGE Ġ= Ġ" user Image " ĊĠĠĠ Ġprivate Ġvar Ġshared Preferences : ĠSharedPreferences ? Ġ= Ġnull ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ user _ info ) ĊĊĠĠĠĠĠĠĠ Ġchoose Image Btn . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi . type Ġ= Ġ" image /* " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi . action Ġ= ĠIntent . ACTION _ GET _ CONTENT ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( i , Ġpick Image Request ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠCamera Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcamera Intent Ġ= ĠIntent ( Media Store . ACTION _ IMAGE _ CAPTURE ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( camera Intent , Ġcamera Request ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsaving Details () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġsaving Details () Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġval ĠphoneNumber Ġ= ĠFirebase Auth . getInstance (). currentUser !!. phoneNumber ĊĠĠĠĠĠĠĠ Ġedit Text Number . setText ( phoneNumber ) ĊĠĠĠĠĠĠĠ Ġedit Text Number . key Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġedit Text Number . isEnabled Ġ= Ġfalse ĊĊĊĠĠĠĠĠĠĠ Ġbutton Go . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser ImageView . drawable Ġ== Ġnull Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , Ġ" No Ġfile Ġselected ", ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text FullName . text . toString (). trim (). isEmpty () Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text FullName . error Ġ= Ġ" This Ġfield Ġcannot Ġbe Ġempty .." ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences Ġ= Ġget SharedPreferences ( SHARED _ PRE FS , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġshared Preferences !!. edit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString ( TEXT , Ġedit Text FullName . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString ( PHONE , Ġedit Text Number . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimg Ġ= Ġbitmap ToString ( User ImageView . drawable . to Bitmap ( 2 0 0 , Ġ 2 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString ( USER _ IMAGE , Ġimg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . apply () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , Ġ" Details ĠSaved ", ĠToast . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK Ġor ĠIntent . FLAG _ ACTIVITY _ CLEAR _ TASK ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbitmap ToString ( bitmap : ĠBitmap ): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġba os Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠ Ġbitmap . compress ( Bitmap . Compress Format . JPEG , Ġ 1 0 0 , Ġba os ) ĊĠĠĠĠĠĠĠ Ġval Ġarr Ġ= Ġba os . toByteArray () ĊĠĠĠĠĠĠĠ Ġreturn ĠBase 6 4 . encode ToString ( arr , ĠBase 6 4 . DEFAULT ) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== Ġpick Image Request Ġ&& ĠresultCode Ġ== ĠActivity . RESULT _ OK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġdata Ġ!= Ġnull Ġ&& Ġdata . data Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Image Uri Ġ= Ġdata . data !! ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( m Image Uri ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( User ImageView ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== Ġcamera Request Ġ&& ĠresultCode Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġphoto Ġ= Ġdata !!. extras !!. get (" data ") Ġas ĠBitmap ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUser ImageView . setImage Bitmap ( photo ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ