package Ġcom . effective . android . video . setting Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Content Resolver Ċ import Ġandroid . provider . Settings Ċ import Ġandroid . view . Window Ċ import Ġandroid . view . WindowManager Ċ Ċ import Ġandroidx . annotation . Int Def Ċ import Ġandroidx . annotation . Int Range ĊĊ Ċ /** Ċ Ġ* Ġ äº ® åº¦ ç®¡çĲĨ Ċ Ġ* Ġhttps :// developer . android . com / reference / android / provider / Settings . System . html Ċ Ġ* Ġ åĨĻåħ¥ éľĢè¦ģ Ġ< uses - permission Ġandroid : name =" android . permission . WRITE _ SETTINGS "></ uses - permission > Ġ æĿĥéĻĲ Ċ Ġ* Ġ åħ³äºİ window äº ® åº¦ è¯´æĺİ Ċ Ġ* Ġ[ WindowManager . LayoutParams . BR IGHT NESS _ OVERRIDE _ NONE ] Ġ Ġé»ĺè®¤ ä½¿çĶ¨ System ï¼Į å½ĵåīį window æľª è¦ĨçĽĸ Ċ Ġ* Ġ[ WindowManager . LayoutParams . BR IGHT NESS _ OVERRIDE _ OFF ] ĠĠ Ġ é»ĳ Ċ Ġ* Ġ[ WindowManager . LayoutParams . BR IGHT NESS _ OVERRIDE _ FULL ] Ġ Ġ äº ® Ċ Ġ* ĠCreated Ġby Ġy ummy la u Ġon Ġ 2 0 1 8 / 3 / 2 4 . Ċ Ġ*/ Ċ Ċ object ĠB rightness Setting Ġ{ ĊĊĊĠĠĠ Ġ@ Int Def ( Mode . AUT OM AT IC , ĠMode . MAN UAL ) ĊĠĠĠ Ġ@ kotlin . annotation . Retention ( Annotation Retention . SOURCE ) ĊĠĠĠ Ġannotation Ġclass ĠMode Ġ{ ĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconst Ġ Ġval ĠA UT OM AT IC Ġ= ĠSettings . System . SCREEN _ BR IGHT NESS _ MODE _ AUT OM AT IC ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconst Ġval ĠMAN UAL Ġ= ĠSettings . System . SCREEN _ BR IGHT NESS _ MODE _ MAN UAL ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Screen Automatic Mode ( a Content Resolver : ĠContent Resolver ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġautomatic Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġautomatic Ġ= ĠSettings . System . getInt ( a Content Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSettings . System . SCREEN _ BR IGHT NESS _ MODE ) Ġ== ĠSettings . System . SCREEN _ BR IGHT NESS _ MODE _ AUT OM AT IC ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSettings . Setting NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġautomatic ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Screen Brightness Mode ( activity : ĠActivity , Ġ@ Mode Ġmode : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Resolver Ġ= Ġactivity . content Resolver ĊĠĠĠĠĠĠĠ ĠSettings . System . put Int ( content Resolver , ĠSettings . System . SCREEN _ BR IGHT NESS _ MODE , Ġmode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart Screen Brightness Automatic ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Screen Brightness Mode ( activity , ĠMode . AUT OM AT IC ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart Screen Brightness Manual ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Screen Brightness Mode ( activity , ĠMode . MAN UAL ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġget Screen Brightness ( activity : ĠActivity , Ġ@ Int Range ( from Ġ= Ġ 0 , Ġto Ġ= Ġ 2 5 5 ) Ġdef : ĠInt Ġ= Ġ 1 2 5 ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Resolver Ġ= Ġactivity . content Resolver ĊĠĠĠĠĠĠĠ Ġreturn ĠSettings . System . getInt ( content Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSettings . System . SCREEN _ BR IGHT NESS , Ġdef ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Window Brightness ( activity : ĠActivity , Ġ@ Int Range ( from Ġ= Ġ 0 , Ġto Ġ= Ġ 2 5 5 ) Ġbrightness : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwindow Ġ= Ġactivity . window ĊĠĠĠĠĠĠĠ Ġval Ġlp Ġ= Ġwindow . attributes ĊĠĠĠĠĠĠĠ Ġlp . screen Brightness Ġ= Ġbrightness Ġ/ Ġ 2 5 5 . 0 f ĊĠĠĠĠĠĠĠ Ġwindow . attributes Ġ= Ġlp ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Window Brightness ( activity : ĠActivity , Ġbrightness : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġbrightness Ġ= Ġbrightness ĊĠĠĠĠĠĠĠ Ġval Ġwindow Ġ= Ġactivity . window ĊĠĠĠĠĠĠĠ Ġval Ġlp Ġ= Ġwindow . attributes ĊĠĠĠĠĠĠĠ Ġif Ġ( brightness Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbrightness Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( brightness Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbrightness Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlp . screen Brightness Ġ= Ġbrightness ĊĠĠĠĠĠĠĠ Ġwindow . attributes Ġ= Ġlp ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Window Brightness ( activity : ĠActivity ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwindow Ġ= Ġactivity . window ĊĠĠĠĠĠĠĠ Ġval Ġlp Ġ= Ġwindow . attributes ĊĠĠĠĠĠĠĠ Ġreturn Ġlp . screen Brightness ĊĠĠĠ Ġ} Ċ } Ċ