use for-each instead of while

pull/209/head
xufuji456 3 years ago
parent 9412a6a57b
commit 30110d16ad
  1. 23
      Live/src/main/java/com/frank/live/camera2/Camera2Helper.java

@ -29,7 +29,6 @@ import android.view.TextureView;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.concurrent.Semaphore; import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -49,14 +48,13 @@ public class Camera2Helper {
public static final String CAMERA_ID_FRONT = "1"; public static final String CAMERA_ID_FRONT = "1";
public static final String CAMERA_ID_BACK = "0"; public static final String CAMERA_ID_BACK = "0";
private Context context;
private String mCameraId; private String mCameraId;
private String specificCameraId; private String specificCameraId;
private Camera2Listener camera2Listener;
private TextureView mTextureView; private TextureView mTextureView;
private int rotation; private final int rotation;
private Point previewViewSize; private final Point previewViewSize;
private Context context; private Camera2Listener camera2Listener;
/** /**
* A {@link CameraCaptureSession } for camera preview. * A {@link CameraCaptureSession } for camera preview.
*/ */
@ -144,12 +142,11 @@ public class Camera2Helper {
}; };
private CameraDevice.StateCallback mDeviceStateCallback = new CameraDevice.StateCallback() { private final CameraDevice.StateCallback mDeviceStateCallback = new CameraDevice.StateCallback() {
@Override @Override
public void onOpened(@NonNull CameraDevice cameraDevice) { public void onOpened(@NonNull CameraDevice cameraDevice) {
Log.i(TAG, "onOpened: "); Log.i(TAG, "onOpened: ");
// This method is called when the camera is opened. We start camera preview here.
mCameraOpenCloseLock.release(); mCameraOpenCloseLock.release();
mCameraDevice = cameraDevice; mCameraDevice = cameraDevice;
createCameraPreviewSession(); createCameraPreviewSession();
@ -182,7 +179,7 @@ public class Camera2Helper {
} }
}; };
private CameraCaptureSession.StateCallback mCaptureStateCallback = new CameraCaptureSession.StateCallback() { private final CameraCaptureSession.StateCallback mCaptureStateCallback = new CameraCaptureSession.StateCallback() {
@Override @Override
public void onConfigured(@NonNull CameraCaptureSession cameraCaptureSession) { public void onConfigured(@NonNull CameraCaptureSession cameraCaptureSession) {
@ -234,8 +231,7 @@ public class Camera2Helper {
/** /**
* A {@link Semaphore} to prevent the app from exiting before closing the camera. * A {@link Semaphore} to prevent the app from exiting before closing the camera.
*/ */
private Semaphore mCameraOpenCloseLock = new Semaphore(1); private final Semaphore mCameraOpenCloseLock = new Semaphore(1);
/** /**
* Orientation of the camera sensor * Orientation of the camera sensor
@ -246,9 +242,7 @@ public class Camera2Helper {
Size defaultSize = sizes.get(0); Size defaultSize = sizes.get(0);
Log.e(TAG, "default width=" + defaultSize.getWidth() + "--height=" + defaultSize.getHeight()); Log.e(TAG, "default width=" + defaultSize.getWidth() + "--height=" + defaultSize.getHeight());
int defaultDelta = Math.abs(defaultSize.getWidth() * defaultSize.getHeight() - previewViewSize.x * previewViewSize.y); int defaultDelta = Math.abs(defaultSize.getWidth() * defaultSize.getHeight() - previewViewSize.x * previewViewSize.y);
Iterator supportIterator = sizes.iterator(); for (Size size : sizes) {
while (supportIterator.hasNext()) {
Size size = (Size) supportIterator.next();
Log.e(TAG, "current width=" + defaultSize.getWidth() + "--height=" + defaultSize.getHeight()); Log.e(TAG, "current width=" + defaultSize.getWidth() + "--height=" + defaultSize.getHeight());
int currentDelta = Math.abs(size.getWidth() * size.getHeight() - previewViewSize.x * previewViewSize.y); int currentDelta = Math.abs(size.getWidth() * size.getHeight() - previewViewSize.x * previewViewSize.y);
if (currentDelta < defaultDelta) { if (currentDelta < defaultDelta) {
@ -540,7 +534,6 @@ public class Camera2Helper {
@Override @Override
public void onImageAvailable(ImageReader reader) { public void onImageAvailable(ImageReader reader) {
Image image = reader.acquireNextImage(); Image image = reader.acquireNextImage();
// YUV_420_888
if (camera2Listener != null && image.getFormat() == ImageFormat.YUV_420_888) { if (camera2Listener != null && image.getFormat() == ImageFormat.YUV_420_888) {
Image.Plane[] planes = image.getPlanes(); Image.Plane[] planes = image.getPlanes();
lock.lock(); lock.lock();

Loading…
Cancel
Save