|
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; |
@@ -85,6 +86,28 @@ public class CameraSource { |
85 | 86 | * ratio is less than this tolerance, they are considered to be the same aspect ratio. |
86 | 87 | */ |
87 | 88 | private static final float ASPECT_RATIO_TOLERANCE = 0.01f; |
| 89 | + |
| 90 | + @StringDef({ |
| 91 | + Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE, |
| 92 | + Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO, |
| 93 | + Camera.Parameters.FOCUS_MODE_AUTO, |
| 94 | + Camera.Parameters.FOCUS_MODE_EDOF, |
| 95 | + Camera.Parameters.FOCUS_MODE_FIXED, |
| 96 | + Camera.Parameters.FOCUS_MODE_INFINITY, |
| 97 | + Camera.Parameters.FOCUS_MODE_MACRO |
| 98 | + }) |
| 99 | + @Retention(RetentionPolicy.SOURCE) |
| 100 | + private @interface FocusMode {} |
| 101 | + |
| 102 | + @StringDef({ |
| 103 | + Camera.Parameters.FLASH_MODE_ON, |
| 104 | + Camera.Parameters.FLASH_MODE_OFF, |
| 105 | + Camera.Parameters.FLASH_MODE_AUTO, |
| 106 | + Camera.Parameters.FLASH_MODE_RED_EYE, |
| 107 | + Camera.Parameters.FLASH_MODE_TORCH |
| 108 | + }) |
| 109 | + @Retention(RetentionPolicy.SOURCE) |
| 110 | + private @interface FlashMode {} |
88 | 111 |
|
89 | 112 | private Context mContext; |
90 | 113 |
|
@@ -172,12 +195,12 @@ public Builder setRequestedFps(float fps) { |
172 | 195 | return this; |
173 | 196 | } |
174 | 197 |
|
175 | | - public Builder setFocusMode(String mode) { |
| 198 | + public Builder setFocusMode(@FocusMode String mode) { |
176 | 199 | mCameraSource.mFocusMode = mode; |
177 | 200 | return this; |
178 | 201 | } |
179 | 202 |
|
180 | | - public Builder setFlashMode(String mode) { |
| 203 | + public Builder setFlashMode(@FlashMode String mode) { |
181 | 204 | mCameraSource.mFlashMode = mode; |
182 | 205 | return this; |
183 | 206 | } |
|
0 commit comments