package Ġr ic ardo ant olin . com . screenshot detector . service Ċ Ċ import Ġandroid . app . Notification Ċ import Ġandroid . app . Notification Channel Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . app . Service Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Binder Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . IB inder Ċ import Ġandroid . support . v 4 . app . Notification Compat Ċ import Ġandroid . widget . Toast Ċ import Ġio . reactivex . ob servers . Disposable Observer Ċ import Ġorg . jetbrains . ank o . run On Ui Thread Ċ import Ġr ic ardo ant olin . com . screenshot detector . R ĊĊ Ċ class ĠScreen Shot Observer Service Ġ: ĠService () Ġ{ ĊĠĠĠ Ġinner Ġclass ĠPush Binder Ġ: ĠB inder () Ġ{ ĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġget Notification Service : ĠScreen Shot Observer Service ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis @ Screen Shot Observer Service ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġstart Foreground ( 1 , Ġcreate Notification ( application Context )) ĊĊĊĠĠĠĠĠĠĠ ĠScreen shot Observer . instance . observer . subscribe With ( dis posable Observer ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Notification ( context : ĠContext ): ĠNotification Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnotification Manager Ġ= Ġapplication Context ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getSystem Service ( Context . NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnotification Channel Ġ= ĠNotification Channel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Screenshot Observer ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Manager . IMPORT ANCE _ HIGH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Manager . create Notification Channel ( notification Channel ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Compat . Builder ( context , Ġnotification Channel . id ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Compat . Builder ( context , Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Title (" Screenshot ĠObserver ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text (" Screenshot ĠObserver Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setColor ( Color . parse Color ("# ffffff ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Group Summary ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Group (" Group ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Small Icon ( R . drawable . ic _ launcher _ foreground ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Category (" category ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdis posable Observer () Ġ= Ġobject Ġ: ĠDis posable Observer < String >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( t : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , Ġ" New Ġscreenshot ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart Command ( intent : ĠIntent ?, Ġflags : ĠInt , Ġstart Id : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠService . START _ STICK Y ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ( intent : ĠIntent ): ĠI Binder ? Ġ= ĠPush Binder () Ċ Ċ } Ċ