import android.hardware.IProCameraCallbacks;
import android.hardware.IProCameraUser;
import android.hardware.camera2.CameraMetadata;
+import android.hardware.camera2.CaptureResultExtras;
import android.hardware.camera2.ICameraDeviceCallbacks;
import android.hardware.camera2.ICameraDeviceUser;
import android.hardware.camera2.impl.CameraMetadataNative;
static class DummyCameraDeviceCallbacks extends ICameraDeviceCallbacks.Stub {
- @Override
- public void onCameraError(int errorCode) {
- }
+ /*
+ * (non-Javadoc)
+ * @see
+ * android.hardware.camera2.ICameraDeviceCallbacks#onCameraError(int,
+ * android.hardware.camera2.CaptureResultExtras)
+ */
+ public void onCameraError(int errorCode, CaptureResultExtras resultExtras)
+ throws RemoteException {
+ // TODO Auto-generated method stub
- @Override
- public void onCameraIdle() {
}
- @Override
- public void onCaptureStarted(int requestId, long timestamp) {
+ /*
+ * (non-Javadoc)
+ * @see
+ * android.hardware.camera2.ICameraDeviceCallbacks#onCaptureStarted(
+ * android.hardware.camera2.CaptureResultExtras, long)
+ */
+ public void onCaptureStarted(CaptureResultExtras resultExtras, long timestamp)
+ throws RemoteException {
+ // TODO Auto-generated method stub
+
}
- @Override
- public void onResultReceived(int frameId, CameraMetadataNative result)
+ /*
+ * (non-Javadoc)
+ * @see
+ * android.hardware.camera2.ICameraDeviceCallbacks#onResultReceived(
+ * android.hardware.camera2.impl.CameraMetadataNative,
+ * android.hardware.camera2.CaptureResultExtras)
+ */
+ public void onResultReceived(CameraMetadataNative result, CaptureResultExtras resultExtras)
throws RemoteException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see android.hardware.camera2.ICameraDeviceCallbacks#onCameraIdle()
+ */
+ public void onCameraIdle() throws RemoteException {
+ // TODO Auto-generated method stub
+
}
}
import android.hardware.camera2.CameraMetadata;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CaptureRequest;
+import android.hardware.camera2.CaptureResultExtras;
import android.hardware.camera2.ICameraDeviceCallbacks;
import android.hardware.camera2.ICameraDeviceUser;
import android.hardware.camera2.impl.CameraMetadataNative;
public class DummyCameraDeviceCallbacks extends ICameraDeviceCallbacks.Stub {
- @Override
- public void onCameraError(int errorCode) {
+ /*
+ * (non-Javadoc)
+ * @see
+ * android.hardware.camera2.ICameraDeviceCallbacks#onCameraError(int,
+ * android.hardware.camera2.CaptureResultExtras)
+ */
+ public void onCameraError(int errorCode, CaptureResultExtras resultExtras)
+ throws RemoteException {
+ // TODO Auto-generated method stub
+
}
- @Override
- public void onCameraIdle() {
+ /*
+ * (non-Javadoc)
+ * @see android.hardware.camera2.ICameraDeviceCallbacks#onCameraIdle()
+ */
+ public void onCameraIdle() throws RemoteException {
+ // TODO Auto-generated method stub
+
}
- @Override
- public void onCaptureStarted(int requestId, long timestamp) {
+ /*
+ * (non-Javadoc)
+ * @see
+ * android.hardware.camera2.ICameraDeviceCallbacks#onCaptureStarted(
+ * android.hardware.camera2.CaptureResultExtras, long)
+ */
+ public void onCaptureStarted(CaptureResultExtras resultExtras, long timestamp)
+ throws RemoteException {
+ // TODO Auto-generated method stub
+
}
- @Override
- public void onResultReceived(int frameId, CameraMetadataNative result) {
+ /*
+ * (non-Javadoc)
+ * @see
+ * android.hardware.camera2.ICameraDeviceCallbacks#onResultReceived(
+ * android.hardware.camera2.impl.CameraMetadataNative,
+ * android.hardware.camera2.CaptureResultExtras)
+ */
+ public void onResultReceived(CameraMetadataNative result, CaptureResultExtras resultExtras)
+ throws RemoteException {
+ // TODO Auto-generated method stub
+
}
}
}
private int submitCameraRequest(CaptureRequest request, boolean streaming) throws Exception {
- int requestId = mCameraUser.submitRequest(request, streaming);
+ int requestId = mCameraUser.submitRequest(request, streaming, null);
assertTrue(
"Request IDs should be non-negative (expected: >= 0, actual: " + requestId + ")",
requestId >= 0);
CaptureRequest.Builder builder = createDefaultBuilder(/* needStream */false);
CaptureRequest request1 = builder.build();
- int status = mCameraUser.submitRequest(request1, /* streaming */false);
+ int status = mCameraUser.submitRequest(request1, /* streaming */false, null);
assertEquals("Expected submitRequest to return BAD_VALUE " +
"since we had 0 surface targets set.", CameraBinderTestUtils.BAD_VALUE, status);
builder.addTarget(mSurface);
CaptureRequest request2 = builder.build();
- status = mCameraUser.submitRequest(request2, /* streaming */false);
+ status = mCameraUser.submitRequest(request2, /* streaming */false, null);
assertEquals("Expected submitRequest to return BAD_VALUE since " +
"the target surface wasn't registered with createStream.",
CameraBinderTestUtils.BAD_VALUE, status);
assertNotSame("Request IDs should be unique for multiple requests", requestId1,
requestIdStreaming);
- int status = mCameraUser.cancelRequest(-1);
+ int status = mCameraUser.cancelRequest(-1, null);
assertEquals("Invalid request IDs should not be cancellable",
CameraBinderTestUtils.BAD_VALUE, status);
- status = mCameraUser.cancelRequest(requestId1);
+ status = mCameraUser.cancelRequest(requestId1, null);
assertEquals("Non-streaming request IDs should not be cancellable",
CameraBinderTestUtils.BAD_VALUE, status);
- status = mCameraUser.cancelRequest(requestIdStreaming);
+ status = mCameraUser.cancelRequest(requestIdStreaming, null);
assertEquals("Streaming request IDs should be cancellable", CameraBinderTestUtils.NO_ERROR,
status);
CameraBinderTestUtils.INVALID_OPERATION, status);
// Test good case, waitUntilIdle when there is no active repeating request
- status = mCameraUser.cancelRequest(requestIdStreaming);
+ status = mCameraUser.cancelRequest(requestIdStreaming, null);
assertEquals(CameraBinderTestUtils.NO_ERROR, status);
status = mCameraUser.waitUntilIdle();
assertEquals(CameraBinderTestUtils.NO_ERROR, status);
CaptureRequest request = createDefaultBuilder(/* needStream */true).build();
// Test both single request and streaming request.
- int requestId1 = submitCameraRequest(request, /* streaming */false);
verify(mMockCb, timeout(WAIT_FOR_COMPLETE_TIMEOUT_MS).times(1)).onResultReceived(
- eq(requestId1),
- argThat(matcher));
+ argThat(matcher),
+ any(CaptureResultExtras.class));
- int streamingId = submitCameraRequest(request, /* streaming */true);
verify(mMockCb, timeout(WAIT_FOR_COMPLETE_TIMEOUT_MS).atLeast(NUM_CALLBACKS_CHECKED))
.onResultReceived(
- eq(streamingId),
- argThat(matcher));
+ argThat(matcher),
+ any(CaptureResultExtras.class));
}
@SmallTest
// Test both single request and streaming request.
int requestId1 = submitCameraRequest(request, /* streaming */false);
verify(mMockCb, timeout(WAIT_FOR_COMPLETE_TIMEOUT_MS).times(1)).onCaptureStarted(
- eq(requestId1),
+ any(CaptureResultExtras.class),
anyLong());
int streamingId = submitCameraRequest(request, /* streaming */true);
verify(mMockCb, timeout(WAIT_FOR_COMPLETE_TIMEOUT_MS).atLeast(NUM_CALLBACKS_CHECKED))
.onCaptureStarted(
- eq(streamingId),
+ any(CaptureResultExtras.class),
timestamps.capture());
long timestamp = 0; // All timestamps should be larger than 0.
SystemClock.sleep(WAIT_FOR_WORK_MS);
// Cancel and make sure we eventually quiesce
- status = mCameraUser.cancelRequest(streamingId);
+ status = mCameraUser.cancelRequest(streamingId, null);
verify(mMockCb, timeout(WAIT_FOR_IDLE_TIMEOUT_MS).times(1)).onCameraIdle();
int status;
// Initial flush should work
- status = mCameraUser.flush();
+ status = mCameraUser.flush(null);
assertEquals(CameraBinderTestUtils.NO_ERROR, status);
// Then set up a stream
CaptureRequest request = createDefaultBuilder(/* needStream */true).build();
// Flush should still be a no-op, really
- status = mCameraUser.flush();
+ status = mCameraUser.flush(null);
assertEquals(CameraBinderTestUtils.NO_ERROR, status);
// Submit a few capture requests
int requestId5 = submitCameraRequest(request, /* streaming */false);
// Then flush and wait for idle
- status = mCameraUser.flush();
+ status = mCameraUser.flush(null);
assertEquals(CameraBinderTestUtils.NO_ERROR, status);
verify(mMockCb, timeout(WAIT_FOR_FLUSH_TIMEOUT_MS).times(1)).onCameraIdle();
SystemClock.sleep(WAIT_FOR_WORK_MS);
// Then flush and wait for the idle callback
- status = mCameraUser.flush();
+ status = mCameraUser.flush(null);
assertEquals(CameraBinderTestUtils.NO_ERROR, status);
verify(mMockCb, timeout(WAIT_FOR_FLUSH_TIMEOUT_MS).times(2)).onCameraIdle();