package Ġio . github . w ulkan owy . ui . modules . mobile device . token Ċ Ċ import Ġio . github . w ulkan owy . data . Status Ċ import Ġio . github . w ulkan owy . data . repositories . mobile device . Mobile Device Repository Ċ import Ġio . github . w ulkan owy . data . repositories . semester . Se mester Repository Ċ import Ġio . github . w ulkan owy . data . repositories . student . Student Repository Ċ import Ġio . github . w ulkan owy . ui . base . Base Presenter Ċ import Ġio . github . w ulkan owy . ui . base . ErrorHandler Ċ import Ġio . github . w ulkan owy . utils . Firebase Analytics Helper Ċ import Ġio . github . w ulkan owy . utils . after Loading Ċ import Ġio . github . w ulkan owy . utils . flow With Resource Ċ import Ġkotlinx . coroutines . flow . on Each Ċ import Ġtim ber . log . Tim ber Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠMobile Device Token Presenter Ġ@ Inject Ġconstructor ( ĊĠĠĠ ĠerrorHandler : ĠError Handler , ĊĠĠĠ Ġstudent Repository : ĠStudent Repository , ĊĠĠĠ Ġprivate Ġval Ġse mester Repository : ĠSe mester Repository , ĊĠĠĠ Ġprivate Ġval Ġmobile Device Repository : ĠMobile Device Repository , ĊĠĠĠ Ġprivate Ġval Ġanalytics : ĠFirebase Analytics Helper Ċ ) Ġ: ĠBase Presenter < Mobile Device Token VI ew >( error Handler , Ġstudent Repository ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach View ( view : ĠMobile Device Token VI ew ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach View ( view ) ĊĠĠĠĠĠĠĠ Ġview . init View () ĊĠĠĠĠĠĠĠ ĠTim ber . i (" Mobile Ġdevice Ġview Ġwas Ġinitialized ") ĊĠĠĠĠĠĠĠ Ġload Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġflow With Resource Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstudent Ġ= Ġstudent Repository . getCurrent Student () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġse mester Ġ= Ġse mester Repository . getCurrent Se mester ( student ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmobile Device Repository . getToken ( student , Ġse mester ) ĊĠĠĠĠĠĠĠ Ġ}. on Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . LOADING Ġ-> ĠTim ber . i (" Mobile Ġdevice Ġregistration Ġdata Ġstarted ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . SUCCESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . i (" Mobile Ġdevice Ġregistration Ġresult : ĠSuccess ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Data ( it . data !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Content () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanalytics . log Event (" device _ register ", Ġ" symbol " Ġto Ġit . data !!. token . substring ( 0 , Ġ 3 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . ERROR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . i (" Mobile Ġdevice Ġregistration Ġresult : ĠAn Ġexception Ġoccurred ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. close Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠerrorHandler . dispatch ( it . error !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. after Loading Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. hide Loading () ĊĠĠĠĠĠĠĠ Ġ}. launch () ĊĠĠĠ Ġ} Ċ } Ċ