fix: attachment downloads and uploads

enable multi-threaded attachment handling for messages to speed up download/upload and free up message processing queue.

leaving group removes appropriate entries now in threaddb
This commit is contained in:
jubb
2021-04-27 17:29:37 +10:00
parent d3bd844d82
commit 5d8f036f82
10 changed files with 76 additions and 24 deletions

View File

@@ -580,7 +580,7 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context,
val mmsDb = DatabaseFactory.getMmsDatabase(context)
val cursor = mmsDb.getMessage(mmsId)
val reader = mmsDb.readerFor(cursor)
return reader.current.threadId
return reader.next.threadId
}
override fun getSessionRequestSentTimestamp(publicKey: String): Long? {

View File

@@ -189,6 +189,9 @@ class EnterChatURLFragment : Fragment() {
}
chip.chipIcon = drawable
chip.text = defaultGroup.name
chip.setOnClickListener {
(requireActivity() as JoinPublicChatActivity).joinPublicChatIfPossible(defaultGroup.toJoinUrl())
}
defaultRoomsGridLayout.addView(chip)
}
if (groups.size and 1 != 0) {

View File

@@ -172,6 +172,7 @@ class PublicChatManager(private val context: Context) {
DatabaseFactory.getLokiThreadDatabase(context).removePublicChat(threadID)
pollers.remove(threadID)?.stop()
v2Pollers.remove(threadID)?.stop()
observers.remove(threadID)
startPollersIfNeeded()
}

View File

@@ -89,7 +89,7 @@ class LokiThreadDatabase(context: Context, helper: SQLCipherOpenHelper) : Databa
return null
}
val database = databaseHelper.readableDatabase
return database.get(publicChat, "${Companion.threadID} = ?", arrayOf(threadID.toString())) { cursor ->
return database.get(publicChatTable, "${Companion.threadID} = ?", arrayOf(threadID.toString())) { cursor ->
val json = cursor.getString(publicChat)
OpenGroupV2.fromJson(json)
}