|
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