|
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