diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/OptimizeMessageSearchIndexJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/OptimizeMessageSearchIndexJob.kt index b970a9426..e3050dfba 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/OptimizeMessageSearchIndexJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/OptimizeMessageSearchIndexJob.kt @@ -1,9 +1,11 @@ package org.thoughtcrime.securesms.jobs +import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.database.SignalDatabase import org.thoughtcrime.securesms.dependencies.ApplicationDependencies import org.thoughtcrime.securesms.jobmanager.Data import org.thoughtcrime.securesms.jobmanager.Job +import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.transport.RetryLaterException import java.lang.Exception import kotlin.time.Duration.Companion.seconds @@ -16,6 +18,8 @@ class OptimizeMessageSearchIndexJob private constructor(parameters: Parameters) companion object { const val KEY = "OptimizeMessageSearchIndexJob" + private val TAG = Log.tag(OptimizeMessageSearchIndexJob::class.java) + @JvmStatic fun enqueue() { ApplicationDependencies.getJobManager().add(OptimizeMessageSearchIndexJob()) @@ -37,6 +41,11 @@ class OptimizeMessageSearchIndexJob private constructor(parameters: Parameters) override fun getNextRunAttemptBackoff(pastAttemptCount: Int, exception: Exception): Long = 30.seconds.inWholeMilliseconds override fun onRun() { + if (!SignalStore.registrationValues().isRegistrationComplete || SignalStore.account().aci == null) { + Log.w(TAG, "Registration not finished yet! Skipping.") + return + } + val success = SignalDatabase.messageSearch.optimizeIndex(5.seconds.inWholeMilliseconds) if (!success) {