package Ġcn . y mex . kit x . tips . setting Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . app . Activity Manager Ċ import Ġandroid . content . Component Name Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Power Manager Ċ import Ġandroid . provider . Settings Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . annotation . Requires Permission Ċ import Ġandroidx . core . app . Notification Manager Compat Ċ import Ġjava . util .* ĊĊ Ċ /** Ċ Ġ* Ġæĺ¯åĲ¦ Ġ å¿½ çķ¥ çĶµ æ±ł ä¼ĺåĮĸ Ċ Ġ*/ Ċ Ċ fun ĠContext . ignore Battery Optimization (): ĠBoolean Ġ{ ĊĊĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpower Manager Ġ= Ġget System Service ( Context . POWER _ SERVICE ) Ġas ĠPower Manager ĊĠĠĠĠĠĠĠ Ġreturn Ġpower Manager . is Ign oring Battery Optim izations ( this . packageName ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġtrue Ċ } ĊĊ Ċ /** Ċ Ġ* Ġèİ·åıĸ èĩª åĲ¯åĬ¨ ç®¡çĲĨ é¡µéĿ¢ çļĦ Intent Ċ Ġ* Ġ@ param Ġcontext Ġcontext Ċ Ġ* Ġ@ return Ġè¿ĶåĽŀ èĩª åĲ¯åĬ¨ ç®¡çĲĨ é¡µéĿ¢ çļĦ Intent Ċ Ġ*/ Ċ fun ĠContext . get Auto Start Setting Intent (): ĠIntent Ġ{ ĊĠĠĠ Ġvar Ġcomponent Name : ĠComponent Name ? Ġ= Ġnull ĊĠĠĠ Ġval Ġbrand Ġ= ĠBuild . MAN U FACT UR ER ĊĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠ Ġwhen Ġ( brand . toLowerCase ( Locale . ROOT )) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" s amsung " Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ= ĠComponent Name ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . s amsung . android . sm ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . s amsung . android . sm . app . dashboard . Smart Manager Dash Board Activity " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ" hu awei " Ġ-> Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ èį £ èĢ Ģ V 8 ï¼Į EM UI Ġ 8 . 0 . 0 ï¼Į Android Ġ 8 . 0 ä¸Ĭ ï¼Į Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠéľĢè¦ģ com . hu awei . permission . external _ app _ settings . USE _ COMPONENT æĿĥéĻĲ æĹłæ³ķ æīĵå¼Ģ ãĢĤ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ= ĠComponent Name ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . hu awei . system manager ", Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . hu awei . system manager . app control . activity . Startup App Control Activity " Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ= ĠComponent Name ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . hu awei . system manager ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . hu awei . system manager . startup mgr . ui . Startup Normal App List Activity " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ" xia omi " Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ= ĠComponent Name ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . mi ui . security center ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . mi ui . perm center . aut ost art . Auto Start Management Activity " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ" v ivo " Ġ-> Ġ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ= Ġnew ĠComponent Name (" com . iq oo . secure ", Ġ" com . iq oo . secure . saf ag u ard . Pur view Tab Activity "); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ= ĠComponent Name ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . iq oo . secure ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . iq oo . secure . ui . phone optimize . Add White List Activity " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ" op po " Ġ-> Ġ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ= Ġnew ĠComponent Name (" com . op po . safe ", Ġ" com . op po . safe . permission . startup . Startup App List Activity "); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ= ĠComponent Name ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . color os . opp og uar de lf ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . color os . power manager . fuel ga ue . Power Usage Model Activity " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ" y ulong ", Ġ" 3 6 0 " Ġ-> Ġcomponent Name Ġ= ĠComponent Name ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . y ulong . android . co ols afe ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . y ulong . android . co ols afe . ui . activity . autor un . Auto Run List Activity " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ" me iz u " Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Name Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComponent Name (" com . me iz u . safe ", Ġ" com . me iz u . safe . permission . Smart BG Activity ") ĊĠĠĠĠĠĠĠ Ġ" one plus " Ġ-> Ġcomponent Name Ġ= ĠComponent Name ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . one plus . security ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . one plus . security . chain launch . view . Chain Launch App List Activity " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ" let v " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . action Ġ= Ġ" com . let v . android . permission auto boot " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . action Ġ= Ġ" android . settings . APPLICATION _ DETAILS _ SETTINGS " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . from Parts (" package ", ĠpackageName , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . action Ġ= Ġ" android . settings . APPLICATION _ DETAILS _ SETTINGS " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . from Parts (" package ", ĠpackageName , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġintent . component Ġ= Ġcomponent Name ĊĠĠĠ Ġreturn Ġintent Ċ } ĊĊ Ċ /** Ċ Ġ* Ġæĺ¯åĲ¦ æľī å®īè£ħ æĿĥéĻĲ Ċ Ġ*/ Ċ fun ĠContext . can Install Package (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpackage Manager . can Request Package Install s () ĊĠĠĠ Ġ} Ġelse Ġtrue Ċ } Ċ Ċ /** Ċ Ġ* Ġæĺ¯åĲ¦ æľī æĺ¾ç¤º æµ ® çªĹ Ċ Ġ*/ Ċ fun ĠContext . can Draw Overlay s Float Window (): ĠBoolean Ġ{ ĊĊĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSettings . can Draw Overlay s ( this ) ĊĠĠĠ Ġ} Ġelse Ġtrue Ċ } Ċ Ċ /** Ċ Ġ* Ġnotification Ġ çĽĳåĲ¬ æĿĥéĻĲ Ġæĺ¯åĲ¦ æīĵå¼Ģ ãĢĤ Ċ Ġ*/ Ċ fun ĠContext . are Notification Listener Enable (): ĠBoolean Ġ{ Ċ // ĠĠĠ Ġvar Ġenable Ġ= Ġfalse Ċ // ĠĠĠ Ġval ĠpackageName Ġ= Ġthis . packageName Ċ // ĠĠĠ Ġval Ġflat Ġ= ĠSettings . Secure . getString ( Ċ // ĠĠĠĠĠĠĠ Ġthis . content Resolver , Ċ // ĠĠĠĠĠĠĠ Ġ" enabled _ notification _ listeners " Ċ // ĠĠĠ Ġ) Ċ // ĠĠĠ Ġif Ġ( flat Ġ!= Ġnull ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġenable Ġ= Ġflat . contains ( packageName ) Ċ // ĠĠĠ Ġ} Ċ // ĠĠĠ Ġreturn Ġenable ĊĊĠĠĠ Ġval Ġpackage Names Ġ= ĠNotification Manager Compat . get Enabled Listener Packages ( this ); ĊĠĠĠ Ġif Ġ( package Names . contains ( packageName )) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġfalse Ċ Ċ } ĊĊ Ċ @ Requires Api ( Build . VERSION _ CODES . J EL LY _ BE AN _ MR 2 ) Ċ @ Requires Permission ( value Ġ= ĠManifest . permission . BIND _ NOTIFICATION _ LIST ENER _ SERVICE ) Ċ fun ĠContext . get Notification Listener Access Setting Intent (): ĠIntent Ġ{ ĊĠĠĠ Ġval Ġpackage URI Ġ= ĊĠĠĠĠĠĠĠ ĠUri . parse (" package :" Ġ+ Ġthis . packageName ) ĊĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP _ MR 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Settings . ACTION _ NOTIFICATION _ LIST ENER _ SETTINGS , Ġpackage URI ) ĊĠĠĠĠĠĠĠ Ġif Ġ( package Manager . resolve Activity ( intent , Ġ 0 ) Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠ Ġval Ġcn Ġ= ĠComponent Name ( ĊĠĠĠĠĠĠĠ Ġ" com . android . settings ", ĊĠĠĠĠĠĠĠ Ġ" com . android . settings . Settings \$ Notification Access Settings Activity " ĊĠĠĠ Ġ) ĊĠĠĠ Ġintent . component Ġ= Ġcn ĊĠĠĠ Ġintent . putExtra (": settings : show _ fragment ", Ġ" Notification Access Settings ") ĊĠĠĠ Ġreturn Ġintent Ċ } ĊĊ Ċ /** Ċ Ġ* Ġæĺ¯åĲ¦ æľī éĢļçŁ¥ æĿĥéĻĲ Ċ Ġ*/ ĊĊ Ċ fun ĠContext . are Notifications Enabled (): ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġnotification : ĠNotification Manager Compat Ġ= ĠNotification Manager Compat . from ( this ) ĊĠĠĠ Ġreturn Ġnotification . are Notifications Enabled () Ċ } ĊĊ Ċ /** Ċ Ġ* Ġèİ·åıĸ Ġ éĢļçŁ¥ æĿĥéĻĲ è®¾ç½® é¡µéĿ¢ çļĦ Intent Ċ Ġ*/ Ċ @ Requires Api ( Build . VERSION _ CODES . M ) Ċ @ Requires Permission ( value Ġ= ĠManifest . permission . REQUEST _ IGNORE _ B ATTER Y _ OPTIMI Z ATIONS ) Ċ fun ĠContext . get Notifications Setting Intent (): ĠIntent Ġ{ ĊĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠ Ġintent . action Ġ= Ġ" android . settings . APP _ NOTIFICATION _ SETTINGS " ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" android . provider . extra . APP _ PACKAGE ", ĠpackageName ) ĊĠĠĠ Ġ} Ġelse Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ Ġ// 5 . 0 ĊĠĠĠĠĠĠĠ Ġintent . action Ġ= Ġ" android . settings . APP _ NOTIFICATION _ SETTINGS " ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" app _ package ", ĠpackageName ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" app _ uid ", Ġthis . application Info . uid ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} Ġelse Ġif Ġ( Build . VERSION . SDK _ INT Ġ== ĠBuild . VERSION _ CODES . KIT K AT ) Ġ{ Ġ// 4 . 4 ĊĠĠĠĠĠĠĠ Ġintent . action Ġ= ĠSettings . ACTION _ APPLICATION _ DETAILS _ SETTINGS ĊĠĠĠĠĠĠĠ Ġintent . add Category ( Intent . CATEGORY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . parse (" package :$ packageName ") ĊĠĠĠ Ġ} Ġelse Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= Ġ 1 5 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠ Ġintent . action Ġ= Ġ" android . settings . APPLICATION _ DETAILS _ SETTINGS " ĊĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . from Parts ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" package ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠpackageName , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġintent Ċ } Ċ Ċ /** Ċ Ġ* Ġèİ·åıĸ Ġæµ ® çªĹ Ġè®¾ç½® é¡µéĿ¢ çļĦ Intent Ċ Ġ*/ Ċ @ Requires Api ( api Ġ= ĠBuild . VERSION _ CODES . M ) Ċ @ Requires Permission ( value Ġ= ĠManifest . permission . SYSTEM _ ALERT _ WINDOW ) Ċ fun ĠContext . get Can Draw Overlay s Setting Intent (): ĠIntent Ġ{ ĊĠĠĠ Ġval Ġpackage URI Ġ= ĊĠĠĠĠĠĠĠ ĠUri . parse (" package :$ packageName ") ĊĠĠĠ Ġreturn ĠIntent ( Settings . ACTION _ MANAGE _ OVER LAY _ PERMISSION , Ġpackage URI ) Ċ } Ċ Ċ /** Ċ Ġ* Ġèİ·åıĸ Ġå®īè£ħ apk Ġè®¾ç½® é¡µéĿ¢ çļĦ Intent Ċ Ġ*/ Ċ @ Requires Api ( api Ġ= ĠBuild . VERSION _ CODES . O ) Ċ @ Requires Permission ( value Ġ= ĠManifest . permission . REQUEST _ INSTALL _ PACK AGES ) Ċ fun ĠContext . get Install Package Setting Intent (): ĠIntent Ġ{ ĊĠĠĠ Ġval Ġpackage URI Ġ= ĊĠĠĠĠĠĠĠ ĠUri . parse (" package :$ packageName ") ĊĠĠĠ Ġreturn ĠIntent ( Settings . ACTION _ MANAGE _ UNKNOWN _ APP _ SOURCES , Ġpackage URI ) Ċ } Ċ Ċ /** Ċ Ġ* fix Ġ åºĶçĶ¨ è¿Ľç¨ĭ è¢« æĿĢ åĲİ åĨį æ¬¡ åĲ¯åĬ¨ æĹ¶ ï¼Į æľįåĬ¡ ä¸į çĶŁ æķĪ . Ċ Ġ* Ġä½¿çĶ¨ ï¼Į Ġåľ¨ åĲ¯åĬ¨ æľįåĬ¡ åīį è°ĥçĶ¨ ãĢĤ Ċ Ġ*/ Ċ fun ĠContext . toggle Notification Listener Service ( service Clazz : ĠClass <* >) Ġ{ ĊĠĠĠ Ġval Ġpm : ĠPackage Manager Ġ= Ġpackage Manager ĊĠĠĠ Ġpm . set Component Enabled Setting ( ĊĠĠĠĠĠĠĠ ĠComponent Name ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice Clazz ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠPackage Manager . COMPONENT _ ENABLED _ STATE _ DISABLED , ĠPackage Manager . D ONT _ KILL _ APP ĊĠĠĠ Ġ) ĊĠĠĠ Ġpm . set Component Enabled Setting ( ĊĠĠĠĠĠĠĠ ĠComponent Name ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice Clazz ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠPackage Manager . COMPONENT _ ENABLED _ STATE _ ENABLED , ĠPackage Manager . D ONT _ KILL _ APP ĊĠĠĠ Ġ) Ċ } Ċ Ċ /** Ċ Ġ* Ġæľ¬ åºĶçĶ¨ æ³¨åĨĮ çļĦ æľįåĬ¡ æĺ¯åĲ¦ åŃĺåľ¨ Ġ å¹¶ è¿Ĳè¡Į Ċ Ġ*/ Ċ @ Suppress (" DE PREC ATION ") Ċ fun ĠContext . is Service Exist ed ( className : ĠString ): ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġactivity Manager Ġ= Ġthis . getSystem Service ( Context . ACTIVITY _ SERVICE ) Ġas ĠActivity Manager ĊĠĠĠ Ġ// get Running Services åĴĮ Ġ Ġget Running App Processes () Ġåľ¨ ĠAndroid ĠO Ġ ä»¥ä¸Ĭ çīĪæľ¬ åıªèĥ½ èİ·åıĸ åºĶçĶ¨ æľ¬ èº« çļĦ æľįåĬ¡ åĴĮ è¿Ľç¨ĭ ĊĠĠĠ Ġval Ġservice Infos Ġ= Ġactivity Manager . get Running Services ( Int . MAX _ VALUE ) ĊĠĠĠ Ġif Ġ( service Infos . size Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġservice Infos . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠserviceName Ġ= Ġservice Infos [ i ]. service ĊĠĠĠĠĠĠĠ Ġif Ġ( serviceName . className Ġ== ĠclassName ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġfalse Ċ }