|
25 | 25 | import android.os.Build;
|
26 | 26 | import android.os.SystemClock;
|
27 | 27 | import android.support.annotation.RequiresPermission;
|
| 28 | +import android.support.annotation.StringDef; |
28 | 29 | import android.util.Log;
|
29 | 30 | import android.view.Surface;
|
30 | 31 | import android.view.SurfaceHolder;
|
|
36 | 37 | import com.google.android.gms.vision.Frame;
|
37 | 38 |
|
38 | 39 | import java.io.IOException;
|
| 40 | +import java.lang.annotation.Retention; |
| 41 | +import java.lang.annotation.RetentionPolicy; |
39 | 42 | import java.lang.Thread.State;
|
40 | 43 | import java.nio.ByteBuffer;
|
41 | 44 | import java.util.ArrayList;
|
@@ -85,6 +88,28 @@ public class CameraSource {
|
85 | 88 | * ratio is less than this tolerance, they are considered to be the same aspect ratio.
|
86 | 89 | */
|
87 | 90 | private static final float ASPECT_RATIO_TOLERANCE = 0.01f;
|
| 91 | + |
| 92 | + @StringDef({ |
| 93 | + Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE, |
| 94 | + Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO, |
| 95 | + Camera.Parameters.FOCUS_MODE_AUTO, |
| 96 | + Camera.Parameters.FOCUS_MODE_EDOF, |
| 97 | + Camera.Parameters.FOCUS_MODE_FIXED, |
| 98 | + Camera.Parameters.FOCUS_MODE_INFINITY, |
| 99 | + Camera.Parameters.FOCUS_MODE_MACRO |
| 100 | + }) |
| 101 | + @Retention(RetentionPolicy.SOURCE) |
| 102 | + private @interface FocusMode {} |
| 103 | + |
| 104 | + @StringDef({ |
| 105 | + Camera.Parameters.FLASH_MODE_ON, |
| 106 | + Camera.Parameters.FLASH_MODE_OFF, |
| 107 | + Camera.Parameters.FLASH_MODE_AUTO, |
| 108 | + Camera.Parameters.FLASH_MODE_RED_EYE, |
| 109 | + Camera.Parameters.FLASH_MODE_TORCH |
| 110 | + }) |
| 111 | + @Retention(RetentionPolicy.SOURCE) |
| 112 | + private @interface FlashMode {} |
88 | 113 |
|
89 | 114 | private Context mContext;
|
90 | 115 |
|
@@ -172,12 +197,12 @@ public Builder setRequestedFps(float fps) {
|
172 | 197 | return this;
|
173 | 198 | }
|
174 | 199 |
|
175 |
| - public Builder setFocusMode(String mode) { |
| 200 | + public Builder setFocusMode(@FocusMode String mode) { |
176 | 201 | mCameraSource.mFocusMode = mode;
|
177 | 202 | return this;
|
178 | 203 | }
|
179 | 204 |
|
180 |
| - public Builder setFlashMode(String mode) { |
| 205 | + public Builder setFlashMode(@FlashMode String mode) { |
181 | 206 | mCameraSource.mFlashMode = mode;
|
182 | 207 | return this;
|
183 | 208 | }
|
|
0 commit comments