/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 . ĠH Ã© ctor Ġde ĠIs id ro Ġ- Ġh rules 6 8 7 2 Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . hr ules . composer . services Ċ Ċ import Ġandroid . app . Service Ċ import Ġandroid . content .* Ċ import Ġandroid . os . IB inder Ċ import Ġcom . hr ules . composer .* Ċ import Ġcom . hr ules . composer . ui . commons . Preferences Ċ Ċ fun ĠContext . get Clip Board Monitor Intent Service () Ġ= ĠIntent ( this , ĠClip board Monitor Service :: class . java ) Ċ Ċ class ĠClip board Monitor Service Ġ: ĠService () Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġlast Clip Ġ= Ġ"" ĊĠ Ġ} ĊĊĠ Ġprivate Ġval Ġpreferences Ġby Ġlazy Ġ{ ĠPreferences ( this ) Ġ} ĊĠ Ġprivate Ġval Ġclipboard Manager : ĠClip board Manager Ġby Ġlazy Ġ{ Ġget System Service ( CLIP BOARD _ SERVICE ) Ġas ĠClip board Manager Ġ} ĊĊĠ Ġprivate Ġval Ġon Primary Clip Changed Listener Ġ= ĠClip board Manager . On Primary Clip Changed Listener Ġ{ ĊĠĠĠ Ġval Ġclip : ĠString Ġ= Ġclipboard Manager . getFirst Clip () ĊĠĠĠ Ġif Ġ( clip . isNotEmpty Clip () Ġand ĊĠĠĠĠĠ Ġclip . isNot Equal Last Clip () Ġand ĊĠĠĠĠĠ Ġ! App Lifecycle . is App In Foreground ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠ Ġpreferences . note Ġ= Ġ"${ preferences . note }\ n $ clip " ĊĠĠĠĠĠ Ġnotify User ( this ) ĊĠĠĠĠĠ Ġlast Clip Ġ= Ġclip ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠ Ġsuper . onCreate () ĊĠĠĠ Ġclipboard Manager . apply Ġ{ ĊĠĠĠĠĠ Ġremove Listener () ĊĠĠĠĠĠ Ġadd Listener () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġstart Foreground ( Clipboard Monitor Notification . ID , ĠClip board Monitor Notification . create ( this )) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġclipboard Manager . remove Listener () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Bind ( intent : ĠIntent ?): ĠI Binder ? Ġ= Ġnull ĊĊĠ Ġprivate Ġfun ĠClip board Manager . addListener () Ġ{ ĊĠĠĠ Ġadd Primary Clip Changed Listener ( ĊĠĠĠĠĠ Ġon Primary Clip Changed Listener ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠClip board Manager . remove Listener () Ġ{ ĊĠĠĠ Ġremove Primary Clip Changed Listener ( ĊĠĠĠĠĠ Ġon Primary Clip Changed Listener ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠClip board Manager . getFirst Clip () Ġ= Ġprimary Clip ?. getItem At ( 0 )?. text ?. toString () Ġ?: ĠEMPTY _ CLIP ĊĠ Ġprivate Ġfun ĠString . isNot Equal Last Clip () Ġ= Ġthis Ġ!= Ġlast Clip Ċ } Ċ