package Ġcom . ha om ins . reader . view Models Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . net . Uri Ċ import Ġandroid . util . Log Ċ import Ġandroidx . core . content . File Provider Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . ha om ins . domain . use case . logging . Get Log Files Ċ import Ġcom . ha om ins . reader . utils . Dark Mode Manager Ċ import Ġio . reactivex . ob servers . Disposable Single Observer Ċ import Ġjava . io . File Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠSettings ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġdark Mode Manager : ĠDark Mode Manager , ĊĠĠĠ Ġprivate Ġval Ġget Log Files : ĠGet Log Files , ĊĠĠĠ Ġprivate Ġval Ġapplication : ĠApplication Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Settings ViewModel " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠFE ED BACK _ EMAIL Ġ= Ġ" young mobile ach ie ver @ gmail . com " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠFILE _ PROVIDER _ AUTH Ġ= Ġ" com . ha om ins . file provider " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġenable Dark Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġdark Mode Manager . enable Dark Mode () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Feedback Email (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFE ED BACK _ EMAIL ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdisable Dark Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġdark Mode Manager . disable Dark Mode () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Dark Mode Enabled (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdark Mode Manager . check Is Current Dark Mode Enabled () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget LogFile Then Do ( action : Ġ( file Uri : ĠUri ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Log Files . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠDis posable Single Observer < File >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( t : ĠFile ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" getLog Files Ġ:: ĠonSuccess ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction . invoke ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile Provider . get Uri For File ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFILE _ PROVIDER _ AUTH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ"${ e . printStackTrace () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ }