mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 02:10:44 +01:00
Notify a user when they link a device.
This commit is contained in:
committed by
Greyson Parrelli
parent
919648b94b
commit
d4c8c16df3
@@ -286,6 +286,7 @@ public abstract class Job {
|
||||
private final boolean memoryOnly;
|
||||
private final int globalPriority;
|
||||
private final int queuePriority;
|
||||
private final long initialDelay;
|
||||
|
||||
private Parameters(@NonNull String id,
|
||||
long createTime,
|
||||
@@ -298,7 +299,8 @@ public abstract class Job {
|
||||
@Nullable byte[] inputData,
|
||||
boolean memoryOnly,
|
||||
int globalPriority,
|
||||
int queuePriority)
|
||||
int queuePriority,
|
||||
long initialDelay)
|
||||
{
|
||||
this.id = id;
|
||||
this.createTime = createTime;
|
||||
@@ -312,6 +314,7 @@ public abstract class Job {
|
||||
this.memoryOnly = memoryOnly;
|
||||
this.globalPriority = globalPriority;
|
||||
this.queuePriority = queuePriority;
|
||||
this.initialDelay = initialDelay;
|
||||
}
|
||||
|
||||
@NonNull String getId() {
|
||||
@@ -362,8 +365,12 @@ public abstract class Job {
|
||||
return queuePriority;
|
||||
}
|
||||
|
||||
long getInitialDelay() {
|
||||
return initialDelay;
|
||||
}
|
||||
|
||||
public Builder toBuilder() {
|
||||
return new Builder(id, createTime, lifespan, maxAttempts, maxInstancesForFactory, maxInstancesForQueue, queue, constraintKeys, inputData, memoryOnly, globalPriority, queuePriority);
|
||||
return new Builder(id, createTime, lifespan, maxAttempts, maxInstancesForFactory, maxInstancesForQueue, queue, constraintKeys, inputData, memoryOnly, globalPriority, queuePriority, initialDelay);
|
||||
}
|
||||
|
||||
|
||||
@@ -380,13 +387,14 @@ public abstract class Job {
|
||||
private boolean memoryOnly;
|
||||
private int globalPriority;
|
||||
private int queuePriority;
|
||||
private long initialDelay;
|
||||
|
||||
public Builder() {
|
||||
this(UUID.randomUUID().toString());
|
||||
}
|
||||
|
||||
Builder(@NonNull String id) {
|
||||
this(id, System.currentTimeMillis(), IMMORTAL, 1, UNLIMITED, UNLIMITED, null, new LinkedList<>(), null, false, Parameters.PRIORITY_DEFAULT, Parameters.PRIORITY_DEFAULT);
|
||||
this(id, System.currentTimeMillis(), IMMORTAL, 1, UNLIMITED, UNLIMITED, null, new LinkedList<>(), null, false, Parameters.PRIORITY_DEFAULT, Parameters.PRIORITY_DEFAULT, 0);
|
||||
}
|
||||
|
||||
private Builder(@NonNull String id,
|
||||
@@ -400,7 +408,8 @@ public abstract class Job {
|
||||
@Nullable byte[] inputData,
|
||||
boolean memoryOnly,
|
||||
int globalPriority,
|
||||
int queuePriority)
|
||||
int queuePriority,
|
||||
long initialDelay)
|
||||
{
|
||||
this.id = id;
|
||||
this.createTime = createTime;
|
||||
@@ -414,6 +423,7 @@ public abstract class Job {
|
||||
this.memoryOnly = memoryOnly;
|
||||
this.globalPriority = globalPriority;
|
||||
this.queuePriority = queuePriority;
|
||||
this.initialDelay = initialDelay;
|
||||
}
|
||||
|
||||
/** Should only be invoked by {@link JobController} */
|
||||
@@ -553,8 +563,16 @@ public abstract class Job {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies a delay (in milliseconds) before the job runs. Default is 0.
|
||||
*/
|
||||
public @NonNull Builder setInitialDelay(long initialDelay) {
|
||||
this.initialDelay = initialDelay;
|
||||
return this;
|
||||
}
|
||||
|
||||
public @NonNull Parameters build() {
|
||||
return new Parameters(id, createTime, lifespan, maxAttempts, maxInstancesForFactory, maxInstancesForQueue, queue, constraintKeys, inputData, memoryOnly, globalPriority, queuePriority);
|
||||
return new Parameters(id, createTime, lifespan, maxAttempts, maxInstancesForFactory, maxInstancesForQueue, queue, constraintKeys, inputData, memoryOnly, globalPriority, queuePriority, initialDelay);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -449,7 +449,8 @@ class JobController {
|
||||
false,
|
||||
job.getParameters().isMemoryOnly(),
|
||||
job.getParameters().getGlobalPriority(),
|
||||
job.getParameters().getQueuePriority());
|
||||
job.getParameters().getQueuePriority(),
|
||||
job.getParameters().getInitialDelay());
|
||||
|
||||
List<ConstraintSpec> constraintSpecs = Stream.of(job.getParameters().getConstraintKeys())
|
||||
.map(key -> new ConstraintSpec(jobSpec.getId(), key, jobSpec.isMemoryOnly()))
|
||||
@@ -476,7 +477,7 @@ class JobController {
|
||||
constraints.add(constraintInstantiator.instantiate(key));
|
||||
}
|
||||
|
||||
scheduler.schedule(0, constraints);
|
||||
scheduler.schedule(job.getParameters().getInitialDelay(), constraints);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -558,7 +559,8 @@ class JobController {
|
||||
jobSpec.isRunning(),
|
||||
jobSpec.isMemoryOnly(),
|
||||
jobSpec.getGlobalPriority(),
|
||||
jobSpec.getQueuePriority());
|
||||
jobSpec.getQueuePriority(),
|
||||
jobSpec.getInitialDelay());
|
||||
}
|
||||
|
||||
interface Callback {
|
||||
|
||||
@@ -73,7 +73,8 @@ public class JobMigrator {
|
||||
jobSpec.isRunning(),
|
||||
jobSpec.isMemoryOnly(),
|
||||
jobSpec.getGlobalPriority(),
|
||||
jobSpec.getQueuePriority());
|
||||
jobSpec.getQueuePriority(),
|
||||
jobSpec.getInitialDelay());
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,8 @@ data class JobSpec(
|
||||
val isRunning: Boolean,
|
||||
val isMemoryOnly: Boolean,
|
||||
val globalPriority: Int,
|
||||
val queuePriority: Int
|
||||
val queuePriority: Int,
|
||||
val initialDelay: Long
|
||||
) {
|
||||
|
||||
fun withNextBackoffInterval(updated: Long): JobSpec {
|
||||
@@ -27,7 +28,7 @@ data class JobSpec(
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "id: JOB::$id | factoryKey: $factoryKey | queueKey: $queueKey | createTime: $createTime | lastRunAttemptTime: $lastRunAttemptTime | nextBackoffInterval: $nextBackoffInterval | runAttempt: $runAttempt | maxAttempts: $maxAttempts | lifespan: $lifespan | isRunning: $isRunning | memoryOnly: $isMemoryOnly | globalPriority: $globalPriority | queuePriorty: $queuePriority"
|
||||
return "id: JOB::$id | factoryKey: $factoryKey | queueKey: $queueKey | createTime: $createTime | lastRunAttemptTime: $lastRunAttemptTime | nextBackoffInterval: $nextBackoffInterval | runAttempt: $runAttempt | maxAttempts: $maxAttempts | lifespan: $lifespan | isRunning: $isRunning | memoryOnly: $isMemoryOnly | globalPriority: $globalPriority | queuePriorty: $queuePriority | initialDelay: $initialDelay"
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
|
||||
Reference in New Issue
Block a user