package org.fedorahosted.freeotp;
+import java.util.List;
+
+import android.annotation.TargetApi;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
}
@Override
+ @TargetApi(14)
public void surfaceCreated(SurfaceHolder holder) {
try {
mCamera = Camera.open();
// Set auto-focus mode
Parameters params = mCamera.getParameters();
- params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+ List<String> modes = params.getSupportedFocusModes();
+ if (modes.contains(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE))
+ params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
+ else if (modes.contains(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
+ params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+ else if (modes.contains(Parameters.FOCUS_MODE_AUTO))
+ params.setFocusMode(Parameters.FOCUS_MODE_AUTO);
mCamera.setParameters(params);
} catch (Exception e) {
SurfaceView sv = (SurfaceView) getDialog().findViewById(R.id.camera_surfaceview);