Merge branch 'dev' of https://github.com/oxen-io/session-android into ONS-name-1
commit
a66d2c97e0
@ -0,0 +1,44 @@
|
||||
package org.session.libsession.messaging.jobs
|
||||
|
||||
import org.session.libsession.messaging.MessagingModuleConfiguration
|
||||
import org.session.libsession.messaging.utilities.Data
|
||||
import org.session.libsession.utilities.TextSecurePreferences
|
||||
|
||||
class TrimThreadJob(val threadId: Long) : Job {
|
||||
override var delegate: JobDelegate? = null
|
||||
override var id: String? = null
|
||||
override var failureCount: Int = 0
|
||||
|
||||
override val maxFailureCount: Int = 1
|
||||
|
||||
companion object {
|
||||
const val KEY: String = "TrimThreadJob"
|
||||
const val THREAD_ID = "thread_id"
|
||||
}
|
||||
|
||||
override fun execute() {
|
||||
val context = MessagingModuleConfiguration.shared.context
|
||||
val trimmingEnabled = TextSecurePreferences.isThreadLengthTrimmingEnabled(context)
|
||||
val threadLengthLimit = TextSecurePreferences.getThreadTrimLength(context)
|
||||
if (trimmingEnabled) {
|
||||
MessagingModuleConfiguration.shared.storage.trimThread(threadId, threadLengthLimit)
|
||||
}
|
||||
delegate?.handleJobSucceeded(this)
|
||||
}
|
||||
|
||||
override fun serialize(): Data {
|
||||
return Data.Builder()
|
||||
.putLong(THREAD_ID, threadId)
|
||||
.build()
|
||||
}
|
||||
|
||||
override fun getFactoryKey(): String = "TrimThreadJob"
|
||||
|
||||
class Factory : Job.Factory<TrimThreadJob> {
|
||||
|
||||
override fun create(data: Data): TrimThreadJob {
|
||||
return TrimThreadJob(data.getLong(THREAD_ID))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue