• 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     isInAndroidSdk = false)
20 public class ShadowCameraCaptureSessionImpl {
21   @RealObject private CameraCaptureSessionImpl realObject;
22 
23   @Implementation(minSdk = VERSION_CODES.P)
setRepeatingRequest( CaptureRequest request, CaptureCallback callback, Handler handler)24   protected int setRepeatingRequest(
25       CaptureRequest request, CaptureCallback callback, Handler handler)
26       throws CameraAccessException {
27     return 1;
28   }
29 
30   @Implementation(minSdk = VERSION_CODES.P)
setSingleRepeatingRequest( CaptureRequest request, Executor executor, CaptureCallback callback)31   protected int setSingleRepeatingRequest(
32       CaptureRequest request, Executor executor, CaptureCallback callback)
33       throws CameraAccessException {
34     return 1;
35   }
36 
37   @Implementation(minSdk = VERSION_CODES.P)
capture(CaptureRequest request, CaptureCallback callback, Handler handler)38   protected int capture(CaptureRequest request, CaptureCallback callback, Handler handler)
39       throws CameraAccessException {
40     return 1;
41   }
42 
43   @Implementation(minSdk = VERSION_CODES.P)
captureSingleRequest( CaptureRequest request, Executor executor, CaptureCallback callback)44   protected int captureSingleRequest(
45       CaptureRequest request, Executor executor, CaptureCallback callback)
46       throws CameraAccessException {
47     return 1;
48   }
49 
50   @Implementation(minSdk = VERSION_CODES.P)
close()51   protected void close() {
52     CameraCaptureSession.StateCallback callback =
53         ReflectionHelpers.getField(realObject, "mStateCallback");
54     if (callback == null) {
55       throw new IllegalArgumentException("blah");
56     }
57     callback.onClosed(realObject);
58   }
59 }
60