Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 2daff76

Browse files
committed
Bump versions and fix test
1 parent 41b8b8d commit 2daff76

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

packages/camera/camera_android_camerax/android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ dependencies {
5555
implementation "androidx.camera:camera-core:${camerax_version}"
5656
implementation "androidx.camera:camera-camera2:${camerax_version}"
5757
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
58-
implementation 'com.google.guava:guava:28.1-android'
58+
implementation 'com.google.guava:guava:31.1-android'
5959
testImplementation 'junit:junit:4.13.2'
6060
testImplementation 'org.mockito:mockito-inline:4.7.0'
6161
testImplementation 'androidx.test:core:1.4.0'

packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ProcessCameraProviderTest.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
import androidx.camera.core.CameraInfo;
1717
import androidx.camera.lifecycle.ProcessCameraProvider;
1818
import androidx.test.core.app.ApplicationProvider;
19-
import com.google.common.util.concurrent.SettableFuture;
19+
import com.google.common.util.concurrent.Futures;
20+
import com.google.common.util.concurrent.ListenableFuture;
2021
import io.flutter.plugin.common.BinaryMessenger;
2122
import java.util.Arrays;
2223
import java.util.Objects;
@@ -25,6 +26,7 @@
2526
import org.junit.Rule;
2627
import org.junit.Test;
2728
import org.junit.runner.RunWith;
29+
import org.mockito.ArgumentCaptor;
2830
import org.mockito.Mock;
2931
import org.mockito.MockedStatic;
3032
import org.mockito.Mockito;
@@ -58,8 +60,8 @@ public void tearDown() {
5860
public void getInstanceTest() {
5961
final ProcessCameraProviderHostApiImpl processCameraProviderHostApi =
6062
new ProcessCameraProviderHostApiImpl(mockBinaryMessenger, testInstanceManager, context);
61-
SettableFuture processCameraProviderFuture = SettableFuture.create();
62-
processCameraProviderFuture.set(processCameraProvider);
63+
final ListenableFuture<ProcessCameraProvider> processCameraProviderFuture =
64+
spy(Futures.immediateFuture(processCameraProvider));
6365
final GeneratedCameraXLibrary.Result<Long> mockResult =
6466
mock(GeneratedCameraXLibrary.Result.class);
6567

@@ -69,9 +71,15 @@ public void getInstanceTest() {
6971
Mockito.mockStatic(ProcessCameraProvider.class)) {
7072
mockedProcessCameraProvider
7173
.when(() -> ProcessCameraProvider.getInstance(context))
72-
.thenAnswer((Answer<SettableFuture>) invocation -> processCameraProviderFuture);
74+
.thenAnswer(
75+
(Answer<ListenableFuture<ProcessCameraProvider>>)
76+
invocation -> processCameraProviderFuture);
77+
78+
final ArgumentCaptor<Runnable> runnableCaptor = ArgumentCaptor.forClass(Runnable.class);
7379

7480
processCameraProviderHostApi.getInstance(mockResult);
81+
verify(processCameraProviderFuture).addListener(runnableCaptor.capture(), any());
82+
runnableCaptor.getValue().run();
7583
verify(mockResult).success(0L);
7684
}
7785
}

0 commit comments

Comments
 (0)