Put refresh and upload profile jobs in the same queue.

This commit is contained in:
Greyson Parrelli 2020-06-07 13:45:50 -04:00
parent 2d8b2e7fb0
commit 8fe8a1e9ee
3 changed files with 16 additions and 6 deletions

View File

@ -26,13 +26,15 @@ public final class ProfileUploadJob extends BaseJob {
public static final String KEY = "ProfileUploadJob"; public static final String KEY = "ProfileUploadJob";
public static final String QUEUE = "ProfileAlteration";
private final Context context; private final Context context;
private final SignalServiceAccountManager accountManager; private final SignalServiceAccountManager accountManager;
public ProfileUploadJob() { public ProfileUploadJob() {
this(new Job.Parameters.Builder() this(new Job.Parameters.Builder()
.addConstraint(NetworkConstraint.KEY) .addConstraint(NetworkConstraint.KEY)
.setQueue(KEY) .setQueue(QUEUE)
.setLifespan(Parameters.IMMORTAL) .setLifespan(Parameters.IMMORTAL)
.setMaxAttempts(Parameters.UNLIMITED) .setMaxAttempts(Parameters.UNLIMITED)
.setMaxInstances(1) .setMaxInstances(1)

View File

@ -43,7 +43,7 @@ public class RefreshOwnProfileJob extends BaseJob {
public RefreshOwnProfileJob() { public RefreshOwnProfileJob() {
this(new Parameters.Builder() this(new Parameters.Builder()
.addConstraint(NetworkConstraint.KEY) .addConstraint(NetworkConstraint.KEY)
.setQueue("RefreshOwnProfileJob") .setQueue(ProfileUploadJob.QUEUE)
.setMaxInstances(1) .setMaxInstances(1)
.setMaxAttempts(10) .setMaxAttempts(10)
.build()); .build());

View File

@ -131,10 +131,18 @@ public final class FeatureFlags {
*/ */
private static final Map<String, OnFlagChange> FLAG_CHANGE_LISTENERS = new HashMap<String, OnFlagChange>() {{ private static final Map<String, OnFlagChange> FLAG_CHANGE_LISTENERS = new HashMap<String, OnFlagChange>() {{
put(MESSAGE_REQUESTS, (change) -> SignalStore.setMessageRequestEnableTime(change == Change.ENABLED ? System.currentTimeMillis() : 0)); put(MESSAGE_REQUESTS, (change) -> SignalStore.setMessageRequestEnableTime(change == Change.ENABLED ? System.currentTimeMillis() : 0));
put(VERSIONED_PROFILES, (change) -> ApplicationDependencies.getJobManager().add(new ProfileUploadJob())); put(VERSIONED_PROFILES, (change) -> {
put(GROUPS_V2, (change) -> ApplicationDependencies.getJobManager().startChain(new RefreshAttributesJob()) if (change == Change.ENABLED) {
.then(new RefreshOwnProfileJob()) ApplicationDependencies.getJobManager().add(new ProfileUploadJob());
.enqueue()); }
});
put(GROUPS_V2, (change) -> {
if (change == Change.ENABLED) {
ApplicationDependencies.getJobManager().startChain(new RefreshAttributesJob())
.then(new RefreshOwnProfileJob())
.enqueue();
}
});
}}; }};
private static final Map<String, Object> REMOTE_VALUES = new TreeMap<>(); private static final Map<String, Object> REMOTE_VALUES = new TreeMap<>();