package Ġcom . af z aln . aw ake debug Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . af z aln . aw ake debug . data . Prefs Ċ import Ġcom . af z aln . aw ake debug . data . System Settings Ċ import Ġtim ber . log . Tim ber Ċ Ċ /** Ċ Ġ* ĠResp ons ible Ġfor Ġholding Ġvisible Ġdebug Ġnotifications Ċ Ġ* Ġand Ġto g gling Ġthe Ġscreen Ġtimeout Ġbased Ġon Ċ Ġ* Ġactive Ġnotifications Ġand Ġuser Ġsettings . Ċ Ġ*/ Ċ class ĠToggle Controller ( ĊĠĠĠ Ġprivate Ġval Ġprefs : ĠP refs Ġ= ĠInject or . prefs , ĊĠĠĠ Ġprivate Ġval Ġsystem Settings : ĠSystem Settings Ġ= ĠInject or . system Settings Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġ_ visible Debug Notifications : ĠMutable LiveData < List < Debugging Type >> Ġ= ĠMutable LiveData ( listOf ()) ĊĠĠĠ Ġval Ġvisible Debug Notifications : ĠLive Data < List < Debugging Type >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ visible Debug Notifications ĊĊĠĠĠ Ġfun Ġtoggle From Notification ( visible Debug Notifications : ĠList < Debugging Type >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ visible Debug Notifications . value Ġ= Ġvisible Debug Notifications ĊĠĠĠĠĠĠĠ Ġtoggle ( prefs . aw ake Debug ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠExt ends Ġor ĠRest ores Ġsystem Ġscreen Ġtimeout Ġbased ĊĠĠĠĠ Ġ* Ġon Ġthe Ġnotifications , Ġthe Ġaw ake Ġdebug Ġtoggle , ĊĠĠĠĠ Ġ* Ġand Ġthe Ġcurrent Ġstate Ġof Ġaw ake Ġdebug . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġtoggle ( should Enable : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprefs . aw ake Debug Ġ= Ġshould Enable ĊĠĠĠĠĠĠĠ Ġval Ġenabled Debug Notifications Exist Ġ= Ġvisible Debug Notifications . value ?. any Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġin Ġprefs . enabled Debugging Types ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ( should Enable Ġ&& Ġenabled Debug Notifications Exist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! prefs . aw ake Debug Active ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Debugging Ġenabled ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Settings . extend Screen Timeout () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefs . aw ake Debug Active Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( prefs . aw ake Debug Active ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Debugging Ġdisabled ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Settings . restore Screen Timeout () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefs . aw ake Debug Active Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠDebug ging Type Ġ{ ĊĠĠĠ ĠUSB , ĠW IFI , ĠNONE ; ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġusb Wifi Types : ĠList < Debugging Type > Ġ= ĠlistOf ( USB , ĠW IFI ) ĊĠĠĠ Ġ} Ċ } Ċ