package Ġcom . y my . push . ali . cus . hu ai wei Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġandroid . text . TextUtils Ċ import Ġcom . alibaba . sdk . android . push . hu awei . H ua Wei Register Ċ import Ġcom . alibaba . sdk . android . push . impl . Hu awei Msg Parse Impl Ċ import Ġcom . alibaba . sdk . android . push . register . Third Push Manager Ċ import Ġcom . alibaba . sdk . android . push . register . Third Push Manager . Third Push Report Keyword Ċ import Ġcom . alibaba . sdk . android . push . utils . Sys Utils Ċ import Ġcom . alibaba . sdk . android . push . utils . Thread Util Ċ import Ġcom . hu awei . h ms . aa id . H ms InstanceId Ċ import Ġcom . jer emy li ao . live event bus . Live EventBus Ċ import Ġcom . ta ob ao . ac cs . ut l . AL og Ċ import Ġcom . y my . push . ali . Push Token Data Ċ Ċ /** Ċ Ġ* ĠCreated Ġon Ġ 2 / 4 / 2 1 Ġ 1 3 : 5 0 . Ċ Ġ* Ġ@ author : han x ue qi ang Ċ Ġ* Ġ@ version : Ġ 1 . 0 . 0 Ċ Ġ* Ġ@ desc : èĩªå®ļä¹ī çļĦ H ua Wei Register ï¼Į éĺ¿ éĩĮ ç§»åĬ¨ æİ¨ éĢģ ä¸įä¼ļ åĲ Ĳ åĩº åİĤ åķĨ token ï¼Į åıªèĥ½ éĢļè¿ĩ éĩįæĸ° éĺ¿ éĩĮ ç§»åĬ¨ æİ¨ éĢģ sdk ä¸Ń å¯¹åºĶçļĦ ç±» æĿ¥ èİ·åıĸ token Ċ Ġ* Ġ åĽł åĲĦ ä¸ª åİĤ åķĨ æ¸ ł éģĵ çļĦ token èİ·åıĸ æĸ¹å¼ı ä¸į ä¸Ģèĩ´ ï¼Į æľīçļĦ éľĢ éĩį åĨĻ å¯¹åºĶçļĦ Register ï¼Į æľīçļĦ éľĢè¦ģ éĩį åĨĻ å¯¹åºĶçļĦ Service æĪĸ receiver Ċ Ġ*/ Ċ object ĠC us H ua Wei Register Ġ{ ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" MP S : C us H ua Wei Register " ĊĠĠĠ Ġvar Ġis Channel Register Ġ= Ġfalse ĊĊĠĠĠ Ġfun Ġregister ( application : ĠApplication ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġregister Bundle ( application , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġregister Bundle ( application : ĠApplication , Ġchannel Register : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Channel Register Ġ= Ġchannel Register ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Channel Register Ġ&& Ġ! Sys Utils . is Main Process ( application )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Log . e ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MP S : H ua Wei Register ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" register Ġnot Ġin Ġmain Ġprocess , Ġreturn ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* array Of Null s ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( check Device () Ġ&& ĠBuild . VERSION . SDK _ INT Ġ>= Ġ 1 7 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThird Push Manager . register Impl ( Hu awei Msg Parse Impl ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler ( Looper . get Main Looper ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Log . i ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MP S : H ua Wei Register ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" register Ġbegin Ġis Channel :" Ġ+ ĠH ua Wei Register . is Channel Register , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* array Of Null s ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetToken ( application . application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 5 0 0 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA Log . i (" MP S : H ua Wei Register ", Ġ" register Ġcheck Device Ġfalse ", Ġ* array Of Null s ( 0 )) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( var 3 : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA Log . e (" MP S : H ua Wei Register ", Ġ" register ", Ġvar 3 , Ġ* array Of Null s ( 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetToken ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ ĠThread Util . get Executor (). execute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp Info Ġ= Ġcontext . package Manager . getApplication Info ( context . packageName , ĠPackage Manager . GET _ META _ DATA ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġapp Info . metaData . getString (" com . hu awei . h ms . client . appid ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠappId Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( value )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠappId Ġ= Ġvalue !!. replace (" appid =", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Log . i ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MP S : H ua Wei Register ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" on Token ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* array Of < Any >(" appId ", ĠappId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtoken : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Ġ= Ġif Ġ( TextUtils . isEmpty ( appId )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠH ms InstanceId . getInstance ( context ). token ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠH ms InstanceId . getInstance ( context ). getToken ( appId , Ġ" H CM ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( token )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Log . i ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MP S : H ua Wei Register ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" on Token ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* array Of < Any >(" token ", Ġtoken ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLive EventBus . get ( Push Token Data :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPush Token Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThird Push Report Keyword . H UA WE I . third Token Keyword , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThird Push Manager . report Token ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThird Push Report Keyword . H UA WE I . third Token Keyword , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( var 5 : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Log . e ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MP S : H ua Wei Register ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" getToken Ġfailed .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* array Of Null s ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Device (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . B RAND . equals (" hu awei ", Ġignore Case Ġ= Ġtrue ) Ġ|| ĠBuild . B RAND . equals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" hon or ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġignore Case Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ }