// ĠCopyright Ġ( c ) Ġ 2 0 2 0 - 2 0 2 2 Ġg in lo . net ĠGmbH Ċ package Ġeu . gin lo _ apps . gin lo . activity . profile Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Port er D uff Ċ import Ġandroid . graphics . Port er D uff Color Filter Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Compound Button Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġdagger . android . Android Injection Ċ import Ġeu . gin lo _ apps . gin lo . Abs ence Activity Ċ import Ġeu . gin lo _ apps . gin lo . Enter Email Activation Code Activity Ċ import Ġeu . gin lo _ apps . gin lo . R Ċ import Ġeu . gin lo _ apps . gin lo . Register Email Activity Ċ import Ġeu . gin lo _ apps . gin lo . activity . register . Purchase License Activity Ċ import Ġeu . gin lo _ apps . gin lo . activity . r ere gister . Change Phone Activity Ċ import Ġeu . gin lo _ apps . gin lo . activity . r ere gister . Confirm Phone Activity Ċ import Ġeu . gin lo _ apps . gin lo . controller . Account Controller Ċ import Ġeu . gin lo _ apps . gin lo . d agger . factory . ViewModel Factory Ċ import Ġeu . gin lo _ apps . gin lo . exception . Localized Exception Ċ import Ġeu . gin lo _ apps . gin lo . fragment . emo j ip icker . Emoji Picker Fragment Ċ import Ġeu . gin lo _ apps . gin lo . gre end ao . Contact Ċ import Ġeu . gin lo _ apps . gin lo . log . Log Util Ċ import Ġeu . gin lo _ apps . gin lo . util . Bitmap Util Ċ import Ġeu . gin lo _ apps . gin lo . util . Color Util Ċ import Ġeu . gin lo _ apps . gin lo . util . Date Util Ċ import Ġeu . gin lo _ apps . gin lo . util . Dialog Builder Util Ċ import Ġeu . gin lo _ apps . gin lo . util . Fragment Util Ċ import Ġeu . gin lo _ apps . gin lo . util . Keyboard Util Ċ import Ġeu . gin lo _ apps . gin lo . util . Listener . Generic ActionListener Ċ import Ġeu . gin lo _ apps . gin lo . view . Clickable E moj icon EditText view Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . main _ layout Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ button _ extend _ licence Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ button _ trial _ usage Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ email Address State Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ email _ address _ edit text Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ phoneNumber State Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ scroll _ view _ container Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ status _ view Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ text _ view _ depart en ent Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ text _ view _ first _ name Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ text _ view _ last _ name Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ top _ warning Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ top _ warning _ text Ċ import Ġkotlinx . android . synt hetic . b 2 b . activity _ profile . profile _ trial _ container Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util . Date Ċ import Ġjava . util . Locale Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠProfile Activity Ġ: ĠProfile Activity Base () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġhas License : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġprivate Ġvar Ġtrial Usage Date : ĠDate ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġm Email ClickListener Ġ= ĠClick able E moj icon EditText view . Drawable ClickListener Ġ{ Ġtarget Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( target Ġ== ĠClick able E moj icon EditText view . Drawable ClickListener . Drawable Position . RIGHT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( account Controller . waiting For Email Confirmation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this @ Profile Activity , ĠEnter Email Activation Code Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this @ Profile Activity , ĠRegister Email Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRegister Email Activity . EXTRA _ PRE FIL LED _ FIRST _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ first _ name . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRegister Email Activity . EXTRA _ PRE FIL LED _ LAST _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ last _ name . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġinternal Ġlateinit Ġvar ĠviewModel Factory : ĠViewModel Factory ĊĊĠĠĠ Ġoverride Ġlateinit Ġvar ĠviewModel : ĠProfile ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠAndroid Injection . inject ( this ) ĊĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers . of ( this , ĠviewModel Factory ). get ( Profile ViewModel :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġon Emoji Check ChangeListener : ĠCompound Button . On Checked ChangeListener ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠCompound Button . On Checked ChangeListener Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( add Emoji Nick name Button . isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! emoji Fragment Visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrunnable Ġ= ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemoji Fragment Ġ= ĠEmoji Picker Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Util . toggle Fragment ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager , Ġemoji Fragment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . profile _ frame _ layout _ emoji _ container , Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemoji Fragment Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre scale View () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( run nable , ĠAN IM ATION _ DURATION . to Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġedit Text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( add Emoji Nick name Button . isChecked ) Ġnick Name EditText Ġelse Ġstatus EditText ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKeyboard Util . toggle Soft Input Keyboard ( this @ Profile Activity , Ġedit Text , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text . request Focus () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text . setSelection ( edit Text . length ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Util . toggle Fragment ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager , Ġemoji Fragment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . profile _ frame _ layout _ emoji _ container , Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose E moj is () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfill Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . fill Views () ĊĊĠĠĠĠĠĠĠ Ġval Ġown Contact Ġ= Ġsim s Me Application . contact Controller . own Contact Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġprofile _ text _ view _ last _ name . setText ( own Contact . lastName . or Empty ()) ĊĠĠĠĠĠĠĠ Ġprofile _ text _ view _ first _ name . setText ( own Contact . firstName . or Empty ()) ĊĠĠĠĠĠĠĠ Ġprofile _ text _ view _ depart en ent . setText ( own Contact . department . or Empty ()) ĊĠĠĠĠĠĠĠ Ġnick Name Text Ġ= Ġown Contact . nickname . or Empty () ĊĠĠĠĠĠĠĠ ĠsetStatus Text () ĊĠĠĠĠĠĠĠ Ġprofile TextView PhoneNumber . setText ( own Contact . phoneNumber . or Empty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume Activity () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ scroll _ view _ container . clear Focus () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġown Contact Ġ= Ġsim s Me Application . contact Controller . own Contact Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . own Contact Ġ= Ġown Contact ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠphoneNumber Ġ= Ġown Contact . phoneNumber ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( phoneNumber . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// profile _ phoneNumber State . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Account Controller . PENDING _ PHONE _ STATUS _ WAIT _ CONFIRM Ġ== Ġaccount Controller . pending Phone Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . setTextColor ( Color Util . getInstance (). get Low Color ( sim s Me Application )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . text Ġ= ĠgetString ( R . string . profile _ info _ email _ address _ waiting _ for _ confirm ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ top _ warning . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ top _ warning _ text . text Ġ= Ġresources . getText ( R . string . profile _ phone _ waiting _ for _ confirmation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile TextView PhoneNumber . setText ( account Controller . pending PhoneNumber ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ top _ warning . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile TextView PhoneNumber . setText ( own Contact . phoneNumber ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap Util . getConfig ured State Drawable ( sim s Me Application , Ġown Contact . is Absent , Ġfalse )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ status _ view . background Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Email Attributes ( own Contact ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetId entities Attributes ( own Contact ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrial Usage Date Ġ= Ġaccount Controller . trial Usage ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Util Ġ= ĠColor Util . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccent Color Ġ= Ġcolor Util . getApp Accent Color ( sim s Me Application ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas License Ġ= Ġaccount . has Lic ence ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! has License Ġ&& Ġtrial Usage Date Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs dt F Ġ= ĠSimpleDateFormat (" dd . MM . yyyy ", ĠLocale . GER MAN Y ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ button _ trial _ usage . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( resources . getString ( R . string . profile _ label _ valid _ until ), Ġs dt F . format ( trial Usage Date )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ button _ extend _ licence . background . color Filter Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPort er D uff Color Filter ( accent Color , ĠPort er D uff . Mode . SRC _ AT OP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ button _ extend _ licence . setTextColor ( accent Color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ button _ extend _ licence . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ trial _ container . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ button _ extend _ licence . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ trial _ container . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( account Controller . is Device Managed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain Contrast 8 0 Color Ġ= Ġcolor Util . get Main Contrast 8 0 Color ( sim s Me Application ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Drawable ( R . drawable . ic _ lock _ black _ 2 4 dp )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor Util . setColor Filter ( this , Ġmain Contrast 8 0 Color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ first _ name . set Compound Draw ables With Intr insic Bounds ( null , Ġnull , Ġit , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ last _ name . set Compound Draw ables With Intr insic Bounds ( null , Ġnull , Ġit , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ depart en ent . set Compound Draw ables With Intr insic Bounds ( null , Ġnull , Ġit , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile TextView PhoneNumber . set Compound Draw ables With Intr insic Bounds ( null , Ġnull , Ġit , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email _ address _ edit text . set Compound Draw ables With Intr insic Bounds ( null , Ġnull , Ġit , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetStatus Text () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠLocal ized Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Util . w ( this . java Class . name , Ġe . message , Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetId entities Attributes ( own Contact : ĠContact ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġemail Address Ġ= Ġown Contact . email ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Waiting For Email Confirmation Ġ= Ġaccount Controller . waiting For Email Confirmation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Waiting For Email Confirmation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Address Ġ= Ġaccount Controller . pending EmailAddress ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( email Address . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email Address State . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email _ address _ edit text . setText ("") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Waiting For Email Confirmation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Address Ġ= Ġaccount Controller . pending EmailAddress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email Address State . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email Address State . setTextColor ( Color Util . getInstance (). get Low Color ( sim s Me Application )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email Address State . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . profile _ info _ email _ address _ waiting _ for _ confirm ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ top _ warning . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ top _ warning _ text . text Ġ= Ġresources . getText ( R . string . profile _ email _ waiting _ for _ confirmation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email Address State . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email Address State . setTextColor ( Color Util . getInstance (). get High Color ( sim s Me Application )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email Address State . text Ġ= Ġresources . getString ( R . string . profile _ info _ email _ address _ confirmed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email _ address _ edit text . setText ( email Address ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Waiting For Phone Confirmation Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Controller . PENDING _ PHONE _ STATUS _ WAIT _ CONFIRM Ġ== Ġaccount Controller . pending Phone Status ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġphone Ġ= Ġsim s Me Application . contact Controller . own Contact !!. phoneNumber ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( phone . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// profile _ phoneNumber State . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile TextView PhoneNumber . setText ("") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Waiting For Phone Confirmation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . setTextColor ( Color Util . getInstance (). get High Color ( sim s Me Application )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . text Ġ= Ġresources . getString ( R . string . profile _ info _ email _ address _ confirmed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . setTextColor ( Color Util . getInstance (). get Low Color ( sim s Me Application )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ phoneNumber State . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . profile _ info _ email _ address _ waiting _ for _ confirm ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphone Ġ= Ġaccount Controller . pending PhoneNumber ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile TextView PhoneNumber . setText ( phone ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Waiting For Email Confirmation Ġ&& Ġ! is Waiting For Phone Confirmation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ top _ warning _ text . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠLocal ized Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Util . e ( this . java Class . name , Ġe . message , Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrefresh Email Attributes ( own Contact : ĠContact ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprofile _ text _ view _ last _ name . setText ( own Contact . lastName . or Empty ()) ĊĠĠĠĠĠĠĠ Ġprofile _ text _ view _ first _ name . setText ( own Contact . firstName . or Empty ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġcallback Ġ= Ġobject Ġ: ĠGeneric ActionListener < Void > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( unused : ĠVoid ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler ( this @ Profile Activity . main Looper ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrunnable Ġ= ĠRunnable Ġ{ ĠsetId entities Attributes ( own Contact ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post ( run nable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Fail ( message : ĠString ?, Ġerror Ident : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġaccount Controller . load Confirmed Id entities Config ( callback , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Verify Email Clicked (@ Suppress (" UNUSED _ PARAMETER ") Ġunused : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( account Controller . waiting For Email Confirmation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠEnter Email Activation Code Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Extend Lic ence Button Clicked (@ Suppress (" UNUSED _ PARAMETER ") Ġunused : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠIntent ( this , ĠPurchase License Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Purchase License Activity . EXTRA _ D ONT _ FORWARD _ TO _ OVER VIEW , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( emoji Fragment Visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Emoji Nick name Button . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhandle Choose Picture Click (@ Suppress (" UNUSED _ PARAMETER ") Ġunused : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! can Pick Avatar ()) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġopen Bottom Sheet ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . dialog _ choose _ picture _ layout , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . profile _ activity _ fragment _ container ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġadd Emoji Nick name Button . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( nick Name EditText . has Focus ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKeyboard Util . toggle Soft Input Keyboard ( this , Ġnick Name EditText , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( status EditText . has Focus ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKeyboard Util . toggle Soft Input Keyboard ( this , Ġstatus EditText , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Emoji Button Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Emoji Nick name Button . setOn Checked ChangeListener ( on Emoji Check ChangeListener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġre scale View () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler () ĊĠĠĠĠĠĠĠ Ġval Ġrunnable Ġ= ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġmain _ layout . meas ured Height Ġ- Ġemoji Container . meas ured Height ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( add Emoji Nick name Button . isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( profile _ scroll _ view _ container . scroll Y Ġ+ Ġheight Ġ< Ġnickname Container . bottom Ġ|| Ġprofile _ scroll _ view _ container . scroll Y Ġ> Ġnickname Container . bottom ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ scroll _ view _ container . scrollTo ( 0 , Ġnickname Container . bottom Ġ- Ġheight ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġhandler . post Delayed ( run nable , Ġ 5 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġnick Name Text ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name . trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ}. isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Builder Util . build Error Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . registration _ validation _ profile Name IsNot Valid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Bottom Sheet Open ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose Bottom Sheet ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠlastName : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠfirstName : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdepartment : ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! account Controller . is Device Managed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlastName Ġ= Ġprofile _ text _ view _ last _ name . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfirstName Ġ= Ġprofile _ text _ view _ first _ name . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepartment Ġ= Ġprofile _ text _ view _ depart en ent . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Idle Dialog (- 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsim s Me Application . account Controller . update Account Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Bytes , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlastName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfirstName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepartment , Ġnull , Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvalidate Options Menu () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisable Elements () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠLocal ized Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Util . w ( java Class . simple Name , Ġ" save Ġdata Ġfailed ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġenable Elements () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . enable Elements () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! account Controller . is Device Managed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ first _ name . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ last _ name . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ depart en ent . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email _ address _ edit text . set Compound Draw ables With Intr insic Bounds ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ keyboard _ arrow _ right _ black _ 2 4 dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email _ address _ edit text . set Drawable ClickListener ( m Email ClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! has License Ġ&& Ġtrial Usage Date Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ button _ extend _ licence . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ trial _ container . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠLocal ized Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Util . e ( this . java Class . name , Ġe . message , Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Edit Status Text Click () Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠAbs ence Activity :: class . java )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisable Elements () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . disable Elements () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! account Controller . is Device Managed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ first _ name . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ last _ name . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ text _ view _ depart en ent . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ email _ address _ edit text . set Compound Draw ables With Intr insic Bounds ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! has License Ġ&& Ġtrial Usage Date Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ button _ extend _ licence . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile _ trial _ container . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠLocal ized Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Util . e ( this . java Class . name , Ġe . message , Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Top Warning Clicked (@ Suppress (" UNUSED _ PARAMETER ") Ġunused : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( account Controller . pending Phone Status Ġ== ĠAccount Controller . PENDING _ PHONE _ STATUS _ WAIT _ CONFIRM ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Confirm Phone Activity () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( account Controller . waiting For Email Confirmation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠEnter Email Activation Code Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠLocal ized Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Util . w ( this . java Class . name , Ġe . message , Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Verify Phone Clicked (@ Suppress (" UNUSED _ PARAMETER ") Ġv : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Account Controller . PENDING _ PHONE _ STATUS _ WAIT _ CONFIRM Ġ== Ġaccount Controller . pending Phone Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Confirm Phone Activity () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠLocal ized Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Util . w ( this . java Class . name , Ġe . message , Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Confirm Phone Activity () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠConfirm Phone Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpending PhoneNumber Ġ= Ġaccount Controller . pending PhoneNumber ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwait Confirm Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Controller . PENDING _ PHONE _ STATUS _ WAIT _ CONFIRM Ġ== Ġaccount Controller . pending Phone Status ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! pending PhoneNumber . isNull Or Blank () Ġ&& Ġwait Confirm ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Change Phone Activity . PRE FIL LED _ PH ON ENUM BER , Ġpending PhoneNumber ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠLocal ized Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Util . w ( this . java Class . name , Ġe . message , Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetStatus Text () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġown Contact Ġ= Ġsim s Me Application . contact Controller . own Contact ĊĠĠĠĠĠĠĠ Ġval Ġis Absent Ġ= Ġown Contact !!. is Absent ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Absent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġabsent Time Ġ= ĠDate Util . utc Without Millis StringTo Millis ( own Contact . abs ence Time Utc String ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( abs ent Time Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus EditText . setText ( resources . getString ( R . string . pe fer ences _ abs ence _ abs ent )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus EditText . setText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . pe fer ences _ abs ence _ abs ent _ till ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Util . getDate And Time String From Millis ( abs ent Time ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus EditText . setText ( resources . getString ( R . string . pe fer ences _ abs ence _ present )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ