mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 02:10:44 +01:00
Store Job data as bytes.
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
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.jobs.StorageSyncJob;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
@@ -57,7 +57,7 @@ public class AccountRecordMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<AccountRecordMigrationJob> {
|
||||
@Override
|
||||
public @NonNull AccountRecordMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull AccountRecordMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new AccountRecordMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.google.protobuf.InvalidProtocolBufferException;
|
||||
|
||||
@@ -8,7 +9,6 @@ import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.database.RecipientTable;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.database.model.RecipientRecord;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
@@ -86,7 +86,7 @@ public class ApplyUnknownFieldsToSelfMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<ApplyUnknownFieldsToSelfMigrationJob> {
|
||||
@Override
|
||||
public @NonNull ApplyUnknownFieldsToSelfMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull ApplyUnknownFieldsToSelfMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new ApplyUnknownFieldsToSelfMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
|
||||
/**
|
||||
@@ -47,7 +47,7 @@ public class AttachmentCleanupMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<AttachmentCleanupMigrationJob> {
|
||||
@Override
|
||||
public @NonNull AttachmentCleanupMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull AttachmentCleanupMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new AttachmentCleanupMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobs.RefreshAttributesJob;
|
||||
import org.thoughtcrime.securesms.jobs.RefreshOwnProfileJob;
|
||||
@@ -51,7 +51,7 @@ public final class AttributesMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<AttributesMigrationJob> {
|
||||
@Override
|
||||
public @NonNull AttributesMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull AttributesMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new AttributesMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobs.RefreshOwnProfileJob;
|
||||
|
||||
@@ -48,7 +48,7 @@ public class AvatarIdRemovalMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<AvatarIdRemovalMigrationJob> {
|
||||
@Override
|
||||
public @NonNull AvatarIdRemovalMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull AvatarIdRemovalMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new AvatarIdRemovalMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.StreamUtil;
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.groups.GroupId;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.phonenumbers.NumberUtil;
|
||||
import org.thoughtcrime.securesms.profiles.AvatarHelper;
|
||||
@@ -88,7 +88,7 @@ public class AvatarMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<AvatarMigrationJob> {
|
||||
@Override
|
||||
public @NonNull AvatarMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull AvatarMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new AvatarMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@ package org.thoughtcrime.securesms.migrations;
|
||||
import android.os.Build;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.backup.BackupFileIOError;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.util.BackupUtil;
|
||||
@@ -61,7 +61,7 @@ public final class BackupNotificationMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<BackupNotificationMigrationJob> {
|
||||
@Override
|
||||
public @NonNull BackupNotificationMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull BackupNotificationMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new BackupNotificationMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@ package org.thoughtcrime.securesms.migrations;
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
|
||||
import java.io.File;
|
||||
@@ -70,7 +70,7 @@ public class BlobStorageLocationMigrationJob extends MigrationJob {
|
||||
public static class Factory implements Job.Factory<BlobStorageLocationMigrationJob> {
|
||||
|
||||
@Override
|
||||
public @NonNull BlobStorageLocationMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull BlobStorageLocationMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new BlobStorageLocationMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.mms.GlideApp;
|
||||
import org.thoughtcrime.securesms.util.FileUtils;
|
||||
@@ -54,7 +54,7 @@ public class CachedAttachmentsMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<CachedAttachmentsMigrationJob> {
|
||||
@Override
|
||||
public @NonNull CachedAttachmentsMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull CachedAttachmentsMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new CachedAttachmentsMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.migrations
|
||||
|
||||
import com.bumptech.glide.Glide
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.jobmanager.Data
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
|
||||
/**
|
||||
@@ -28,7 +27,7 @@ internal class ClearGlideCacheMigrationJob(
|
||||
override fun shouldRetry(e: Exception): Boolean = false
|
||||
|
||||
class Factory : Job.Factory<ClearGlideCacheMigrationJob> {
|
||||
override fun create(parameters: Parameters, data: Data): ClearGlideCacheMigrationJob {
|
||||
override fun create(parameters: Parameters, serializedData: ByteArray?): ClearGlideCacheMigrationJob {
|
||||
return ClearGlideCacheMigrationJob(parameters)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
|
||||
/**
|
||||
@@ -44,7 +44,7 @@ public class DatabaseMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<DatabaseMigrationJob> {
|
||||
@Override
|
||||
public @NonNull DatabaseMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull DatabaseMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new DatabaseMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.migrations
|
||||
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.jobmanager.Data
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
import org.thoughtcrime.securesms.jobs.PushDecryptDrainedJob
|
||||
|
||||
@@ -29,7 +28,7 @@ internal class DecryptionsDrainedMigrationJob(
|
||||
override fun shouldRetry(e: Exception): Boolean = false
|
||||
|
||||
class Factory : Job.Factory<DecryptionsDrainedMigrationJob> {
|
||||
override fun create(parameters: Parameters, data: Data): DecryptionsDrainedMigrationJob {
|
||||
override fun create(parameters: Parameters, serializedData: ByteArray?): DecryptionsDrainedMigrationJob {
|
||||
return DecryptionsDrainedMigrationJob(parameters)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
|
||||
import java.io.File;
|
||||
@@ -65,7 +65,7 @@ public class DeleteDeprecatedLogsMigrationJob extends MigrationJob {
|
||||
|
||||
public static final class Factory implements Job.Factory<DeleteDeprecatedLogsMigrationJob> {
|
||||
@Override
|
||||
public @NonNull DeleteDeprecatedLogsMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull DeleteDeprecatedLogsMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new DeleteDeprecatedLogsMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.contacts.sync.ContactDiscovery;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
|
||||
@@ -57,7 +57,7 @@ public final class DirectoryRefreshMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<DirectoryRefreshMigrationJob> {
|
||||
@Override
|
||||
public @NonNull DirectoryRefreshMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull DirectoryRefreshMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new DirectoryRefreshMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobs.DownloadLatestEmojiDataJob;
|
||||
import org.thoughtcrime.securesms.jobs.EmojiSearchIndexDownloadJob;
|
||||
@@ -46,7 +46,7 @@ public final class EmojiDownloadMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<EmojiDownloadMigrationJob> {
|
||||
@Override
|
||||
public @NonNull EmojiDownloadMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull EmojiDownloadMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new EmojiDownloadMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobs.KbsEnclaveMigrationWorkerJob;
|
||||
|
||||
@@ -46,7 +46,7 @@ public class KbsEnclaveMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<KbsEnclaveMigrationJob> {
|
||||
@Override
|
||||
public @NonNull KbsEnclaveMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull KbsEnclaveMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new KbsEnclaveMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.migrations;
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
@@ -15,7 +16,6 @@ import org.thoughtcrime.securesms.database.PushTable;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobmanager.JobManager;
|
||||
import org.thoughtcrime.securesms.jobs.AttachmentDownloadJob;
|
||||
@@ -282,7 +282,7 @@ public class LegacyMigrationJob extends MigrationJob {
|
||||
|
||||
public static final class Factory implements Job.Factory<LegacyMigrationJob> {
|
||||
@Override
|
||||
public @NonNull LegacyMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull LegacyMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new LegacyMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.JsonJobData;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobs.BaseJob;
|
||||
|
||||
@@ -38,8 +39,8 @@ public class MigrationCompleteJob extends BaseJob {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull Data serialize() {
|
||||
return new Data.Builder().putInt(KEY_VERSION, version).build();
|
||||
public @Nullable byte[] serialize() {
|
||||
return new JsonJobData.Builder().putInt(KEY_VERSION, version).serialize();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -64,7 +65,8 @@ public class MigrationCompleteJob extends BaseJob {
|
||||
|
||||
public static class Factory implements Job.Factory<MigrationCompleteJob> {
|
||||
@Override
|
||||
public @NonNull MigrationCompleteJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull MigrationCompleteJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
JsonJobData data = JsonJobData.deserialize(serializedData);
|
||||
return new MigrationCompleteJob(parameters, data.getInt(KEY_VERSION));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.JsonJobData;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobmanager.JobLogger;
|
||||
import org.thoughtcrime.securesms.jobmanager.impl.BackoffUtil;
|
||||
@@ -31,8 +32,8 @@ abstract class MigrationJob extends Job {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull Data serialize() {
|
||||
return Data.EMPTY;
|
||||
public @Nullable byte[] serialize() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package org.thoughtcrime.securesms.migrations
|
||||
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.jobmanager.Data
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
import org.thoughtcrime.securesms.jobs.OptimizeMessageSearchIndexJob
|
||||
|
||||
@@ -28,7 +27,7 @@ internal class OptimizeMessageSearchIndexMigrationJob(
|
||||
override fun shouldRetry(e: Exception): Boolean = false
|
||||
|
||||
class Factory : Job.Factory<OptimizeMessageSearchIndexMigrationJob> {
|
||||
override fun create(parameters: Parameters, data: Data): OptimizeMessageSearchIndexMigrationJob {
|
||||
override fun create(parameters: Parameters, serializedData: ByteArray?): OptimizeMessageSearchIndexMigrationJob {
|
||||
return OptimizeMessageSearchIndexMigrationJob(parameters)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
|
||||
/**
|
||||
@@ -39,7 +39,7 @@ public final class PassingMigrationJob extends MigrationJob {
|
||||
|
||||
public static final class Factory implements Job.Factory<PassingMigrationJob> {
|
||||
@Override
|
||||
public @NonNull PassingMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull PassingMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new PassingMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobs.RefreshAttributesJob;
|
||||
import org.thoughtcrime.securesms.jobs.RefreshOwnProfileJob;
|
||||
@@ -64,7 +64,7 @@ public final class PinOptOutMigration extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<PinOptOutMigration> {
|
||||
@Override
|
||||
public @NonNull PinOptOutMigration create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull PinOptOutMigration create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new PinOptOutMigration(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
|
||||
@@ -43,7 +43,7 @@ public class PinReminderMigrationJob extends MigrationJob {
|
||||
public static class Factory implements Job.Factory<PinReminderMigrationJob> {
|
||||
|
||||
@Override
|
||||
public @NonNull PinReminderMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull PinReminderMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new PinReminderMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.signal.libsignal.protocol.state.PreKeyRecord;
|
||||
@@ -9,7 +10,6 @@ import org.signal.libsignal.protocol.state.SignedPreKeyRecord;
|
||||
import org.thoughtcrime.securesms.crypto.PreKeyUtil;
|
||||
import org.thoughtcrime.securesms.crypto.storage.PreKeyMetadataStore;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
@@ -93,7 +93,7 @@ public class PniAccountInitializationMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<PniAccountInitializationMigrationJob> {
|
||||
@Override
|
||||
public @NonNull PniAccountInitializationMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull PniAccountInitializationMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new PniAccountInitializationMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
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.jobmanager.impl.NetworkConstraint;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.whispersystems.signalservice.api.push.PNI;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -66,7 +64,7 @@ public class PniMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<PniMigrationJob> {
|
||||
@Override
|
||||
public @NonNull PniMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull PniMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new PniMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobs.ProfileUploadJob;
|
||||
|
||||
@@ -48,7 +48,7 @@ public final class ProfileMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<ProfileMigrationJob> {
|
||||
@Override
|
||||
public @NonNull ProfileMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull ProfileMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new ProfileMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
|
||||
@@ -45,7 +45,7 @@ public class ProfileSharingUpdateMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<ProfileSharingUpdateMigrationJob> {
|
||||
@Override
|
||||
public @NonNull ProfileSharingUpdateMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull ProfileSharingUpdateMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new ProfileSharingUpdateMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.migrations
|
||||
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.jobmanager.Data
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
|
||||
/**
|
||||
@@ -30,7 +29,7 @@ internal class RebuildMessageSearchIndexMigrationJob(
|
||||
override fun shouldRetry(e: Exception): Boolean = false
|
||||
|
||||
class Factory : Job.Factory<RebuildMessageSearchIndexMigrationJob> {
|
||||
override fun create(parameters: Parameters, data: Data): RebuildMessageSearchIndexMigrationJob {
|
||||
override fun create(parameters: Parameters, serializedData: ByteArray?): RebuildMessageSearchIndexMigrationJob {
|
||||
return RebuildMessageSearchIndexMigrationJob(parameters)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.contacts.sync.ContactDiscovery;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint;
|
||||
|
||||
@@ -47,7 +47,7 @@ public class RecipientSearchMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<RecipientSearchMigrationJob> {
|
||||
@Override
|
||||
public @NonNull RecipientSearchMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull RecipientSearchMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new RecipientSearchMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,11 @@ package org.thoughtcrime.securesms.migrations;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.signal.libsignal.protocol.InvalidKeyException;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.JsonJobData;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint;
|
||||
import org.thoughtcrime.securesms.jobs.BaseJob;
|
||||
@@ -44,8 +45,8 @@ public final class RegistrationPinV2MigrationJob extends BaseJob {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull Data serialize() {
|
||||
return Data.EMPTY;
|
||||
public @Nullable byte[] serialize() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -84,7 +85,7 @@ public final class RegistrationPinV2MigrationJob extends BaseJob {
|
||||
|
||||
public static class Factory implements Job.Factory<RegistrationPinV2MigrationJob> {
|
||||
@Override
|
||||
public @NonNull RegistrationPinV2MigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull RegistrationPinV2MigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new RegistrationPinV2MigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.JsonJobData;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobmanager.JobManager;
|
||||
import org.thoughtcrime.securesms.jobs.StickerPackDownloadJob;
|
||||
@@ -49,9 +50,9 @@ public class StickerAdditionMigrationJob extends MigrationJob {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull Data serialize() {
|
||||
public @Nullable byte[] serialize() {
|
||||
String[] packsRaw = Stream.of(packs).map(BlessedPacks.Pack::toJson).toArray(String[]::new);
|
||||
return new Data.Builder().putStringArray(KEY_PACKS, packsRaw).build();
|
||||
return new JsonJobData.Builder().putStringArray(KEY_PACKS, packsRaw).serialize();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -71,7 +72,8 @@ public class StickerAdditionMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<StickerAdditionMigrationJob> {
|
||||
@Override
|
||||
public @NonNull StickerAdditionMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull StickerAdditionMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
JsonJobData data = JsonJobData.deserialize(serializedData);
|
||||
String[] raw = data.getStringArray(KEY_PACKS);
|
||||
List<BlessedPacks.Pack> packs = Stream.of(raw).map(BlessedPacks.Pack::fromJson).toList();
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobs.StickerPackDownloadJob;
|
||||
import org.thoughtcrime.securesms.stickers.BlessedPacks;
|
||||
@@ -45,7 +45,7 @@ public class StickerDayByDayMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<StickerDayByDayMigrationJob> {
|
||||
@Override
|
||||
public @NonNull StickerDayByDayMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull StickerDayByDayMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new StickerDayByDayMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@ package org.thoughtcrime.securesms.migrations;
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.database.StickerTable;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobmanager.JobManager;
|
||||
import org.thoughtcrime.securesms.jobs.MultiDeviceStickerPackOperationJob;
|
||||
@@ -66,7 +66,7 @@ public class StickerLaunchMigrationJob extends MigrationJob {
|
||||
public static class Factory implements Job.Factory<StickerLaunchMigrationJob> {
|
||||
@Override
|
||||
public @NonNull
|
||||
StickerLaunchMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
StickerLaunchMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new StickerLaunchMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobs.StickerPackDownloadJob;
|
||||
import org.thoughtcrime.securesms.stickers.BlessedPacks;
|
||||
@@ -45,7 +45,7 @@ public class StickerMyDailyLifeMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<StickerMyDailyLifeMigrationJob> {
|
||||
@Override
|
||||
public @NonNull StickerMyDailyLifeMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull StickerMyDailyLifeMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new StickerMyDailyLifeMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.jobmanager.JobManager;
|
||||
import org.thoughtcrime.securesms.jobs.MultiDeviceKeysUpdateJob;
|
||||
@@ -72,7 +72,7 @@ public class StorageCapabilityMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<StorageCapabilityMigrationJob> {
|
||||
@Override
|
||||
public @NonNull StorageCapabilityMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull StorageCapabilityMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new StorageCapabilityMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
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.jobmanager.JobManager;
|
||||
import org.thoughtcrime.securesms.jobs.MultiDeviceKeysUpdateJob;
|
||||
@@ -70,7 +70,7 @@ public class StorageServiceMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<StorageServiceMigrationJob> {
|
||||
@Override
|
||||
public @NonNull StorageServiceMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull StorageServiceMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new StorageServiceMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
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.jobs.DownloadLatestEmojiDataJob;
|
||||
import org.thoughtcrime.securesms.jobs.EmojiSearchIndexDownloadJob;
|
||||
import org.thoughtcrime.securesms.storage.StorageSyncHelper;
|
||||
|
||||
/**
|
||||
@@ -49,7 +46,7 @@ public final class StorageServiceSystemNameMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<StorageServiceSystemNameMigrationJob> {
|
||||
@Override
|
||||
public @NonNull StorageServiceSystemNameMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull StorageServiceSystemNameMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new StorageServiceSystemNameMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.migrations
|
||||
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.recipients
|
||||
import org.thoughtcrime.securesms.jobmanager.Data
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
@@ -38,7 +37,7 @@ internal class StoryReadStateMigrationJob(
|
||||
override fun shouldRetry(e: Exception): Boolean = false
|
||||
|
||||
class Factory : Job.Factory<StoryReadStateMigrationJob> {
|
||||
override fun create(parameters: Parameters, data: Data): StoryReadStateMigrationJob {
|
||||
override fun create(parameters: Parameters, serializedData: ByteArray?): StoryReadStateMigrationJob {
|
||||
return StoryReadStateMigrationJob(parameters)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package org.thoughtcrime.securesms.migrations
|
||||
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.recipients
|
||||
import org.thoughtcrime.securesms.jobmanager.Data
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
@@ -35,7 +34,7 @@ internal class StoryViewedReceiptsStateMigrationJob(
|
||||
override fun shouldRetry(e: Exception): Boolean = false
|
||||
|
||||
class Factory : Job.Factory<StoryViewedReceiptsStateMigrationJob> {
|
||||
override fun create(parameters: Parameters, data: Data): StoryViewedReceiptsStateMigrationJob {
|
||||
override fun create(parameters: Parameters, serializedData: ByteArray?): StoryViewedReceiptsStateMigrationJob {
|
||||
return StoryViewedReceiptsStateMigrationJob(parameters)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package org.thoughtcrime.securesms.migrations;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
@@ -77,7 +77,7 @@ public final class SyncDistributionListsMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<SyncDistributionListsMigrationJob> {
|
||||
@Override
|
||||
public @NonNull SyncDistributionListsMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull SyncDistributionListsMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new SyncDistributionListsMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@ import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
|
||||
@@ -60,7 +60,7 @@ public class TrimByLengthSettingsMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<TrimByLengthSettingsMigrationJob> {
|
||||
@Override
|
||||
public @NonNull TrimByLengthSettingsMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull TrimByLengthSettingsMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new TrimByLengthSettingsMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,9 +2,8 @@ package org.thoughtcrime.securesms.migrations
|
||||
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.jobmanager.Data
|
||||
import org.thoughtcrime.securesms.jobmanager.Data.Serializer
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
import org.thoughtcrime.securesms.jobmanager.JsonJobData
|
||||
import org.thoughtcrime.securesms.jobmanager.persistence.JobSpec
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
|
||||
@@ -35,20 +34,20 @@ internal class UpdateSmsJobsMigrationJob(
|
||||
val idOffset = SignalStore.plaintext().smsMigrationIdOffset
|
||||
check(idOffset >= 0) { "Invalid ID offset of $idOffset -- this shouldn't be possible!" }
|
||||
|
||||
ApplicationDependencies.getJobManager().update { jobSpec, serializer ->
|
||||
ApplicationDependencies.getJobManager().update { jobSpec ->
|
||||
when (jobSpec.factoryKey) {
|
||||
"PushTextSendJob" -> jobSpec.updateAndSerialize(serializer, "message_id", null, idOffset)
|
||||
"ReactionSendJob" -> jobSpec.updateAndSerialize(serializer, "message_id", "is_mms", idOffset)
|
||||
"RemoteDeleteSendJob" -> jobSpec.updateAndSerialize(serializer, "message_id", "is_mms", idOffset)
|
||||
"SmsSendJob" -> jobSpec.updateAndSerialize(serializer, "message_id", null, idOffset)
|
||||
"SmsSentJob" -> jobSpec.updateAndSerialize(serializer, "message_id", null, idOffset)
|
||||
"PushTextSendJob" -> jobSpec.updateAndSerialize("message_id", null, idOffset)
|
||||
"ReactionSendJob" -> jobSpec.updateAndSerialize("message_id", "is_mms", idOffset)
|
||||
"RemoteDeleteSendJob" -> jobSpec.updateAndSerialize("message_id", "is_mms", idOffset)
|
||||
"SmsSendJob" -> jobSpec.updateAndSerialize("message_id", null, idOffset)
|
||||
"SmsSentJob" -> jobSpec.updateAndSerialize("message_id", null, idOffset)
|
||||
else -> jobSpec
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun JobSpec.updateAndSerialize(serializer: Serializer, idKey: String, isMmsKey: String?, offset: Long): JobSpec {
|
||||
val data = serializer.deserialize(this.serializedData)
|
||||
private fun JobSpec.updateAndSerialize(idKey: String, isMmsKey: String?, offset: Long): JobSpec {
|
||||
val data = JsonJobData.deserialize(this.serializedData)
|
||||
|
||||
if (isMmsKey != null && data.getBooleanOrDefault(isMmsKey, false)) {
|
||||
return this
|
||||
@@ -57,10 +56,10 @@ internal class UpdateSmsJobsMigrationJob(
|
||||
return if (data.hasLong(idKey)) {
|
||||
val currentValue: Long = data.getLong(idKey)
|
||||
val updatedValue: Long = currentValue + offset
|
||||
val updatedData: Data = data.buildUpon().putLong(idKey, updatedValue).build()
|
||||
val updatedData: JsonJobData = data.buildUpon().putLong(idKey, updatedValue).build()
|
||||
|
||||
Log.d(TAG, "Updating job with factory ${this.factoryKey} from $currentValue to $updatedValue")
|
||||
this.withData(serializer.serialize(updatedData))
|
||||
this.withData(updatedData.serialize())
|
||||
} else {
|
||||
this
|
||||
}
|
||||
@@ -69,7 +68,7 @@ internal class UpdateSmsJobsMigrationJob(
|
||||
override fun shouldRetry(e: Exception): Boolean = false
|
||||
|
||||
class Factory : Job.Factory<UpdateSmsJobsMigrationJob> {
|
||||
override fun create(parameters: Parameters, data: Data): UpdateSmsJobsMigrationJob {
|
||||
override fun create(parameters: Parameters, serializedData: ByteArray?): UpdateSmsJobsMigrationJob {
|
||||
return UpdateSmsJobsMigrationJob(parameters)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.app.PendingIntent;
|
||||
import android.content.Intent;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.app.NotificationCompat;
|
||||
import androidx.core.app.NotificationManagerCompat;
|
||||
import androidx.core.app.TaskStackBuilder;
|
||||
@@ -16,7 +17,6 @@ import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.conversationlist.model.ConversationFilter;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.database.ThreadTable;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
import org.thoughtcrime.securesms.jobmanager.Job;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.notifications.NotificationChannels;
|
||||
@@ -128,7 +128,7 @@ public class UserNotificationMigrationJob extends MigrationJob {
|
||||
public static final class Factory implements Job.Factory<UserNotificationMigrationJob> {
|
||||
|
||||
@Override
|
||||
public @NonNull UserNotificationMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull UserNotificationMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new UserNotificationMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,11 @@ import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
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.jobmanager.impl.NetworkConstraint;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
@@ -83,7 +83,7 @@ public class UuidMigrationJob extends MigrationJob {
|
||||
|
||||
public static class Factory implements Job.Factory<UuidMigrationJob> {
|
||||
@Override
|
||||
public @NonNull UuidMigrationJob create(@NonNull Parameters parameters, @NonNull Data data) {
|
||||
public @NonNull UuidMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
|
||||
return new UuidMigrationJob(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user