package Ġcom . exp one a . sdk . services Ċ Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . content . Context Ċ import Ġcom . exp one a . sdk . Exp one a Ċ import Ġcom . exp one a . sdk . repository . Firebase Token Repository Provider Ċ import Ġcom . exp one a . sdk . util . Logger Ċ import Ġcom . exp one a . sdk . util . currentTime Seconds Ċ import Ġcom . exp one a . sdk . util . log On Exception Ċ import Ġcom . exp one a . sdk . util . toDate Ċ import Ġcom . google . firebase . messaging . Firebase Messaging Service Ċ import Ġcom . google . firebase . messaging . Remote Message Ċ Ċ internal Ġclass ĠExp one a Firebase Message Service Ġ: ĠFirebase Messaging Service () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġnotification Manager Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġget System Service ( Context . NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Message Received ( message : ĠRemote Message ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Message Received ( message ) ĊĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Message Received Unsafe ( message ) ĊĠĠĠĠĠĠĠ Ġ}. log On Exception () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Message Received Unsafe ( message : ĠRemote Message ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . d ( this , Ġ" Push ĠNotification Ġreceived Ġat Ġ${ currentTime Seconds (). toDate ()}. ") ĊĠĠĠĠĠĠĠ ĠExp one a . auto Initialize ( application Context ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Exp one a . is Auto Push Notification ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ auto Initialize ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExp one a . handle Remote Message ( application Context , Ġmessage , Ġnotification Manager ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon New Token ( token : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on New Token ( token ) ĊĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon New Token Unsafe ( token ) ĊĠĠĠĠĠĠĠ Ġ}. log On Exception () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon New Token Unsafe ( token : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . d ( this , Ġ" Received Ġpush Ġnotification Ġtoken ") ĊĠĠĠĠĠĠĠ ĠExp one a . auto Initialize ( application Context , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . d ( this , Ġ" Exp one a Ġcannot Ġbe Ġauto - initialized , Ġtoken Ġwill Ġbe Ġtracked Ġonce ĠExp one a Ġis Ġinitialized ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Token Repository Provider . get ( application Context ). set ( token , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Exp one a . is Auto Push Notification ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ auto Initialize ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . d ( this , Ġ" Firebase ĠToken ĠRef reshed ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExp one a . track Push Token ( token , ĠExp one a . token Track Frequency ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ