Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
Simplest migration of camera plugin with maximum shared code - but ot…
…herwise a really terrible quality of code that's untestable.
  • Loading branch information
matthew-carroll committed Sep 27, 2019
commit 0d53fb0542cb0b6df6d9c2df84a4e399f56ab323

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,20 @@
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugins.camera.Camera;
import io.flutter.plugins.camera.CameraPermissions;
import io.flutter.plugins.camera.CameraUtils;

public class CameraPlugin implements FlutterPlugin, ActivityAware, MethodCallHandler {

private FlutterPluginBinding pluginBinding;
private ActivityPluginBinding activityBinding;

private final CameraPermissions cameraPermissions = new CameraPermissions();
private EventChannel imageStreamChannel;
private Camera camera;

private FlutterPluginBinding pluginBinding;
private ActivityPluginBinding activityBinding;

@Override
public void onAttachedToEngine(FlutterPluginBinding flutterPluginBinding) {
this.pluginBinding = flutterPluginBinding;
Expand Down Expand Up @@ -112,7 +116,8 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull final Result result)
camera.close();
}
cameraPermissions.requestPermissions(
activityBinding,
activityBinding.getActivity(),
new NewEmbeddingPermissions(activityBinding),
call.argument("enableAudio"),
(String errCode, String errDesc) -> {
if (errCode == null) {
Expand Down Expand Up @@ -204,4 +209,19 @@ private void handleException(Exception exception, Result result) {

throw (RuntimeException) exception;
}

private static class NewEmbeddingPermissions implements CameraPermissions.Permissions {
private ActivityPluginBinding activityPluginBinding;

private NewEmbeddingPermissions(@NonNull ActivityPluginBinding activityPluginBinding) {
this.activityPluginBinding = activityPluginBinding;
}

@Override
public PluginRegistry.Registrar addRequestPermissionsResultListener(PluginRegistry.RequestPermissionsResultListener listener) {
activityPluginBinding.addRequestPermissionsResultListener(listener);

return null; // <- this is a breaking change.
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import io.flutter.plugin.common.EventChannel;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.view.FlutterView;
import io.flutter.view.TextureRegistry;
import io.flutter.view.TextureRegistry.SurfaceTextureEntry;
import java.io.File;
import java.io.FileOutputStream;
Expand Down Expand Up @@ -74,7 +75,7 @@ public enum ResolutionPreset {

public Camera(
final Activity activity,
final FlutterView flutterView,
final TextureRegistry textureRegistry,
final String cameraName,
final String resolutionPreset,
final boolean enableAudio)
Expand All @@ -85,7 +86,7 @@ public Camera(

this.cameraName = cameraName;
this.enableAudio = enableAudio;
this.flutterTexture = flutterView.createSurfaceTexture();
this.flutterTexture = textureRegistry.createSurfaceTexture();
this.cameraManager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);
orientationEventListener =
new OrientationEventListener(activity.getApplicationContext()) {
Expand Down Expand Up @@ -233,7 +234,7 @@ private void writeToFile(ByteBuffer buffer, File file) throws IOException {
}
}

SurfaceTextureEntry getFlutterTexture() {
public SurfaceTextureEntry getFlutterTexture() {
return flutterTexture;
}

Expand Down
Loading