Add call disposition syncing.

This commit is contained in:
Cody Henthorne
2022-12-21 23:56:28 -05:00
committed by Greyson Parrelli
parent d471647e12
commit 06b414f4ef
23 changed files with 788 additions and 76 deletions

View File

@@ -67,6 +67,10 @@ fun <T> Cursor.requireObject(column: String, serializer: StringSerializer<T>): T
return serializer.deserialize(CursorUtil.requireString(this, column))
}
fun <T> Cursor.requireObject(column: String, serializer: IntSerializer<T>): T {
return serializer.deserialize(CursorUtil.requireInt(this, column))
}
@JvmOverloads
fun Cursor.readToSingleLong(defaultValue: Long = 0): Long {
return use {
@@ -78,6 +82,16 @@ fun Cursor.readToSingleLong(defaultValue: Long = 0): Long {
}
}
fun <T> Cursor.readToSingleObject(serializer: Serializer<T, Cursor>): T? {
return use {
if (it.moveToFirst()) {
serializer.deserialize(it)
} else {
null
}
}
}
@JvmOverloads
fun Cursor.readToSingleInt(defaultValue: Int = 0): Int {
return use {

View File

@@ -88,6 +88,10 @@ class SelectBuilderPart2(
return SelectBuilderPart3(db, columns, tableName, where, SqlUtil.buildArgs(*whereArgs))
}
fun where(where: String, whereArgs: Array<String>): SelectBuilderPart3 {
return SelectBuilderPart3(db, columns, tableName, where, whereArgs)
}
fun run(): Cursor {
return db.query(
SupportSQLiteQueryBuilder