package Ġse . bar sk . park . fc m Ċ Ċ import Ġandroid . util . Base 6 4 Ċ import Ġcom . google . firebase . messaging . Firebase Messaging Service Ċ import Ġcom . google . firebase . messaging . Remote Message Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject Ċ import Ġse . bar sk . park . error . ErrorHandler ĊĊ Ċ /** Ċ Ġ* ĠService Ġfor Ġhandling Ġincoming ĠF CM Ġmessages . Ċ Ġ*/ Ċ class ĠPark Firebase Messaging Service Ġ: ĠFirebase Messaging Service () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Message Received ( remote Message : ĠRemote Message ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( remote Message . data . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġremote Message . data [" type "] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġraw Data Ġ= Ġremote Message . data [" type _ data "] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== Ġnull Ġ|| Ġraw Data Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmsg Ġ= Ġ" Invalid ĠF CM Ġpush " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmsg Ġ+= Ġ", Ġtype Ġis Ġnull " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( raw Data Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmsg Ġ+= Ġ", Ġtype _ data Ġis Ġnull " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠError Handler . raise Exception ( msg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠJSONObject ( String ( Base 6 4 . decode ( raw Data , ĠBase 6 4 . DEFAULT ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" available " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSpace Available Notification ( application Context , Ġdata ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠError Handler . raise Exception (" Invalid ĠF CM Ġpush , Ġunknown Ġtype : Ġ$ type ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠError Handler . raise Exception (" Invalid ĠF CM Ġpush , Ġjson Ġdecoding Ġfailed ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠError Handler . raise Exception (" Invalid ĠF CM Ġpush , Ġbase 6 4 Ġdecoding Ġfailed ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }