mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-17 13:48:26 +00:00
Fix merge
This commit is contained in:
parent
ba116df195
commit
5d9957a57d
@ -188,7 +188,7 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context,
|
|||||||
return DatabaseFactory.getSessionJobDatabase(context).getMessageSendJob(messageSendJobID)
|
return DatabaseFactory.getSessionJobDatabase(context).getMessageSendJob(messageSendJobID)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getMessageReceivedJob(messageReceiveJobID: String): MessageReceiveJob? {
|
override fun getMessageReceiveJob(messageReceiveJobID: String): MessageReceiveJob? {
|
||||||
return DatabaseFactory.getSessionJobDatabase(context).getMessageReceiveJob(messageReceiveJobID)
|
return DatabaseFactory.getSessionJobDatabase(context).getMessageReceiveJob(messageReceiveJobID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,13 +23,13 @@ object OpenGroupManager {
|
|||||||
val isAllCaughtUp: Boolean
|
val isAllCaughtUp: Boolean
|
||||||
get() {
|
get() {
|
||||||
pollers.values.forEach { poller ->
|
pollers.values.forEach { poller ->
|
||||||
val jobID = poller.secondLastJob?.id
|
val jobID = poller.secondToLastJob?.id
|
||||||
jobID?.let {
|
jobID?.let {
|
||||||
val storage = MessagingModuleConfiguration.shared.storage
|
val storage = MessagingModuleConfiguration.shared.storage
|
||||||
if (storage.getMessageReceivedJob(jobID) == null) {
|
if (storage.getMessageReceiveJob(jobID) == null) {
|
||||||
// If the second last job is done, it means we are now handling the last job
|
// If the second to last job is done, it means we are now handling the last job
|
||||||
poller.isCaughtUp = true
|
poller.isCaughtUp = true
|
||||||
poller.secondLastJob = null
|
poller.secondToLastJob = null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!poller.isCaughtUp) { return false }
|
if (!poller.isCaughtUp) { return false }
|
||||||
|
@ -67,8 +67,6 @@ public class OptimizedMessageNotifier implements MessageNotifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
isCaughtUp = isCaughtUp && OpenGroupManager.INSTANCE.isAllCaughtUp();
|
isCaughtUp = isCaughtUp && OpenGroupManager.INSTANCE.isAllCaughtUp();
|
||||||
|
|
||||||
Log.d("Ryan", "Is caught up? " + isCaughtUp);
|
|
||||||
|
|
||||||
if (isCaughtUp) {
|
if (isCaughtUp) {
|
||||||
performOnBackgroundThreadIfNeeded(() -> wrapped.updateNotification(context, threadId));
|
performOnBackgroundThreadIfNeeded(() -> wrapped.updateNotification(context, threadId));
|
||||||
|
@ -44,7 +44,7 @@ interface StorageProtocol {
|
|||||||
fun getAllPendingJobs(type: String): Map<String,Job?>
|
fun getAllPendingJobs(type: String): Map<String,Job?>
|
||||||
fun getAttachmentUploadJob(attachmentID: Long): AttachmentUploadJob?
|
fun getAttachmentUploadJob(attachmentID: Long): AttachmentUploadJob?
|
||||||
fun getMessageSendJob(messageSendJobID: String): MessageSendJob?
|
fun getMessageSendJob(messageSendJobID: String): MessageSendJob?
|
||||||
fun getMessageReceivedJob(messageReceiveJobID: String): MessageReceiveJob?
|
fun getMessageReceiveJob(messageReceiveJobID: String): MessageReceiveJob?
|
||||||
fun resumeMessageSendJobIfNeeded(messageSendJobID: String)
|
fun resumeMessageSendJobIfNeeded(messageSendJobID: String)
|
||||||
fun isJobCanceled(job: Job): Boolean
|
fun isJobCanceled(job: Job): Boolean
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit
|
|||||||
class OpenGroupPollerV2(private val server: String, private val executorService: ScheduledExecutorService?) {
|
class OpenGroupPollerV2(private val server: String, private val executorService: ScheduledExecutorService?) {
|
||||||
var hasStarted = false
|
var hasStarted = false
|
||||||
var isCaughtUp = false
|
var isCaughtUp = false
|
||||||
var secondLastJob: MessageReceiveJob? = null
|
var secondToLastJob: MessageReceiveJob? = null
|
||||||
private var future: ScheduledFuture<*>? = null
|
private var future: ScheduledFuture<*>? = null
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@ -46,7 +46,7 @@ class OpenGroupPollerV2(private val server: String, private val executorService:
|
|||||||
val openGroupID = "$server.$room"
|
val openGroupID = "$server.$room"
|
||||||
handleNewMessages(openGroupID, response.messages, isBackgroundPoll)
|
handleNewMessages(openGroupID, response.messages, isBackgroundPoll)
|
||||||
handleDeletedMessages(openGroupID, response.deletions)
|
handleDeletedMessages(openGroupID, response.deletions)
|
||||||
if (secondLastJob == null && !isCaughtUp) {
|
if (secondToLastJob == null && !isCaughtUp) {
|
||||||
isCaughtUp = true
|
isCaughtUp = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -74,7 +74,7 @@ class OpenGroupPollerV2(private val server: String, private val executorService:
|
|||||||
} else {
|
} else {
|
||||||
JobQueue.shared.add(job)
|
JobQueue.shared.add(job)
|
||||||
if (!isCaughtUp) {
|
if (!isCaughtUp) {
|
||||||
secondLastJob = latestJob
|
secondToLastJob = latestJob
|
||||||
}
|
}
|
||||||
latestJob = job
|
latestJob = job
|
||||||
}
|
}
|
||||||
@ -82,7 +82,6 @@ class OpenGroupPollerV2(private val server: String, private val executorService:
|
|||||||
Log.e("Loki", "Exception parsing message", e)
|
Log.e("Loki", "Exception parsing message", e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Log.d("Ryan", "Finish a round of polling in thread $openGroupID")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun handleDeletedMessages(openGroupID: String, deletedMessageServerIDs: List<Long>) {
|
private fun handleDeletedMessages(openGroupID: String, deletedMessageServerIDs: List<Long>) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user