package Ġcom . ebf . instant . data . network . auth Ċ Ċ import Ġandroid . net . Uri Ċ import Ġcom . ebf . instant . ui . signin . Ok Ċ import Ġcom . google . firebase . auth . Firebase User Ċ import Ġcom . google . firebase . auth . UserInfo Ċ Ċ /** Ċ Ġ* ĠInterface Ġto Ġde co uple Ġthe Ġuser Ġinfo Ġfrom ĠFirebase . Ċ Ġ* Ċ Ġ* Ġ@ see Ġ[ Firebase Registered UserInfo ] Ċ Ġ*/ Ċ interface ĠAuth enticated UserInfo Ġ: ĠAuth enticated UserInfo Basic , ĠAuth enticated UserInfo Registered Ġ{ ĊĊĠĠĠ Ġfun ĠgetState (): ĠOk Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ ĠisValid () Ġ-> ĠOk . LOG GED _ VALID ĊĠĠĠĠĠĠĠ Ġis Signed In () Ġ-> ĠOk . LOG GED _ NOT _ VALID ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠOk . NOT _ CONNECTED ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ interface ĠAuth enticated UserInfo Basic 2 Ġ{ ĊĠĠĠ Ġval Ġuid : ĠString ? ĊĠĠĠ Ġval Ġemail : ĠString ? ĊĠĠĠ Ġval Ġis Signed In : ĠBoolean Ċ } Ċ Ċ interface ĠAuth enticated UserInfo Registered 2 Ġ{ ĊĠĠĠ Ġval Ġuid : ĠString ĊĠĠĠ Ġval Ġname : ĠString ĊĠĠĠ Ġval Ġusername : ĠString ĊĠĠĠ Ġval Ġphoto Url : ĠString Ċ } Ċ Ċ class ĠFirebase UserInfo 2 ( ĊĠĠĠ Ġfirebase User : ĠFirebase User ? Ċ ) Ġ: ĠAuth enticated UserInfo Basic 2 Ġ{ ĊĠĠĠ Ġoverride Ġval Ġuid : ĠString ? Ġ= Ġfirebase User ?. uid ĊĠĠĠ Ġoverride Ġval Ġemail : ĠString ? Ġ= Ġfirebase User ?. email ĊĠĠĠ Ġoverride Ġval Ġis Signed In : ĠBoolean Ġ= Ġfirebase User Ġ!= Ġnull Ċ } Ċ Ċ /** Ċ Ġ* ĠBasic Ġuser Ġinfo . Ċ Ġ*/ Ċ interface ĠAuth enticated UserInfo Basic Ġ{ ĊĊĠĠĠ Ġfun Ġis Signed In (): ĠBoolean ĊĊĠĠĠ Ġfun Ġget Email (): ĠString ? ĊĊĠĠĠ Ġfun Ġget Provider Data (): ĠMutable List < out ĠUserInfo >? ĊĊĠĠĠ Ġfun ĠgetLast SignIn Timestamp (): ĠLong ? ĊĊĠĠĠ Ġfun Ġget Creation Timestamp (): ĠLong ? ĊĊĠĠĠ Ġfun Ġis Anonymous (): ĠBoolean ? ĊĊĠĠĠ Ġfun Ġget PhoneNumber (): ĠString ? ĊĊĠĠĠ Ġfun Ġget Uid (): ĠString ? ĊĊĠĠĠ Ġfun Ġis Email Verified (): ĠBoolean ? ĊĊĠĠĠ Ġfun Ġget DisplayName (): ĠString ? ĊĊĠĠĠ Ġfun Ġget Photo Url (): ĠUri ? ĊĊĠĠĠ Ġfun Ġget Provider Id (): ĠString ? Ċ } Ċ Ċ /** Ċ Ġ* ĠExtra Ġinformation Ġabout Ġthe Ġauth Ġand Ġregistration Ġstate Ġof Ġthe Ġuser . Ċ Ġ*/ Ċ interface ĠAuth enticated UserInfo Registered Ġ{ ĊĊĠĠĠ Ġfun ĠisValid (): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġ! getUsername (). isNull Or Blank () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ! getName (). isNull Or Blank () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ! get Profile Picture Url (). isNull Or Blank () ĊĊĠĠĠ Ġfun Ġget Username (): ĠString ? ĊĊĠĠĠ Ġfun ĠgetName (): ĠString ? ĊĊĠĠĠ Ġfun Ġget Profile Picture Url (): ĠString ? Ċ Ċ } Ċ