package Ġarch tree . helper Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . accessibility . Accessibility Manager Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ Ċ class ĠAccessibility Helper ( private Ġval Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOb serve Ġ[ Accessibility Manager . isEnabled ] Ġfor Ġany Ġstate Ġchanges . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠLive Data Ġobject Ġthat Ġwill Ġindicate Ġif Ġ[ Accessibility Manager . isEnabled ] Ġis Ġenabled Ġor ĊĠĠĠĠ Ġ* Ġnot . ĠTrue Ġmeans Ġthat Ġthe ĠAccessibility Manager Ġis Ġenabled , Ġfalse Ġotherwise . ĊĠĠĠĠ Ġ* Ġ@ see ĠAccessibility Manager . isEnabled ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġobserve For Accessibility Changes (): ĠLive Data < Boolean > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġam Ġ= Ġcontext . getSystem Service ( Context . ACC ES SI B ILITY _ SERVICE ) Ġas ? ĠAccessibility Manager ? ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= ĠMutable LiveData < Boolean >() ĊĊĠĠĠĠĠĠĠ Ġam ?. add Accessibility State ChangeListener Ġ{ Ġsource . value Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġsource . value Ġ= Ġam ?. isEnabled Ġ?: Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsource ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġcurrent ĠAccessibility Manager Ġstate . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġthe ĠAccessibility Manager Ġis Ġenabled , Ġfalse Ġotherwise . ĊĠĠĠĠ Ġ* Ġ@ see ĠAccessibility Manager . isEnabled ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Access ib l ity Enabled (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġam Ġ= Ġcontext . getSystem Service ( Context . ACC ES SI B ILITY _ SERVICE ) Ġas ? ĠAccessibility Manager ? ĊĠĠĠĠĠĠĠ Ġreturn Ġam ?. isEnabled Ġ?: Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOb serve Ġthe ĠAccessibility Manager Ġfor Ġany Ġ[ Accessibility Manager . is Touch Ex ploration Enabled ] ĊĠĠĠĠ Ġ* Ġstate Ġchanges . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠLive Data Ġobject Ġthat Ġwill Ġindicate Ġif Ġthe ĊĠĠĠĠ Ġ* Ġ[ Accessibility Manager . is Touch Ex ploration Enabled ] Ġis Ġenabled Ġor Ġnot . ĠTrue Ġmeans Ġit Ġis Ġenabled , ĊĠĠĠĠ Ġ* Ġfalse Ġotherwise . ĊĠĠĠĠ Ġ* Ġ@ see ĠAccessibility Manager . is Touch Ex ploration Enabled ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . KIT K AT ) ĊĠĠĠ Ġfun Ġobserve For Touch Ex ploration Changes (): ĠLive Data < Boolean > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġam Ġ= Ġcontext . getSystem Service ( Context . ACC ES SI B ILITY _ SERVICE ) Ġas ? ĠAccessibility Manager ? ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= ĠMutable LiveData < Boolean >() ĊĊĠĠĠĠĠĠĠ Ġam ?. add Touch Ex ploration State ChangeListener Ġ{ Ġsource . value Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġsource . value Ġ= Ġam ?. is Touch Ex ploration Enabled Ġ?: Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsource ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġcurrent Ġ[ Accessibility Manager . is Touch Ex ploration Enabled ] Ġstate . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif ĠAccessibility Manager . is Touch Ex ploration Enabled Ġis Ġenabled , Ġfalse Ġotherwise . ĊĠĠĠĠ Ġ* Ġ@ see ĠAccessibility Manager . is Touch Ex ploration Enabled ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Touch Ex ploration Enabled (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġam Ġ= Ġcontext . getSystem Service ( Context . ACC ES SI B ILITY _ SERVICE ) Ġas ? ĠAccessibility Manager ? ĊĠĠĠĠĠĠĠ Ġreturn Ġam ?. is Touch Ex ploration Enabled Ġ?: Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġ[ Accessibility Manager ] Ġinstance . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Accessibility Manager ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Accessibility Manager (): ĠAccessibility Manager ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . getSystem Service ( Context . ACC ES SI B ILITY _ SERVICE ) Ġas ? ĠAccessibility Manager ? ĊĠĠĠ Ġ} Ċ }