package Ġcom . j ia j ies hen . android . samples . features . fc m Ċ Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . media . Ring tone Manager Ċ import Ġandroid . support . v 4 . app . Notification Compat Ċ import Ġcom . google . firebase . messaging . Firebase Messaging Service Ċ import Ġcom . google . firebase . messaging . Remote Message Ċ import Ġcom . j ia j ies hen . android . samples . R Ċ import Ġcom . j ia j ies hen . android . samples . features . main . MainActivity Ċ import Ġorg . jetbrains . ank o . An ko Logger Ċ import Ġorg . jetbrains . ank o . info Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġx in Ġon Ġ 7 / 1 2 / 1 7 . Ċ Ġ*/ Ċ Ċ class ĠApp Firebase Messaging Service Ġ: ĠFirebase Messaging Service (), ĠAn ko Logger Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Message Received ( remote Message : ĠRemote Message ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġinfo (" firebase Ġ: ĠFrom : Ġ" Ġ+ Ġremote Message . from ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġif Ġmessage Ġcontains Ġa Ġdata Ġpayload . ĊĠĠĠĠĠĠĠ Ġif Ġ( remote Message . data . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo (" firebase Ġ: ĠMessage Ġdata Ġpayload : Ġ" Ġ+ Ġremote Message . data ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( /* ĠCheck Ġif Ġdata Ġneeds Ġto Ġbe Ġprocessed Ġby Ġlong Ġrunning Ġjob Ġ*/ Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠFor Ġlong - running Ġtasks Ġ( 1 0 Ġseconds Ġor Ġmore ) Ġuse ĠFirebase ĠJob ĠDispatcher . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġschedule Job (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠHandle Ġmessage Ġwithin Ġ 1 0 Ġseconds ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Now () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġif Ġmessage Ġcontains Ġa Ġnotification Ġpayload . ĊĠĠĠĠĠĠĠ Ġif Ġ( remote Message . notification Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo (" firebase Ġ: ĠMessage ĠNotification ĠBody : Ġ" Ġ+ Ġremote Message . notification . body !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Notification ( remote Message . notification . body !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHandle Ġtime Ġal lotted Ġto ĠBroadcast Re ceiv ers . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġhandle Now () Ġ{ ĊĠĠĠĠĠĠĠ Ġinfo (" firebase Ġ: ĠShort Ġli ved Ġtask Ġis Ġdone .") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreate Ġand Ġshow Ġa Ġsimple Ġnotification Ġcontaining Ġthe Ġreceived ĠF CM Ġmessage . ĊĊĠĠĠĠ Ġ* Ġ@ param Ġmessage Body ĠF CM Ġmessage Ġbody Ġreceived . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġsend Notification ( message Body : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ CLEAR _ TOP ) ĊĠĠĠĠĠĠĠ Ġval Ġpending Intent Ġ= ĠPending Intent . getActivity ( this , Ġ 0 Ġ/* ĠRequest Ġcode Ġ*/, Ġintent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPending Intent . FLAG _ ONE _ SHOT ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdefault Sound Uri Ġ= ĠRing tone Manager . getDefault Uri ( Ring tone Manager . TYPE _ NOTIFICATION ) ĊĠĠĠĠĠĠĠ Ġval Ġnotification Builder Ġ= ĠNotification Compat . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Small Icon ( R . mip map . ic _ launcher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Title (" F CM ĠMessage ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text ( message Body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAuto Cancel ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Sound ( default Sound Uri ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Intent ( pending Intent ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnotification Manager Ġ= Ġget System Service ( Context . NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĊĠĠĠĠĠĠĠ Ġnotification Manager . notify ( 0 Ġ/* ĠID Ġof Ġnotification Ġ*/, Ġnotification Builder . build ()) ĊĠĠĠ Ġ} Ċ } Ċ