package Ġ` in `. evil corp . br icks open launcher . overlay controls . helpers Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . PixelFormat Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġtim ber . log . Tim ber Ċ Ċ // Used Ġas Ġworkaround Ġfor ĠAndroid Ġ 8 Ġbug Ġthat Ġcause Ġ' Settings . can Draw Overlay s ()' Ġreturn Ġ' false ' Ġeven Ġif Ġpermission Ġgranted . Ċ // https :// issue tracker . google . com / issues / 6 6 0 7 2 7 9 5 Ċ Ċ class ĠWork around Overlay Check Pre 2 7 Api ( private Ġval Ġapp : ĠApplication ) Ġ{ ĊĠĠĠ Ġfun Ġdeep Overlay Permissions Check (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . d (" Starting ĠReal Overlay Permissions Check Ġbecause Ġof ĠAndroid ĠAPI Ġversion Ġ= Ġ${ Build . VERSION . SDK _ INT }") ĊĠĠĠĠĠĠĠ Ġval Ġtest View Ġ= ĠView ( app ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Overlay View ( test View ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Real Overlay Permissions Check Ġ=> ĠOK ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove Overlay View ( test View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Real Overlay Permissions Check Ġ=> ĠFAILED : Ġ${ e . message }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġprivate Ġfun Ġdraw Overlay View ( test View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Type Ġ= Ġif Ġ( Build . VERSION . SDK _ INT Ġ< ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( WindowManager . LayoutParams . TYPE _ SYSTEM _ ALERT ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . TYPE _ APPLICATION _ OVER LAY ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġview Params Ġ= ĠWindow Manager . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstraint Layout . LayoutParams . WRAP _ CONTENT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstraint Layout . LayoutParams . WRAP _ CONTENT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . FLAG _ NOT _ TO UCH _ MOD AL Ġor ĠWindow Manager . LayoutParams . FLAG _ NOT _ FOCUS ABLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPixel Format . TRANSL UC ENT ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġwindow Manager Ġ= Ġapp . getSystem Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager ? ĊĠĠĠĠĠĠĠ Ġwindow Manager ?. addView ( test View , Ġview Params ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġremove Overlay View ( test View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwindow Manager Ġ= Ġapp . getSystem Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager ? ĊĠĠĠĠĠĠĠ Ġwindow Manager ?. remove View ( test View ) ĊĠĠĠ Ġ} Ċ }