@ -3,12 +3,19 @@ package org.thoughtcrime.securesms.notifications
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import androidx.work.*
import androidx.work.Constraints
import androidx.work.ExistingPeriodicWorkPolicy
import androidx.work.NetworkType
import androidx.work.PeriodicWorkRequestBuilder
import androidx.work.WorkManager
import androidx.work.Worker
import androidx.work.WorkerParameters
import nl.komponents.kovenant.Promise
import nl.komponents.kovenant.all
import nl.komponents.kovenant.functional.map
import nl.komponents.kovenant.functional. bind
import org.session.libsession.messaging.MessagingModuleConfiguration
import org.session.libsession.messaging.jobs.MessageReceiveJob
import org.session.libsession.messaging.jobs.BatchMessageReceiveJob
import org.session.libsession.messaging.jobs.MessageReceiveParameters
import org.session.libsession.messaging.sending_receiving.pollers.ClosedGroupPollerV2
import org.session.libsession.messaging.sending_receiving.pollers.OpenGroupPollerV2
import org.session.libsession.snode.SnodeAPI
@ -48,13 +55,14 @@ class BackgroundPollWorker(val context: Context, params: WorkerParameters) : Wor
// DMs
val userPublicKey = TextSecurePreferences . getLocalNumber ( context ) !!
val dmsPromise = SnodeAPI . getMessages ( userPublicKey ) . map { envelopes ->
envelopes . map { ( envelope , serverHash ) ->
val dmsPromise = SnodeAPI . getMessages ( userPublicKey ) . bind { envelopes ->
val params = envelopes . map { ( envelope , serverHash ) ->
// FIXME: Using a job here seems like a bad idea...
MessageReceive Job ( envelope . toByteArray ( ) , serverHash ). executeAsync ( )
MessageReceive Parameters ( envelope . toByteArray ( ) , serverHash , null )
}
BatchMessageReceiveJob ( params ) . executeAsync ( )
}
promises . add All ( dmsPromise . get ( ) )
promises . add ( dmsPromise )
// Closed groups
val closedGroupPoller = ClosedGroupPollerV2 ( ) // Intentionally don't use shared