diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2014-07-31 14:04:44 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2014-08-06 10:54:14 -0700 |
commit | 5345b93fd44823f695794ab4a7cceb23a82d8f17 (patch) | |
tree | 9846e1f0b8f2731933f9ea9d4983c4e0e3782de4 /apps | |
parent | ea35e1bf67bf965a67b4f3a291c9b509bfb8836b (diff) | |
download | pdk-5345b93fd44823f695794ab4a7cceb23a82d8f17.tar.gz |
TestingCamera2: Stop using hidden Camera2 API methods.
Change-Id: If878508b7aca98ef75ef411396848525b78e27ba
Diffstat (limited to 'apps')
4 files changed, 21 insertions, 70 deletions
diff --git a/apps/TestingCamera2/src/com/android/testingcamera2/CameraControlPane.java b/apps/TestingCamera2/src/com/android/testingcamera2/CameraControlPane.java index f728d4f..2318a37 100644 --- a/apps/TestingCamera2/src/com/android/testingcamera2/CameraControlPane.java +++ b/apps/TestingCamera2/src/com/android/testingcamera2/CameraControlPane.java @@ -520,24 +520,6 @@ public class CameraControlPane extends ControlPane { private final CameraDevice.StateListener mCameraListener = new CameraDevice.StateListener() { @Override - @Deprecated - public void onIdle(CameraDevice camera) { - //setCameraState(CameraState.IDLE); - } - - @Override - @Deprecated - public void onActive(CameraDevice camera) { - //setCameraState(CameraState.ACTIVE); - } - - @Override - @Deprecated - public void onBusy(CameraDevice camera) { - //setCameraState(CameraState.BUSY); - } - - @Override public void onClosed(CameraDevice camera) { // Don't change state on close, tracked by callers of close() } @@ -557,13 +539,6 @@ public class CameraControlPane extends ControlPane { mCurrentCamera = camera; setCameraState(CameraState.OPENED); } - - @Override - @Deprecated - public void onUnconfigured(CameraDevice camera) { - //setCameraState(CameraState.UNCONFIGURED); - } - }; private void switchToCamera(String newCameraId) { diff --git a/apps/TestingCamera2/src/com/android/testingcamera2/CameraOps2.java b/apps/TestingCamera2/src/com/android/testingcamera2/CameraOps2.java index fb2fe22..7b61b4a 100644 --- a/apps/TestingCamera2/src/com/android/testingcamera2/CameraOps2.java +++ b/apps/TestingCamera2/src/com/android/testingcamera2/CameraOps2.java @@ -130,27 +130,6 @@ public class CameraOps2 extends CameraManager.AvailabilityListener { } @Override - @Deprecated - public void onIdle(CameraDevice camera) { - TLog.i("Camera %s now idle", camera.getId()); - mClientListener.onIdle(camera); - } - - @Override - @Deprecated - public void onActive(CameraDevice camera) { - TLog.i("Camera %s now active", camera.getId()); - mClientListener.onActive(camera); - } - - @Override - @Deprecated - public void onBusy(CameraDevice camera) { - TLog.i("Camera %s now busy", camera.getId()); - mClientListener.onBusy(camera); - } - - @Override public void onClosed(CameraDevice camera) { mOpenCameras.remove(camera); TLog.i("Camera %s now closed", camera.getId()); @@ -176,12 +155,5 @@ public class CameraOps2 extends CameraManager.AvailabilityListener { mClientListener.onOpened(camera); } - @Override - @Deprecated - public void onUnconfigured(CameraDevice camera) { - TLog.i("Camera %s now unconfigured", camera.getId()); - mClientListener.onUnconfigured(camera); - } - } } diff --git a/apps/TestingCamera2/src/com/android/testingcamera2/v1/CameraOps.java b/apps/TestingCamera2/src/com/android/testingcamera2/v1/CameraOps.java index e1b4774..c8011c5 100644 --- a/apps/TestingCamera2/src/com/android/testingcamera2/v1/CameraOps.java +++ b/apps/TestingCamera2/src/com/android/testingcamera2/v1/CameraOps.java @@ -19,6 +19,7 @@ package com.android.testingcamera2.v1; import android.content.Context; import android.graphics.ImageFormat; import android.hardware.camera2.CameraAccessException; +import android.hardware.camera2.CameraCaptureSession; import android.hardware.camera2.CameraDevice; import android.hardware.camera2.CameraManager; import android.hardware.camera2.CameraMetadata; @@ -39,7 +40,7 @@ import android.view.SurfaceHolder; import com.android.ex.camera2.blocking.BlockingCameraManager; import com.android.ex.camera2.blocking.BlockingCameraManager.BlockingOpenException; import com.android.ex.camera2.blocking.BlockingStateListener; -import com.android.testingcamera2.v1.CameraOps.Listener; +import com.android.ex.camera2.blocking.BlockingSessionListener; import java.util.ArrayList; import java.util.Arrays; @@ -67,6 +68,7 @@ public class CameraOps { new BlockingStateListener(); private CameraDevice mCamera; + private CameraCaptureSession mSession; private ImageReader mCaptureReader; private CameraCharacteristics mCameraCharacteristics; @@ -167,6 +169,7 @@ public class CameraOps { } mCamera = null; + mSession = null; } private void minimalOpenCamera() throws ApiFailureException { @@ -204,11 +207,9 @@ public class CameraOps { } private void configureOutputs(List<Surface> outputs) throws CameraAccessException { - mCamera.configureOutputs(outputs); - mDeviceListener.waitForState(BlockingStateListener.STATE_BUSY, - STATE_WAIT_MS); - mDeviceListener.waitForState(BlockingStateListener.STATE_IDLE, - IDLE_WAIT_MS); + BlockingSessionListener sessionListener = new BlockingSessionListener(); + mCamera.createCaptureSession(outputs, sessionListener, mOpsHandler); + mSession = sessionListener.waitAndGetSession(IDLE_WAIT_MS); } /** @@ -255,7 +256,7 @@ public class CameraOps { try { // Insert a one-time request if any triggers were set into the request if (hasTriggers(mPreviewRequestBuilder)) { - mCamera.capture(mPreviewRequestBuilder.build(), /*listener*/null, /*handler*/null); + mSession.capture(mPreviewRequestBuilder.build(), /*listener*/null, /*handler*/null); removeTriggers(mPreviewRequestBuilder); if (VERBOSE) { @@ -268,7 +269,7 @@ public class CameraOps { } // TODO: add capture result listener - mCamera.setRepeatingRequest(mPreviewRequestBuilder.build(), + mSession.setRepeatingRequest(mPreviewRequestBuilder.build(), /*listener*/null, /*handler*/null); } catch (CameraAccessException e) { Log.e(TAG, "Update camera preview failed"); @@ -347,7 +348,7 @@ public class CameraOps { mPreviewRequestBuilder.addTarget(mPreviewSurface); - mCamera.setRepeatingRequest(mPreviewRequestBuilder.build(), null, null); + mSession.setRepeatingRequest(mPreviewRequestBuilder.build(), null, null); } catch (CameraAccessException e) { throw new ApiFailureException("Error setting up minimal preview", e); } @@ -411,7 +412,7 @@ public class CameraOps { }; mCaptureReader.setOnImageAvailableListener(readerListener, h); - mCamera.capture(captureBuilder.build(), l, mOpsHandler); + mSession.capture(captureBuilder.build(), l, mOpsHandler); } catch (CameraAccessException e) { throw new ApiFailureException("Error in minimal JPEG capture", e); } @@ -440,7 +441,7 @@ public class CameraOps { // Start camera streaming and recording. configureOutputs(mOutputSurfaces); - mCamera.setRepeatingRequest(mRecordingRequestBuilder.build(), null, null); + mSession.setRepeatingRequest(mRecordingRequestBuilder.build(), null, null); mRecordingStream.start(); } catch (CameraAccessException e) { throw new ApiFailureException("Error start recording", e); @@ -469,7 +470,7 @@ public class CameraOps { mRecordingStream.stop(ctx); - mCamera.setRepeatingRequest(mRecordingRequestBuilder.build(), null, null); + mSession.setRepeatingRequest(mRecordingRequestBuilder.build(), null, null); } catch (CameraAccessException e) { throw new ApiFailureException("Error stop recording", e); } @@ -481,7 +482,7 @@ public class CameraOps { public void flush() throws ApiFailureException { minimalOpenCamera(); try { - mCamera.flush(); + mSession.abortCaptures(); } catch (CameraAccessException e) { throw new ApiFailureException("Error flushing", e); } @@ -605,5 +606,6 @@ public class CameraOps { void onCaptureAvailable(Image capture); } - public static abstract class CaptureResultListener extends CameraDevice.CaptureListener {} + public static abstract class CaptureResultListener + extends CameraCaptureSession.CaptureListener {} } diff --git a/apps/TestingCamera2/src/com/android/testingcamera2/v1/TestingCamera2.java b/apps/TestingCamera2/src/com/android/testingcamera2/v1/TestingCamera2.java index fab2c3a..78bbf2f 100644 --- a/apps/TestingCamera2/src/com/android/testingcamera2/v1/TestingCamera2.java +++ b/apps/TestingCamera2/src/com/android/testingcamera2/v1/TestingCamera2.java @@ -22,6 +22,7 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.ImageFormat; import android.hardware.camera2.CameraCharacteristics; +import android.hardware.camera2.CameraCaptureSession; import android.hardware.camera2.CameraDevice; import android.hardware.camera2.CaptureFailure; import android.hardware.camera2.CaptureRequest; @@ -387,13 +388,14 @@ public class TestingCamera2 extends Activity implements SurfaceHolder.Callback { new CameraOps.CaptureResultListener() { @Override - public void onCaptureStarted(CameraDevice camera, CaptureRequest request, + public void onCaptureStarted(CameraCaptureSession session, CaptureRequest request, long timestamp) { } @Override public void onCaptureCompleted( - CameraDevice camera, CaptureRequest request, TotalCaptureResult result) { + CameraCaptureSession session, CaptureRequest request, + TotalCaptureResult result) { Log.i(TAG, "Capture result is available"); Integer reqCtrlMode; Integer resCtrlMode; @@ -436,7 +438,7 @@ public class TestingCamera2 extends Activity implements SurfaceHolder.Callback { } @Override - public void onCaptureFailed(CameraDevice camera, CaptureRequest request, + public void onCaptureFailed(CameraCaptureSession session, CaptureRequest request, CaptureFailure failure) { Log.e(TAG, "Capture failed"); } |