(cherry picked from commit 7ed2e73a91)
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
This commit is contained in:
parent
cfb09ce7d7
commit
ec2aeca0d0
1 changed files with 54 additions and 33 deletions
|
|
@ -20,13 +20,18 @@ class DatabaseHelper {
|
||||||
|
|
||||||
val onlyServerUrl: String?
|
val onlyServerUrl: String?
|
||||||
get() {
|
get() {
|
||||||
val query = "SELECT url FROM Servers WHERE last_active_at != 0 AND identifier != ''"
|
try {
|
||||||
val cursor = defaultDatabase!!.rawQuery(query)
|
val query = "SELECT url FROM Servers WHERE last_active_at != 0 AND identifier != ''"
|
||||||
if (cursor.count == 1) {
|
val cursor = defaultDatabase!!.rawQuery(query)
|
||||||
cursor.moveToFirst()
|
if (cursor.count == 1) {
|
||||||
val url = cursor.getString(0)
|
cursor.moveToFirst()
|
||||||
cursor.close()
|
val url = cursor.getString(0)
|
||||||
return url
|
cursor.close()
|
||||||
|
return url
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
|
// let it fall to return null
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
@ -38,14 +43,19 @@ class DatabaseHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getServerUrlForIdentifier(identifier: String): String? {
|
fun getServerUrlForIdentifier(identifier: String): String? {
|
||||||
val args: Array<Any?> = arrayOf(identifier)
|
try {
|
||||||
val query = "SELECT url FROM Servers WHERE identifier=?"
|
val args: Array<Any?> = arrayOf(identifier)
|
||||||
val cursor = defaultDatabase!!.rawQuery(query, args)
|
val query = "SELECT url FROM Servers WHERE identifier=?"
|
||||||
if (cursor.count == 1) {
|
val cursor = defaultDatabase!!.rawQuery(query, args)
|
||||||
cursor.moveToFirst()
|
if (cursor.count == 1) {
|
||||||
val url = cursor.getString(0)
|
cursor.moveToFirst()
|
||||||
cursor.close()
|
val url = cursor.getString(0)
|
||||||
return url
|
cursor.close()
|
||||||
|
return url
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
|
// let it fall to return null
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
@ -63,19 +73,25 @@ class DatabaseHelper {
|
||||||
return resultMap
|
return resultMap
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getDatabaseForServer(context: Context?, serverUrl: String): Database? {
|
fun getDatabaseForServer(context: Context?, serverUrl: String): Database? {
|
||||||
val args: Array<Any?> = arrayOf(serverUrl)
|
try {
|
||||||
val query = "SELECT db_path FROM Servers WHERE url=?"
|
val args: Array<Any?> = arrayOf(serverUrl)
|
||||||
val cursor = defaultDatabase!!.rawQuery(query, args)
|
val query = "SELECT db_path FROM Servers WHERE url=?"
|
||||||
if (cursor.count == 1) {
|
val cursor = defaultDatabase!!.rawQuery(query, args)
|
||||||
cursor.moveToFirst()
|
if (cursor.count == 1) {
|
||||||
val databasePath = cursor.getString(0)
|
cursor.moveToFirst()
|
||||||
cursor.close()
|
val databasePath = cursor.getString(0)
|
||||||
return Database(databasePath, context!!)
|
cursor.close()
|
||||||
|
return Database(databasePath, context!!)
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
|
// let it fall to return null
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
@ -148,18 +164,23 @@ class DatabaseHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun queryPostSinceForChannel(db: Database?, channelId: String): Double? {
|
fun queryPostSinceForChannel(db: Database?, channelId: String): Double? {
|
||||||
if (db != null) {
|
try {
|
||||||
val postsInChannelQuery = "SELECT last_fetched_at FROM MyChannel WHERE id=? LIMIT 1"
|
if (db != null) {
|
||||||
val cursor1 = db.rawQuery(postsInChannelQuery, arrayOf(channelId))
|
val postsInChannelQuery = "SELECT last_fetched_at FROM MyChannel WHERE id=? LIMIT 1"
|
||||||
if (cursor1.count == 1) {
|
val cursor1 = db.rawQuery(postsInChannelQuery, arrayOf(channelId))
|
||||||
cursor1.moveToFirst()
|
if (cursor1.count == 1) {
|
||||||
val lastFetchedAt = cursor1.getDouble(0)
|
cursor1.moveToFirst()
|
||||||
cursor1.close()
|
val lastFetchedAt = cursor1.getDouble(0)
|
||||||
if (lastFetchedAt == 0.0) {
|
cursor1.close()
|
||||||
return queryLastPostCreateAt(db, channelId)
|
if (lastFetchedAt == 0.0) {
|
||||||
|
return queryLastPostCreateAt(db, channelId)
|
||||||
|
}
|
||||||
|
return lastFetchedAt
|
||||||
}
|
}
|
||||||
return lastFetchedAt
|
|
||||||
}
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
|
// let it fall to return null
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue