Skip to content

Commit bd2a8e0

Browse files
committed
Use SuccessContinuation instead of creating new ActivityContinuation interface
1 parent 27db9e6 commit bd2a8e0

File tree

3 files changed

+11
-14
lines changed

3 files changed

+11
-14
lines changed

firebase-appdistribution/src/main/java/com/google/firebase/appdistribution/FirebaseAppDistributionLifecycleNotifier.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ interface ActivityConsumer<T> {
3939
void consume(Activity activity);
4040
}
4141

42-
/** A {@link SuccessContinuation} that takes an activity and returns a new {@link Task}. */
43-
interface ActivityContinuation<T> extends SuccessContinuation<Activity, T> {}
44-
4542
private static FirebaseAppDistributionLifecycleNotifier instance;
4643
private final Object lock = new Object();
4744

@@ -121,7 +118,7 @@ Task<Void> applyToForegroundActivity(ActivityConsumer consumer) {
121118
* Apply a function to a foreground activity, when one is available, returning a {@link Task} that
122119
* will complete with the result of the Task returned by that function.
123120
*/
124-
<T> Task<T> applyToForegroundActivityTask(ActivityContinuation<T> continuation) {
121+
<T> Task<T> applyToForegroundActivityTask(SuccessContinuation<Activity, T> continuation) {
125122
return getForegroundActivity()
126123
.onSuccessTask(
127124
// Use direct executor to ensure the consumer is called while Activity is in foreground

firebase-appdistribution/src/test/java/com/google/firebase/appdistribution/FirebaseAppDistributionLifecycleNotifierTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
import static org.mockito.Mockito.when;
2323

2424
import android.app.Activity;
25+
import com.google.android.gms.tasks.SuccessContinuation;
2526
import com.google.android.gms.tasks.Task;
2627
import com.google.android.gms.tasks.Tasks;
2728
import com.google.firebase.appdistribution.FirebaseAppDistributionException.Status;
2829
import com.google.firebase.appdistribution.FirebaseAppDistributionLifecycleNotifier.ActivityConsumer;
29-
import com.google.firebase.appdistribution.FirebaseAppDistributionLifecycleNotifier.ActivityContinuation;
3030
import org.junit.Before;
3131
import org.junit.Test;
3232
import org.junit.runner.RunWith;
@@ -95,7 +95,7 @@ public void applyToForegroundActivityTask_withCurrentActivity_succeedsAndCallsCo
9595
// applyToForegroundActivityTask is called
9696
lifecycleNotifier.onActivityResumed(activity);
9797

98-
ActivityContinuation<String> continuation = spy(ActivityContinuation.class);
98+
SuccessContinuation<Activity, String> continuation = spy(SuccessContinuation.class);
9999
when(continuation.then(activity)).thenReturn(Tasks.forResult("result"));
100100
Task<String> task = lifecycleNotifier.applyToForegroundActivityTask(continuation);
101101

@@ -107,7 +107,7 @@ public void applyToForegroundActivityTask_withCurrentActivity_succeedsAndCallsCo
107107
@Test
108108
public void applyToForegroundActivityTask_noCurrentActivity_succeedsAndCallsConsumer()
109109
throws Exception {
110-
ActivityContinuation<String> continuation = spy(ActivityContinuation.class);
110+
SuccessContinuation<Activity, String> continuation = spy(SuccessContinuation.class);
111111
when(continuation.then(activity)).thenReturn(Tasks.forResult("result"));
112112
Task<String> task = lifecycleNotifier.applyToForegroundActivityTask(continuation);
113113

@@ -121,7 +121,7 @@ public void applyToForegroundActivityTask_noCurrentActivity_succeedsAndCallsCons
121121

122122
@Test
123123
public void applyToForegroundActivityTask_continuationThrows_fails() throws Exception {
124-
ActivityContinuation<String> continuation = spy(ActivityContinuation.class);
124+
SuccessContinuation<Activity, String> continuation = spy(SuccessContinuation.class);
125125
FirebaseAppDistributionException continuationException =
126126
new FirebaseAppDistributionException(
127127
"exception in continuation task", Status.AUTHENTICATION_CANCELED);
@@ -137,7 +137,7 @@ public void applyToForegroundActivityTask_continuationThrows_fails() throws Exce
137137
@Test
138138
public void applyToForegroundActivityTask_continuationThrowsUnknownException_wrapsException()
139139
throws Exception {
140-
ActivityContinuation<String> continuation = spy(ActivityContinuation.class);
140+
SuccessContinuation<Activity, String> continuation = spy(SuccessContinuation.class);
141141
RuntimeException continuationException = new RuntimeException("exception in continuation");
142142
when(continuation.then(activity)).thenThrow(continuationException);
143143
Task<String> task = lifecycleNotifier.applyToForegroundActivityTask(continuation);
@@ -151,7 +151,7 @@ public void applyToForegroundActivityTask_continuationThrowsUnknownException_wra
151151
@Test
152152
public void applyToForegroundActivityTask_continuationTaskFails_failsWithSameException()
153153
throws Exception {
154-
ActivityContinuation<String> continuation = spy(ActivityContinuation.class);
154+
SuccessContinuation<Activity, String> continuation = spy(SuccessContinuation.class);
155155
RuntimeException continuationException = new RuntimeException("exception in continuation");
156156
when(continuation.then(activity)).thenReturn(Tasks.forException(continuationException));
157157
Task<String> task = lifecycleNotifier.applyToForegroundActivityTask(continuation);

firebase-appdistribution/src/test/java/com/google/firebase/appdistribution/TestUtils.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
import static org.robolectric.Shadows.shadowOf;
2020

2121
import android.app.Activity;
22+
import com.google.android.gms.tasks.SuccessContinuation;
2223
import com.google.android.gms.tasks.Task;
2324
import com.google.android.gms.tasks.Tasks;
2425
import com.google.firebase.appdistribution.FirebaseAppDistributionException.Status;
2526
import com.google.firebase.appdistribution.FirebaseAppDistributionLifecycleNotifier.ActivityConsumer;
26-
import com.google.firebase.appdistribution.FirebaseAppDistributionLifecycleNotifier.ActivityContinuation;
2727
import java.util.concurrent.ExecutorService;
2828
import java.util.concurrent.TimeUnit;
2929
import org.mockito.stubbing.Answer;
@@ -69,10 +69,10 @@ static Answer<Task<Void>> applyToForegroundActivityAnswer(Activity activity) {
6969

7070
static <T> Answer<Task<T>> applyToForegroundActivityTaskAnswer(Activity activity) {
7171
return invocationOnMock -> {
72-
ActivityContinuation<T> continuation =
73-
(ActivityContinuation<T>) invocationOnMock.getArgument(0);
72+
SuccessContinuation<Activity, T> continuation =
73+
(SuccessContinuation<Activity, T>) invocationOnMock.getArgument(0);
7474
if (continuation == null) {
75-
return Tasks.forException(new IllegalStateException("ActivityContinuation was null"));
75+
return Tasks.forException(new IllegalStateException("Success was null"));
7676
}
7777
return continuation.then(activity);
7878
};

0 commit comments

Comments
 (0)