<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.fedorahosted.freeotp"
- android:versionCode="7"
+ android:versionCode="8"
android:versionName="1.3" >
<uses-sdk
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);
case R.id.action_add:
// If the device has a camera available, try to scan for QR code
PackageManager pm = getPackageManager();
- if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA) &&
- pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_AUTOFOCUS)) {
+ if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
new CameraDialogFragment().show(getFragmentManager(),
CameraDialogFragment.FRAGMENT_TAG);
} else {