Rename WorkContinuation join to combine.
As per API council, this better matches CompletableFuture.
Change-Id: I6b93896d385734244ffd7b3b45573c32ca28d8dc
Fixes: 78287319
Test: Ran tests.
diff --git a/work/workmanager/src/androidTest/java/androidx/work/impl/WorkContinuationImplTest.java b/work/workmanager/src/androidTest/java/androidx/work/impl/WorkContinuationImplTest.java
index 6851c91..ede0624 100644
--- a/work/workmanager/src/androidTest/java/androidx/work/impl/WorkContinuationImplTest.java
+++ b/work/workmanager/src/androidTest/java/androidx/work/impl/WorkContinuationImplTest.java
@@ -192,7 +192,7 @@
WorkContinuationImpl second = new WorkContinuationImpl(mWorkManagerImpl,
createTestWorkerList());
- WorkContinuationImpl dependent = (WorkContinuationImpl) WorkContinuation.join(first,
+ WorkContinuationImpl dependent = (WorkContinuationImpl) WorkContinuation.combine(first,
second);
assertThat(dependent.getParents(), is(notNullValue()));
assertThat(dependent.getParents(), containsInAnyOrder(first, second));
@@ -206,8 +206,8 @@
OneTimeWorkRequest work = createTestWorker();
- WorkContinuationImpl dependent = (WorkContinuationImpl) WorkContinuation.join(work, first,
- second);
+ WorkContinuationImpl dependent = (WorkContinuationImpl) WorkContinuation.combine(
+ work, first, second);
assertThat(dependent.getIds(), containsInAnyOrder(work.getId()));
assertThat(dependent.getParents(), is(notNullValue()));
@@ -226,11 +226,11 @@
WorkContinuationImpl fourth = new WorkContinuationImpl(mWorkManagerImpl,
createTestWorkerList());
- WorkContinuationImpl firstDependent = (WorkContinuationImpl) WorkContinuation.join(first,
- second);
- WorkContinuationImpl secondDependent = (WorkContinuationImpl) WorkContinuation.join(third,
- fourth);
- WorkContinuationImpl dependent = (WorkContinuationImpl) WorkContinuation.join(
+ WorkContinuationImpl firstDependent = (WorkContinuationImpl) WorkContinuation.combine(
+ first, second);
+ WorkContinuationImpl secondDependent = (WorkContinuationImpl) WorkContinuation.combine(
+ third, fourth);
+ WorkContinuationImpl dependent = (WorkContinuationImpl) WorkContinuation.combine(
firstDependent, secondDependent);
dependent.enqueueSync();
verifyEnqueued(dependent);
@@ -245,11 +245,11 @@
createTestWorkerList());
WorkContinuationImpl third = new WorkContinuationImpl(mWorkManagerImpl,
createTestWorkerList());
- WorkContinuationImpl firstDependent = (WorkContinuationImpl) WorkContinuation.join(first,
- second);
- WorkContinuationImpl secondDependent = (WorkContinuationImpl) WorkContinuation.join(first,
- third);
- WorkContinuationImpl dependent = (WorkContinuationImpl) WorkContinuation.join(
+ WorkContinuationImpl firstDependent = (WorkContinuationImpl) WorkContinuation.combine(
+ first, second);
+ WorkContinuationImpl secondDependent = (WorkContinuationImpl) WorkContinuation.combine(
+ first, third);
+ WorkContinuationImpl dependent = (WorkContinuationImpl) WorkContinuation.combine(
firstDependent, secondDependent);
dependent.enqueueSync();
verifyEnqueued(dependent);
@@ -286,7 +286,8 @@
WorkContinuationImpl secondContinuation =
new WorkContinuationImpl(mWorkManagerImpl, Collections.singletonList(secondWork));
WorkContinuationImpl dependentContinuation =
- (WorkContinuationImpl) WorkContinuation.join(firstContinuation, secondContinuation);
+ (WorkContinuationImpl) WorkContinuation.combine(
+ firstContinuation, secondContinuation);
dependentContinuation.enqueueSync();
String joinId = null;
@@ -324,7 +325,7 @@
@Test
@SmallTest
- public void testContinuation_hasCycles() throws InterruptedException {
+ public void testContinuation_hasCycles() {
OneTimeWorkRequest aWork = createTestWorker(); // A
OneTimeWorkRequest bWork = createTestWorker(); // B
OneTimeWorkRequest cWork = createTestWorker(); // C
@@ -338,8 +339,8 @@
// B -> C
WorkContinuation continuationBC = continuationB.then(cWork);
- // join -> A, C
- WorkContinuation join = WorkContinuation.join(continuationA, continuationBC);
+ // combine -> A, C
+ WorkContinuation join = WorkContinuation.combine(continuationA, continuationBC);
// withCycles -> B
WorkContinuationImpl withCycles = (WorkContinuationImpl) join.then(bWork);
@@ -348,7 +349,7 @@
@Test
@SmallTest
- public void testContinuation_hasCycles2() throws InterruptedException {
+ public void testContinuation_hasCycles2() {
OneTimeWorkRequest aWork = createTestWorker(); // A
WorkContinuation continuationA = new WorkContinuationImpl(
mWorkManagerImpl, Collections.singletonList(aWork));
@@ -360,7 +361,7 @@
@Test
@SmallTest
- public void testContinuation_hasCycles3() throws InterruptedException {
+ public void testContinuation_hasCycles3() {
OneTimeWorkRequest aWork = createTestWorker(); // A
WorkContinuation continuationA = new WorkContinuationImpl(
mWorkManagerImpl, Collections.singletonList(aWork));
@@ -372,13 +373,14 @@
// A
// A A
// A
- WorkContinuationImpl joined = (WorkContinuationImpl) WorkContinuation.join(first, second);
+ WorkContinuationImpl joined = (WorkContinuationImpl) WorkContinuation.combine(
+ first, second);
assertThat(joined.hasCycles(), is(true));
}
@Test
@SmallTest
- public void testContinuation_hasCycles4() throws InterruptedException {
+ public void testContinuation_hasCycles4() {
OneTimeWorkRequest aWork = createTestWorker(); // A
OneTimeWorkRequest cWork = createTestWorker(); // C
@@ -387,7 +389,7 @@
// A A
// B
- WorkContinuation continuationB = WorkContinuation.join(continuationA, continuationA);
+ WorkContinuation continuationB = WorkContinuation.combine(continuationA, continuationA);
// A A
// B
// C
@@ -402,7 +404,7 @@
@Test
@SmallTest
- public void testContinuation_hasNoCycles() throws InterruptedException {
+ public void testContinuation_hasNoCycles() {
OneTimeWorkRequest aWork = createTestWorker(); // A
OneTimeWorkRequest bWork = createTestWorker(); // B
OneTimeWorkRequest cWork = createTestWorker(); // C
@@ -414,14 +416,14 @@
mWorkManagerImpl, Arrays.asList(bWork, cWork));
WorkContinuationImpl joined =
- (WorkContinuationImpl) WorkContinuation.join(continuationAB, continuationBC);
+ (WorkContinuationImpl) WorkContinuation.combine(continuationAB, continuationBC);
assertThat(joined.hasCycles(), is(false));
}
@Test
@SmallTest
- public void testContinuation_hasNoCycles2() throws InterruptedException {
+ public void testContinuation_hasNoCycles2() {
OneTimeWorkRequest aWork = createTestWorker(); // A
OneTimeWorkRequest bWork = createTestWorker(); // B
OneTimeWorkRequest cWork = createTestWorker(); // C
@@ -444,15 +446,15 @@
// A A
// B C B C
// D
- WorkContinuationImpl joined = (WorkContinuationImpl)
- WorkContinuation.join(continuationB, continuationC, continuationB2, continuationC2);
+ WorkContinuationImpl joined = (WorkContinuationImpl) WorkContinuation.combine(
+ continuationB, continuationC, continuationB2, continuationC2);
assertThat(joined.hasCycles(), is(false));
}
@Test
@SmallTest
- public void testContinuation_hasNoCycles3() throws InterruptedException {
+ public void testContinuation_hasNoCycles3() {
OneTimeWorkRequest aWork = createTestWorker(); // A
OneTimeWorkRequest bWork = createTestWorker(); // B
OneTimeWorkRequest cWork = createTestWorker(); // C
@@ -466,10 +468,11 @@
WorkContinuation continuationC = new WorkContinuationImpl(
mWorkManagerImpl, Collections.singletonList(cWork));
- WorkContinuation first = WorkContinuation.join(continuationA, continuationB);
- WorkContinuation second = WorkContinuation.join(continuationA, continuationC);
+ WorkContinuation first = WorkContinuation.combine(continuationA, continuationB);
+ WorkContinuation second = WorkContinuation.combine(continuationA, continuationC);
- WorkContinuationImpl joined = (WorkContinuationImpl) WorkContinuation.join(first, second);
+ WorkContinuationImpl joined = (WorkContinuationImpl) WorkContinuation.combine(
+ first, second);
assertThat(joined.hasCycles(), is(false));
}
diff --git a/work/workmanager/src/main/java/androidx/work/WorkContinuation.java b/work/workmanager/src/main/java/androidx/work/WorkContinuation.java
index d95c451..80acc82 100644
--- a/work/workmanager/src/main/java/androidx/work/WorkContinuation.java
+++ b/work/workmanager/src/main/java/androidx/work/WorkContinuation.java
@@ -73,34 +73,34 @@
public abstract SynchronousWorkContinuation synchronous();
/**
- * Joins multiple {@link WorkContinuation}s to allow for complex chaining.
+ * Combines multiple {@link WorkContinuation}s to allow for complex chaining.
*
* @param continuations Two or more {@link WorkContinuation}s that are prerequisites for the
* return value
* @return A {@link WorkContinuation} that allows further chaining
*/
- public static WorkContinuation join(@NonNull WorkContinuation... continuations) {
- return join(Arrays.asList(continuations));
+ public static WorkContinuation combine(@NonNull WorkContinuation... continuations) {
+ return combine(Arrays.asList(continuations));
}
/**
- * Joins multiple {@link WorkContinuation}s to allow for complex chaining.
+ * Combines multiple {@link WorkContinuation}s to allow for complex chaining.
*
* @param continuations Two or more {@link WorkContinuation}s that are prerequisites for the
* return value
* @return A {@link WorkContinuation} that allows further chaining
*/
- public static WorkContinuation join(@NonNull List<WorkContinuation> continuations) {
+ public static WorkContinuation combine(@NonNull List<WorkContinuation> continuations) {
if (continuations.size() < 2) {
throw new IllegalArgumentException(
- "WorkContinuation.join() needs at least 2 continuations.");
+ "WorkContinuation.combine() needs at least 2 continuations.");
}
- return continuations.get(0).joinInternal(null, continuations);
+ return continuations.get(0).combineInternal(null, continuations);
}
/**
- * Joins multiple {@link WorkContinuation}s to allow for complex chaining using the
+ * Combines multiple {@link WorkContinuation}s to allow for complex chaining using the
* {@link OneTimeWorkRequest} provided.
*
* @param work The {@link OneTimeWorkRequest} which depends on the successful completion of the
@@ -109,14 +109,14 @@
* {@link OneTimeWorkRequest} provided.
* @return A {@link WorkContinuation} that allows further chaining
*/
- public static WorkContinuation join(
+ public static WorkContinuation combine(
@NonNull OneTimeWorkRequest work,
@NonNull WorkContinuation... continuations) {
- return join(work, Arrays.asList(continuations));
+ return combine(work, Arrays.asList(continuations));
}
/**
- * Joins multiple {@link WorkContinuation}s to allow for complex chaining using the
+ * Combines multiple {@link WorkContinuation}s to allow for complex chaining using the
* {@link OneTimeWorkRequest} provided.
*
* @param work The {@link OneTimeWorkRequest} which depends on the successful completion of the
@@ -125,17 +125,17 @@
* {@link OneTimeWorkRequest} provided.
* @return A {@link WorkContinuation} that allows further chaining
*/
- public static WorkContinuation join(
+ public static WorkContinuation combine(
@NonNull OneTimeWorkRequest work,
@NonNull List<WorkContinuation> continuations) {
- return continuations.get(0).joinInternal(work, continuations);
+ return continuations.get(0).combineInternal(work, continuations);
}
/**
* @hide
*/
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
- protected abstract WorkContinuation joinInternal(
+ protected abstract WorkContinuation combineInternal(
@Nullable OneTimeWorkRequest work,
@NonNull List<WorkContinuation> continuations);
}
diff --git a/work/workmanager/src/main/java/androidx/work/impl/WorkContinuationImpl.java b/work/workmanager/src/main/java/androidx/work/impl/WorkContinuationImpl.java
index 6b26d74..159e473 100644
--- a/work/workmanager/src/main/java/androidx/work/impl/WorkContinuationImpl.java
+++ b/work/workmanager/src/main/java/androidx/work/impl/WorkContinuationImpl.java
@@ -33,7 +33,7 @@
import androidx.work.WorkRequest;
import androidx.work.WorkStatus;
import androidx.work.impl.utils.EnqueueRunnable;
-import androidx.work.impl.workers.JoinWorker;
+import androidx.work.impl.workers.CombineContinuationsWorker;
import java.util.ArrayList;
import java.util.Collections;
@@ -197,12 +197,12 @@
}
@Override
- protected WorkContinuation joinInternal(
+ protected WorkContinuation combineInternal(
@Nullable OneTimeWorkRequest work,
@NonNull List<WorkContinuation> continuations) {
if (work == null) {
- work = new OneTimeWorkRequest.Builder(JoinWorker.class)
+ work = new OneTimeWorkRequest.Builder(CombineContinuationsWorker.class)
.withInputMerger(ArrayCreatingInputMerger.class)
.build();
}
diff --git a/work/workmanager/src/main/java/androidx/work/impl/workers/JoinWorker.java b/work/workmanager/src/main/java/androidx/work/impl/workers/CombineContinuationsWorker.java
similarity index 88%
rename from work/workmanager/src/main/java/androidx/work/impl/workers/JoinWorker.java
rename to work/workmanager/src/main/java/androidx/work/impl/workers/CombineContinuationsWorker.java
index 5943246..b884ada 100644
--- a/work/workmanager/src/main/java/androidx/work/impl/workers/JoinWorker.java
+++ b/work/workmanager/src/main/java/androidx/work/impl/workers/CombineContinuationsWorker.java
@@ -22,13 +22,12 @@
import androidx.work.Worker;
/**
- * Is a implementation of the {@link Worker} that helps join
- * work continuations.
+ * A {@link Worker} that helps combine work continuations.
*
* @hide
*/
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
-public class JoinWorker extends Worker {
+public class CombineContinuationsWorker extends Worker {
@Override
public @NonNull WorkerResult doWork() {
setOutputData(getInputData());