@@ -150,6 +150,7 @@ public void run() {
150150 private ImageProcessor mImageProcessor ;
151151 private SurfaceHolder mSurfaceHolder ;
152152 private Camera mCamera ;
153+ private OpenNoteScannerActivity mThis ;
153154
154155 private boolean mFocused ;
155156 private HUDCanvasView mHud ;
@@ -173,6 +174,8 @@ public void setImageProcessorBusy(boolean imageProcessorBusy) {
173174 protected void onCreate (Bundle savedInstanceState ) {
174175 super .onCreate (savedInstanceState );
175176
177+ mThis = this ;
178+
176179 mSharedPref = PreferenceManager .getDefaultSharedPreferences (this );
177180
178181 if (mSharedPref .getBoolean ("isFirstRun" ,true ) && !mSharedPref .getBoolean ("usage_stats" ,false )) {
@@ -725,7 +728,7 @@ public void surfaceCreated(SurfaceHolder holder) {
725728
726729 PackageManager pm = getPackageManager ();
727730 if (pm .hasSystemFeature (PackageManager .FEATURE_CAMERA_AUTOFOCUS )) {
728- param .setFocusMode (Camera .Parameters .FOCUS_MODE_CONTINUOUS_VIDEO );
731+ param .setFocusMode (Camera .Parameters .FOCUS_MODE_CONTINUOUS_PICTURE );
729732 Log .d (TAG , "enabling autofocus" );
730733 } else {
731734 mFocused = true ;
@@ -847,7 +850,12 @@ public boolean requestPicture() {
847850 if (safeToTakePicture ) {
848851 runOnUiThread (resetShutterColor );
849852 safeToTakePicture = false ;
850- mCamera .takePicture (null , null , this );
853+ mCamera .autoFocus (new Camera .AutoFocusCallback () {
854+ @ Override
855+ public void onAutoFocus (boolean success , Camera camera ) {
856+ camera .takePicture (null ,null ,mThis );
857+ }
858+ });
851859 return true ;
852860 }
853861 return false ;
0 commit comments