package Ġcom . mat he ws achin . f ate grand autom ata . util Ċ Ċ import Ġandroid . app . Service Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġandroid . widget . Toast Ċ import Ġcom . mat he ws achin . f ate grand autom ata . accessibility . Script Runner Notification Ċ import Ġcom . mat he ws achin . f ate grand autom ata . accessibility . Script Runner Service Ċ import Ġcom . mat he ws achin . f ate grand autom ata . im aging . Droid Cv Pattern Ċ import Ġcom . mat he ws achin . f ate grand autom ata . scripts . prefs . IP references Ċ import Ġcom . mat he ws achin . f ate grand autom ata . ui . Highlight Manager Ċ import Ġcom . mat he ws achin . lib autom ata . IP attern Ċ import Ġcom . mat he ws achin . lib autom ata . I Platform Impl Ċ import Ġcom . mat he ws achin . lib autom ata . I Platform Prefs Ċ import Ġcom . mat he ws achin . lib autom ata . Region Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjavax . inject . Inject Ċ import Ġkotlin . time . Duration Ċ Ċ class ĠAndroid Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġservice : ĠService , ĊĠĠĠ Ġval Ġnotification : ĠScript Runner Notification , ĊĠĠĠ Ġval Ġpreferences : ĠIP references , ĊĠĠĠ Ġval Ġcut out Manager : ĠCut out Manager , ĊĠĠĠ Ġval Ġhighlight Manager : ĠHighlight Manager Ċ ) Ġ: ĠI Platform Impl Ġ{ ĊĠĠĠ Ġval Ġservice Ġ= Ġservice Ġas ĠScript Runner Service ĊĊĠĠĠ Ġoverride Ġval Ġwindow Region Ġget () Ġ= Ġcut out Manager . getC ut out Applied Region () ĊĊĠĠĠ Ġoverride Ġval Ġcan Long Swipe Ġ= ĊĠĠĠĠĠĠĠ ĠBuild . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ĊĊĠĠĠ Ġoverride Ġval Ġprefs : ĠI Platform Prefs ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġpreferences . platform Prefs ĊĊĠĠĠ Ġoverride Ġfun Ġtoast ( Message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhandler . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. makeText ( service , ĠMessage , ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġnotify ( message : ĠString ) Ġ= Ġnotification . message ( message ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Resizable Blank Pattern (): ĠIP attern Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠD roid Cv Pattern () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġhandler Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠHandler ( Looper . get Main Looper ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmessage Box ( Title : ĠString , ĠMessage : ĠString , ĠError : ĠException ?, Ġon Dismiss : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhandler . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice . show MessageBox ( Title , ĠMessage , ĠError , Ġon Dismiss ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhighlight ( Region : ĠRegion , ĠDuration : ĠDuration , Ġsuccess : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġcan 't Ġdraw Ġover Ġthe Ġnot ch Ġarea ĊĠĠĠĠĠĠĠ Ġval Ġregion Ġ= ĠRegion Ġ- Ġcut out Manager . getC ut out Applied Region (). location ĊĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhighlight Manager . add ( region , Ġsuccess ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( Duration . to Long Milliseconds ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhighlight Manager . remove ( region ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }