package Ġcom . jint in . cl erk . app Ċ Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġcom . jint in . cl erk . app . obj . C ler k Log Ċ import Ġcom . jint in . cl erk . app . utils . Pref Key Ċ import Ġcom . jint in . cl erk . app . utils . get Bool Ċ import Ġcom . jint in . cl erk . app . utils . has Overlay Permission Ċ import Ġcom . jint in . cl erk . app . utils . start Foreground Service Ċ import Ġcom . jint in . cl erk . lib . C ler k Utils Ċ Ċ /** Ċ Ġ* ĠLog Receiver Ġto Ġlisten Ġincoming Ġlogs Ċ Ġ*/ Ċ class ĠLog Receiver Ġ: ĠBroadcast Receiver () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext ?, Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( intent ?. action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC ler k Utils . LOG _ ACTION Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp Ġ= Ġintent . getString Extra ( C ler k Utils . EXTRA _ APP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= Ġintent . getString Extra ( C ler k Utils . EXTRA _ CHANNEL ) Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstring Ġ= Ġintent . getString Extra ( C ler k Utils . EXTRA _ DATA ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( app Ġ== Ġnull Ġ|| Ġstring Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc ler k Log Ġ= ĠC ler k Log ( app Ġ= Ġapp , Ġchannel Ġ= Ġchannel , Ġlog Ġ= Ġstring ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( has Overlay Permission () Ġ&& Ġget Bool ( Pref Key . DRAW _ OVER LAY )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Instant Service ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Log Service ( this , Ġc ler k Log ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Instant Service ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . start Foreground Service ( Instant Service :: class ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Log Service ( context : ĠContext , Ġlog : ĠC ler k Log ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġservice Intent Ġ= ĠIntent ( context , ĠLog Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( Log Service . CL ER K _ LOG , Ġlog ) ĊĠĠĠĠĠĠĠ ĠLog Service . enqueue Work ( context , Ġservice Intent ) ĊĠĠĠ Ġ} Ċ Ċ }