/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠY ar os lav ĠMy tk aly k Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . doctor or . particle sw all paper . user prefs . data Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . SharedPreferences Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . subjects . Async Initial Value Behavior Subject Ċ Ċ const Ġval ĠP REFER ENCES _ NAME _ DEVICE Ġ= Ġ" prefs _ device " Ċ const Ġval ĠKEY _ MULT IS AMP LING _ SUPPORTED _ VALUES Ġ= Ġ" multis ampling _ supported _ values " Ċ const Ġval ĠKEY _ OPEN GL _ ENABLED Ġ= Ġ" opengl _ enabled 2 " Ċ const Ġval ĠKEY _ OPEN GL _ SUPPORTED Ġ= Ġ" opengl _ enabled " Ġ// Ġrenamed , Ġleft Ġvalue Ġfor Ġbackward Ġcompatibility Ċ Ċ private Ġval ĠDEFAULT _ MULT IS AMP LING _ SUPPORTED _ VALUES Ġ= Ġset Of (" 2 ", Ġ" 4 ") Ċ Ċ class ĠDevice Settings ( private Ġval Ġprefs Source : Ġ() Ġ-> ĠSharedPreferences ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmultis ampling Supported Values Subject Ġ= ĊĠĠĠĠĠĠĠ ĠAsync Initial Value Behavior Subject Ġ{ Ġmultis ampling Supported Values Ġ}. to Serialized () ĊĊĠĠĠ Ġprivate Ġval Ġop eng l Enabled Subject Ġ= ĊĠĠĠĠĠĠĠ ĠAsync Initial Value Behavior Subject Ġ{ Ġop eng l Enabled Ġ}. to Serialized () ĊĊĠĠĠ Ġprivate Ġval Ġop eng l Supported Subject Ġ= ĊĠĠĠĠĠĠĠ ĠAsync Initial Value Behavior Subject Ġ{ Ġop eng l Supported Ġ}. to Serialized () ĊĊĠĠĠ Ġfun Ġobserve Mult is ampling Supported Values (): ĠObservable < Set < String >> Ġ= ĊĠĠĠĠĠĠĠ Ġmultis ampling Supported Values Subject ĊĊĠĠĠ Ġfun Ġobserve Op eng l Enabled (): ĠObservable < Boolean > Ġ= ĊĠĠĠĠĠĠĠ Ġop eng l Enabled Subject ĊĊĠĠĠ Ġfun Ġobserve Op eng l Supported (): ĠObservable < Boolean > Ġ= ĊĠĠĠĠĠĠĠ Ġop eng l Supported Subject ĊĊĠĠĠ Ġvar Ġmultis ampling Supported Values : ĠSet < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġprefs Source (). getString Set ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKEY _ MULT IS AMP LING _ SUPPORTED _ VALUES , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDEFAULT _ MULT IS AMP LING _ SUPPORTED _ VALUES ĊĠĠĠĠĠĠĠ Ġ) !! ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprefs Source (). edit (). putString Set ( KEY _ MULT IS AMP LING _ SUPPORTED _ VALUES , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmultis ampling Supported Values Subject . onNext ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġop eng l Enabled : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġprefs Source (). getBoolean ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKEY _ OPEN GL _ ENABLED , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" Apply Shared Pref ") ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠMust Ġcommit Ġbecause Ġafter Ġthis Ġcall Ġapplication Ġwill Ġbe Ġkilled Ġbefore Ġwrite Ġsucceeds ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprefs Source (). edit (). put Boolean ( KEY _ OPEN GL _ ENABLED , Ġvalue ). commit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġop eng l Enabled Subject . onNext ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġop eng l Supported : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġprefs Source (). getBoolean ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKEY _ OPEN GL _ SUPPORTED , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" Apply Shared Pref ") ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠMust Ġcommit Ġbecause Ġafter Ġthis Ġcall Ġapplication Ġwill Ġbe Ġkilled Ġbefore Ġwrite Ġsucceeds ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprefs Source (). edit (). put Boolean ( KEY _ OPEN GL _ SUPPORTED , Ġvalue ). commit () ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ