Repositories.kt (999B) - raw
1 package me.rhunk.snapenhance.storage 2 3 import android.content.ContentValues 4 import kotlinx.coroutines.asCoroutineDispatcher 5 import kotlinx.coroutines.runBlocking 6 import me.rhunk.snapenhance.common.util.ktx.getStringOrNull 7 8 9 fun AppDatabase.getRepositories(): List<String> { 10 return runBlocking(executor.asCoroutineDispatcher()) { 11 database.rawQuery("SELECT url FROM repositories", null).use { cursor -> 12 val repos = mutableListOf<String>() 13 while (cursor.moveToNext()) { 14 repos.add(cursor.getStringOrNull("url") ?: continue) 15 } 16 repos 17 } 18 } 19 } 20 21 fun AppDatabase.removeRepo(url: String) { 22 runBlocking(executor.asCoroutineDispatcher()) { 23 database.delete("repositories", "url = ?", arrayOf(url)) 24 } 25 } 26 27 fun AppDatabase.addRepo(url: String) { 28 runBlocking(executor.asCoroutineDispatcher()) { 29 database.insert("repositories", null, ContentValues().apply { 30 put("url", url) 31 }) 32 } 33 } 34