package Ġorg . simple . clin ic . analytics Ċ Ċ import Ġio . reactivex . Scheduler Ċ import Ġorg . simple . clin ic . user . User Ċ import Ġorg . simple . clin ic . user . User . LoggedIn Status . LOG GED _ IN Ċ import Ġorg . simple . clin ic . user . User . LoggedIn Status . RESET TING _ PIN Ċ import Ġorg . simple . clin ic . user . User . LoggedIn Status . RESET _ PIN _ REQUEST ED Ċ import Ġorg . simple . clin ic . user . User Session Ċ import Ġorg . simple . clin ic . util . Just Ċ import Ġtim ber . log . Tim ber Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠUpdate Analytics UserId Ġ@ Inject Ġconstructor ( private Ġval Ġuser Session : ĠUser Session ) Ġ{ ĊĊĠ Ġprivate Ġval Ġstates To Set UserId For Ġ= Ġset Of ( ĊĠĠĠĠĠ ĠLOG GED _ IN , ĠRE SETTING _ PIN , ĠRESET _ PIN _ REQUEST ED ĊĠ Ġ) ĊĊĠ Ġfun Ġlisten ( scheduler : ĠScheduler ) Ġ{ ĊĠĠĠ Ġuser Session . logged In User () ĊĠĠĠĠĠĠĠ Ġ. subscribe On ( scheduler ) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit Ġis ĠJust < User > Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ( user ) Ġ-> Ġuser !! Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . logged In Status Ġin Ġstates To Set UserId For Ġ} ĊĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠ ĠAnalytics . set UserId ( it . uuid ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it , Ġ" Could Ġnot Ġupdate Ġuser ĠID Ġin Ġanalytics ") ĊĠĠĠĠĠĠĠ Ġ}) ĊĠ Ġ} Ċ } Ċ