Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/camera/camera_android_camerax/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@
* Implements image streaming.
* Provides LifecycleOwner implementation for Activities that use the plugin that do not implement it themselves.
* Implements retrieval of camera information.
* Implements video capture.
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ dependencies {
implementation "androidx.camera:camera-core:${camerax_version}"
implementation "androidx.camera:camera-camera2:${camerax_version}"
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
implementation "androidx.camera:camera-video:${camerax_version}"
implementation 'com.google.guava:guava:31.1-android'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-inline:5.0.0'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
public final class CameraAndroidCameraxPlugin implements FlutterPlugin, ActivityAware {
private InstanceManager instanceManager;
private FlutterPluginBinding pluginBinding;
private PendingRecordingHostApiImpl pendingRecordingHostApiImpl;
private RecorderHostApiImpl recorderHostApiImpl;
private VideoCaptureHostApiImpl videoCaptureHostApiImpl;
private ImageAnalysisHostApiImpl imageAnalysisHostApiImpl;
private ImageCaptureHostApiImpl imageCaptureHostApiImpl;
public SystemServicesHostApiImpl systemServicesHostApiImpl;
Expand Down Expand Up @@ -60,7 +63,8 @@ public void setUp(
new ProcessCameraProviderHostApiImpl(binaryMessenger, instanceManager, context);
GeneratedCameraXLibrary.ProcessCameraProviderHostApi.setup(
binaryMessenger, processCameraProviderHostApiImpl);
systemServicesHostApiImpl = new SystemServicesHostApiImpl(binaryMessenger, instanceManager);
systemServicesHostApiImpl =
new SystemServicesHostApiImpl(binaryMessenger, instanceManager, context);
GeneratedCameraXLibrary.SystemServicesHostApi.setup(binaryMessenger, systemServicesHostApiImpl);
GeneratedCameraXLibrary.PreviewHostApi.setup(
binaryMessenger, new PreviewHostApiImpl(binaryMessenger, instanceManager, textureRegistry));
Expand All @@ -73,6 +77,16 @@ public void setUp(
binaryMessenger, new AnalyzerHostApiImpl(binaryMessenger, instanceManager));
GeneratedCameraXLibrary.ImageProxyHostApi.setup(
binaryMessenger, new ImageProxyHostApiImpl(binaryMessenger, instanceManager));
GeneratedCameraXLibrary.RecordingHostApi.setup(
binaryMessenger, new RecordingHostApiImpl(binaryMessenger, instanceManager));
recorderHostApiImpl = new RecorderHostApiImpl(binaryMessenger, instanceManager, context);
GeneratedCameraXLibrary.RecorderHostApi.setup(binaryMessenger, recorderHostApiImpl);
pendingRecordingHostApiImpl =
new PendingRecordingHostApiImpl(binaryMessenger, instanceManager, context);
GeneratedCameraXLibrary.PendingRecordingHostApi.setup(
binaryMessenger, pendingRecordingHostApiImpl);
videoCaptureHostApiImpl = new VideoCaptureHostApiImpl(binaryMessenger, instanceManager);
GeneratedCameraXLibrary.VideoCaptureHostApi.setup(binaryMessenger, videoCaptureHostApiImpl);
}

@Override
Expand Down Expand Up @@ -135,6 +149,15 @@ public void updateContext(@NonNull Context context) {
if (processCameraProviderHostApiImpl != null) {
processCameraProviderHostApiImpl.setContext(context);
}
if (recorderHostApiImpl != null) {
recorderHostApiImpl.setContext(context);
}
if (pendingRecordingHostApiImpl != null) {
pendingRecordingHostApiImpl.setContext(context);
}
if (systemServicesHostApiImpl != null) {
systemServicesHostApiImpl.setContext(context);
}
if (imageCaptureHostApiImpl != null) {
imageCaptureHostApiImpl.setContext(context);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import androidx.camera.core.ImageAnalysis;
import androidx.camera.core.ImageCapture;
import androidx.camera.core.Preview;
import androidx.camera.video.Recorder;
import io.flutter.plugin.common.BinaryMessenger;
import io.flutter.plugins.camerax.GeneratedCameraXLibrary.ResolutionInfo;
import java.io.File;
Expand Down Expand Up @@ -62,6 +63,13 @@ public SystemServicesFlutterApiImpl createSystemServicesFlutterApiImpl(
return new SystemServicesFlutterApiImpl(binaryMessenger);
}

/** Creates an instance of {@link Recorder.Builder}. */
@NonNull
public Recorder.Builder createRecorderBuilder() {
return new Recorder.Builder();
}

@NonNull
public ImageCapture.Builder createImageCaptureBuilder() {
return new ImageCapture.Builder();
}
Expand Down
Loading