/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠBand yer ĠS . r . l . ĠAll ĠRights ĠReserved . Ċ Ġ* ĠSee ĠLICENSE . txt Ġfor Ġlicensing Ġinformation Ċ Ġ*/ Ċ Ċ package Ġcom . band yer . app _ utilities . notification Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . band yer . app _ configuration . external _ configuration . model . Push Provider Ċ import Ġcom . band yer . app _ utilities . storage . Configuration Prefs Manager Ċ import Ġcom . band yer . app _ utilities . storage . Login Manager . is User Logged Ċ import Ġcom . band yer . app _ utilities . activities . Base Activity Ċ Ċ /** Ċ Ġ* ĠThis Ġclass Ġis Ġa Ġproxy Ġto Ġthe Ġdifferent Ġnotification Ġservices Ġwe Ġwant Ġto Ġshow Ġcase Ċ Ġ* ĠAt Ġthe Ġmoment Ġwe Ġimplemented Ġthe ĠF CM Ġ( Ġstandard Ġ) Ġwhich Ġworks Ġeverywhere Ġexcept Ġfor ĠChina . Ċ Ġ* ĠFor ĠChina Ġwe Ġshow Ġcase Ġthe ĠPush y Ġlibrary . Ċ Ġ*/ Ċ object ĠNotification Proxy Ġ{ ĊĊĠĠĠ Ġfun Ġregister Device ( context : ĠContext , Ġlogged User : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is User Logged ( context )) Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration Ġ= ĠConfiguration Prefs Manager . getConfiguration ( context ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( configuration . push Provider ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPush Provider . F CM Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Firebase Compat . is G ms Available ( context )) ĠFirebase Compat . register Device ( context , Ġlogged User ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( Hu awei Compat . is H ms Available ( context )) ĠHu awei Compat . register Device ( context , Ġlogged User ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPush Provider . Push y Ġ-> ĠPush y Compat . register Device ( context , Ġlogged User ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPush Provider . H MS Ġ-> Ġif Ġ( Hu awei Compat . is H ms Available ( context )) ĠHu awei Compat . register Device ( context , Ġlogged User ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPush Provider . NONE Ġ-> ĠUnit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġunregister Device ( context : ĠBase Activity , Ġlogged User : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration Ġ= ĠConfiguration Prefs Manager . getConfiguration ( context ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( configuration . push Provider ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPush Provider . F CM Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Firebase Compat . is G ms Available ( context )) ĠFirebase Compat . unregister Device ( context , Ġlogged User ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( Hu awei Compat . is H ms Available ( context )) ĠHu awei Compat . unregister Device ( context , Ġlogged User ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPush Provider . Push y Ġ-> ĠPush y Compat . unregister Device ( context , Ġlogged User ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPush Provider . H MS Ġ-> Ġif Ġ( Hu awei Compat . is H ms Available ( context )) ĠHu awei Compat . unregister Device ( context , Ġlogged User ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPush Provider . NONE Ġ-> ĠUnit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġlisten ( context : ĠBase Activity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration Ġ= ĠConfiguration Prefs Manager . getConfiguration ( context ) ĊĠĠĠĠĠĠĠ Ġif Ġ( configuration . push Provider Ġ!= ĠPush Provider . Push y ) Ġreturn ĊĠĠĠĠĠĠĠ ĠPush y Compat . listen ( context ) ĊĠĠĠ Ġ} Ċ }