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 QUEUE = "ProfileAlteration";
private final Context context;
private final SignalServiceAccountManager accountManager;
public ProfileUploadJob() {
this(new Job.Parameters.Builder()
.addConstraint(NetworkConstraint.KEY)
.setQueue(KEY)
.setQueue(QUEUE)
.setLifespan(Parameters.IMMORTAL)
.setMaxAttempts(Parameters.UNLIMITED)
.setMaxInstances(1)

View File

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

View File

@ -131,10 +131,18 @@ public final class FeatureFlags {
*/
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(VERSIONED_PROFILES, (change) -> ApplicationDependencies.getJobManager().add(new ProfileUploadJob()));
put(GROUPS_V2, (change) -> ApplicationDependencies.getJobManager().startChain(new RefreshAttributesJob())
put(VERSIONED_PROFILES, (change) -> {
if (change == Change.ENABLED) {
ApplicationDependencies.getJobManager().add(new ProfileUploadJob());
}
});
put(GROUPS_V2, (change) -> {
if (change == Change.ENABLED) {
ApplicationDependencies.getJobManager().startChain(new RefreshAttributesJob())
.then(new RefreshOwnProfileJob())
.enqueue());
.enqueue();
}
});
}};
private static final Map<String, Object> REMOTE_VALUES = new TreeMap<>();