/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 . android . tools . idea . sqlite Ċ Ċ import Ġcom . android . flags . Flag Ċ import Ġcom . android . tools . idea . flags . Studio Flags . DATABASE _ INS PECT OR _ ENABLED Ċ import Ġcom . android . tools . idea . flags . Studio Flags . DATABASE _ INS PECT OR _ EXPORT _ TO _ FILE _ ENABLED Ċ import Ġcom . android . tools . idea . flags . Studio Flags . DATABASE _ INS PECT OR _ OFF LINE _ MODE _ ENABLED Ċ import Ġcom . android . tools . idea . flags . Studio Flags . DATABASE _ INS PECT OR _ OPEN _ FILES _ ENABLED Ċ import Ġorg . jetbrains . annotations . Test Only Ċ Ċ /** Ċ Ġ* ĠSimple Ġabstraction Ġover Ġenabled / dis abling Ġthe ĠDatabase ĠIns pector Ġfeature . Ċ Ġ*/ Ċ object ĠDatabase Inspector Flag Controller Ġ{ ĊĠ Ġval Ġis Feature Enabled Ġget () Ġ= ĠDATABASE _ INS PECT OR _ ENABLED . get () ĊĠ Ġval ĠisOpen File Enabled Ġget () Ġ= ĠDATABASE _ INS PECT OR _ ENABLED . get () Ġ&& ĠDATABASE _ INS PECT OR _ OPEN _ FILES _ ENABLED . get () ĊĠ Ġval Ġis Offline Mode Enabled Ġget () Ġ= ĠDATABASE _ INS PECT OR _ ENABLED . get () Ġ&& ĠDATABASE _ INS PECT OR _ OFF LINE _ MODE _ ENABLED . get () ĊĠ Ġval Ġis Export ToFile Enabled Ġget () Ġ= ĠDATABASE _ INS PECT OR _ ENABLED . get () Ġ&& ĠDATABASE _ INS PECT OR _ EXPORT _ TO _ FILE _ ENABLED . get () ĊĊĠ Ġ@ Test Only ĊĠ Ġfun Ġenable Feature ( enabled : ĠBoolean ): ĠBoolean Ġ= Ġset Flag State ( DATABASE _ INS PECT OR _ ENABLED , Ġenabled ) ĊĊĠ Ġ@ Test Only ĊĠ Ġfun Ġenable Open File ( enabled : ĠBoolean ): ĠBoolean Ġ= Ġset Flag State ( DATABASE _ INS PECT OR _ OPEN _ FILES _ ENABLED , Ġenabled ) ĊĊĠ Ġ@ Test Only ĊĠ Ġfun Ġenable Offline Mode ( enabled : ĠBoolean ): ĠBoolean Ġ= Ġset Flag State ( DATABASE _ INS PECT OR _ OFF LINE _ MODE _ ENABLED , Ġenabled ) ĊĊĠ Ġ@ Test Only ĊĠ Ġfun Ġenable Export ToFile ( enabled : ĠBoolean ): ĠBoolean Ġ= Ġset Flag State ( DATABASE _ INS PECT OR _ EXPORT _ TO _ FILE _ ENABLED , Ġenabled ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠClear s Ġan Ġexisting Ġflag Ġoverrides , Ġand Ġif Ġthe Ġflag Ġvalue Ġafterwards Ġis Ġnot Ġequal Ġto Ġ[ desired State ], ĊĠĠ Ġ* Ġthe Ġmethod Ġsets Ġan Ġoverride Ġto Ġthe Ġ[ desired State ]. ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ return Ġprevious Ġvalue Ġof Ġthe Ġflag Ġ( before Ġoverrides Ġare Ġcleared ) ĊĠĠ Ġ*/ ĊĠ Ġ@ Test Only ĊĠ Ġprivate Ġfun Ġset Flag State ( flag : ĠFlag < Boolean >, Ġdesired State : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġprevious Ġ= Ġflag . get () ĊĠĠĠ Ġflag . clear Override () Ġ// Ġclears Ġall Ġexisting Ġoverrides ĊĠĠĠ Ġif Ġ( desired State Ġ!= Ġflag . get ()) Ġflag . override ( desired State ) ĊĠĠĠ Ġreturn Ġprevious ; ĊĠ Ġ} Ċ }