Persist the JobFactory key after job migrations.

This commit is contained in:
Greyson Parrelli 2019-09-27 14:18:15 -04:00
parent 5805539deb
commit b03eccec33
5 changed files with 21 additions and 4 deletions

View file

@ -33,7 +33,7 @@ public class JobManager implements ConstraintObserver.Notifier {
private static final String TAG = JobManager.class.getSimpleName();
public static final int CURRENT_VERSION = 3;
public static final int CURRENT_VERSION = 4;
private final Application application;
private final Configuration configuration;

View file

@ -65,7 +65,7 @@ public class JobMigrator {
JobData originalJobData = new JobData(jobSpec.getFactoryKey(), jobSpec.getQueueKey(), data);
JobData updatedJobData = migration.migrate(originalJobData);
JobSpec updatedJobSpec = new JobSpec(jobSpec.getId(),
jobSpec.getFactoryKey(),
updatedJobData.getFactoryKey(),
updatedJobData.getQueueKey(),
jobSpec.getCreateTime(),
jobSpec.getNextRunAttemptTime(),

View file

@ -13,7 +13,11 @@ import org.thoughtcrime.securesms.jobmanager.JobMigration;
public class RecipientIdFollowUpJobMigration extends JobMigration {
public RecipientIdFollowUpJobMigration() {
super(3);
this(3);
}
RecipientIdFollowUpJobMigration(int endVersion) {
super(endVersion);
}
@Override

View file

@ -0,0 +1,11 @@
package org.thoughtcrime.securesms.jobmanager.migrations;
/**
* Unfortunately there was a bug in {@link RecipientIdFollowUpJobMigration} that requires it to be
* run again.
*/
public class RecipientIdFollowUpJobMigration2 extends RecipientIdFollowUpJobMigration {
public RecipientIdFollowUpJobMigration2() {
super(4);
}
}

View file

@ -15,6 +15,7 @@ import org.thoughtcrime.securesms.jobmanager.impl.NetworkOrCellServiceConstraint
import org.thoughtcrime.securesms.jobmanager.impl.SqlCipherMigrationConstraint;
import org.thoughtcrime.securesms.jobmanager.impl.SqlCipherMigrationConstraintObserver;
import org.thoughtcrime.securesms.jobmanager.migrations.RecipientIdFollowUpJobMigration;
import org.thoughtcrime.securesms.jobmanager.migrations.RecipientIdFollowUpJobMigration2;
import org.thoughtcrime.securesms.jobmanager.migrations.RecipientIdJobMigration;
import org.thoughtcrime.securesms.migrations.DatabaseMigrationJob;
import org.thoughtcrime.securesms.migrations.LegacyMigrationJob;
@ -110,6 +111,7 @@ public final class JobManagerFactories {
public static List<JobMigration> getJobMigrations(@NonNull Application application) {
return Arrays.asList(new RecipientIdJobMigration(application),
new RecipientIdFollowUpJobMigration());
new RecipientIdFollowUpJobMigration(),
new RecipientIdFollowUpJobMigration2());
}
}