Scripting.kt (722B) - raw


      1 package me.rhunk.snapenhance.storage
      2 
      3 import kotlinx.coroutines.asCoroutineDispatcher
      4 import kotlinx.coroutines.runBlocking
      5 
      6 
      7 fun AppDatabase.setScriptEnabled(name: String, enabled: Boolean) {
      8     executeAsync {
      9         if (enabled) {
     10             database.execSQL("INSERT OR REPLACE INTO enabled_scripts (name) VALUES (?)", arrayOf(name))
     11         } else {
     12             database.execSQL("DELETE FROM enabled_scripts WHERE name = ?", arrayOf(name))
     13         }
     14     }
     15 }
     16 
     17 fun AppDatabase.isScriptEnabled(name: String): Boolean {
     18     return runBlocking(executor.asCoroutineDispatcher()) {
     19         database.rawQuery("SELECT * FROM enabled_scripts WHERE name = ?", arrayOf(name)).use {
     20             it.moveToNext()
     21         }
     22     }
     23 }