package Ġcom . line corp . abc . notifications Ċ Ċ import Ġcom . google . firebase . messaging . Firebase Messaging Ċ Ċ internal Ġactual Ġclass ĠNotification Manager Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġon Deleted Messages Map Ġ= Ġmutable Map Of < Any , ĠUnit Block >() ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ABC Device Token . F CM Token . isEmpty () Ġ&& ĠABC Device Token . raw Token . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠABC Device Token . F CM Token Ġ= ĠABC Device Token . raw Token ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠFirebase Messaging . getInstance (). token . add On Complete Listener Ġ{ Ġtask Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( task . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate To ke ( task . result . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġvar Ġis Use F CM On IOS Ġ= Ġfalse ĊĊĠĠĠ Ġactual Ġfun Ġremove All Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġon Deleted Messages Map . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġfun Ġremove Listeners ( target : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Deleted Messages Map . remove ( target ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġfun Ġunregister () Ġ{ Ġ} ĊĊĠĠĠ Ġfun Ġnotify On Deleted Messages () Ġ{ ĊĠĠĠĠĠĠĠ Ġon Deleted Messages Map . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . value . invoke () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On Deleted Messages ( target : ĠAny , Ġblock : ĠUnit Block ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Deleted Messages Map [ target ] Ġ= Ġblock ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġupdate To ke ( token : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( token . isEmpty () Ġ|| Ġtoken Ġ== ĠABC Device Token . raw Token ) Ġ{ Ġreturn Ġ} ĊĠĠĠĠĠĠĠ ĠABC Device Token . raw Token Ġ= Ġtoken ĊĠĠĠĠĠĠĠ ĠABC Device Token . F CM Token Ġ= Ġtoken ĊĠĠĠĠĠĠĠ ĠABC Notifications . notify On New Token () ĊĠĠĠ Ġ} Ċ }