• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.robolectric.shadows;
2 
3 import android.hardware.camera2.CameraAccessException;
4 import android.hardware.camera2.CameraCaptureSession;
5 import android.hardware.camera2.CameraCaptureSession.CaptureCallback;
6 import android.hardware.camera2.CaptureRequest;
7 import android.hardware.camera2.impl.CameraCaptureSessionImpl;
8 import android.os.Build.VERSION_CODES;
9 import android.os.Handler;
10 import java.util.concurrent.Executor;
11 import org.robolectric.annotation.Implementation;
12 import org.robolectric.annotation.Implements;
13 import org.robolectric.annotation.RealObject;
14 import org.robolectric.util.ReflectionHelpers;
15 
16 /** Shadow class for {@link CameraCaptureSessionImpl} */
17 @Implements(
18     value = CameraCaptureSessionImpl.class,
19     minSdk = VERSION_CODES.LOLLIPOP,
20     isInAndroidSdk = false)
21 public class ShadowCameraCaptureSessionImpl {
22   @RealObject private CameraCaptureSessionImpl realObject;
23 
24   @Implementation(minSdk = VERSION_CODES.P)
setRepeatingRequest( CaptureRequest request, CaptureCallback callback, Handler handler)25   protected int setRepeatingRequest(
26       CaptureRequest request, CaptureCallback callback, Handler handler)
27       throws CameraAccessException {
28     return 1;
29   }
30 
31   @Implementation(minSdk = VERSION_CODES.P)
setSingleRepeatingRequest( CaptureRequest request, Executor executor, CaptureCallback callback)32   protected int setSingleRepeatingRequest(
33       CaptureRequest request, Executor executor, CaptureCallback callback)
34       throws CameraAccessException {
35     return 1;
36   }
37 
38   @Implementation(minSdk = VERSION_CODES.P)
capture(CaptureRequest request, CaptureCallback callback, Handler handler)39   protected int capture(CaptureRequest request, CaptureCallback callback, Handler handler)
40       throws CameraAccessException {
41     return 1;
42   }
43 
44   @Implementation(minSdk = VERSION_CODES.P)
captureSingleRequest( CaptureRequest request, Executor executor, CaptureCallback callback)45   protected int captureSingleRequest(
46       CaptureRequest request, Executor executor, CaptureCallback callback)
47       throws CameraAccessException {
48     return 1;
49   }
50 
51   @Implementation(minSdk = VERSION_CODES.P)
close()52   protected void close() {
53     CameraCaptureSession.StateCallback callback =
54         ReflectionHelpers.getField(realObject, "mStateCallback");
55     if (callback == null) {
56       throw new IllegalArgumentException("blah");
57     }
58     callback.onClosed(realObject);
59   }
60 }
61