Fix:Android:Correct surface handling
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sun, 29 Nov 2009 21:44:28 +0000 (21:44 +0000)
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sun, 29 Nov 2009 21:44:28 +0000 (21:44 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@2812 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/android/src/org/navitproject/navit/NavitCamera.java

index 18d56fb..0fd2e9f 100644 (file)
@@ -37,7 +37,7 @@ import java.io.IOException;
 
 public class NavitCamera extends SurfaceView implements SurfaceHolder.Callback {
         SurfaceHolder mHolder;
-       static Camera mCamera = Camera.open();
+       Camera mCamera;
 
 
 
@@ -57,6 +57,7 @@ public class NavitCamera extends SurfaceView implements SurfaceHolder.Callback {
         // The Surface has been created, acquire the camera and tell it where
         // to draw.
         try {
+          mCamera = Camera.open();
            mCamera.setPreviewDisplay(holder);
         } catch (IOException exception) {
             mCamera.release();
@@ -79,6 +80,7 @@ public class NavitCamera extends SurfaceView implements SurfaceHolder.Callback {
         // Now that the size is known, set up the camera parameters and begin
         // the preview.
        Log.e("NavitCamera","surfaceChanged "+w+"x"+h);
+        mCamera.stopPreview();
         Camera.Parameters parameters = mCamera.getParameters();
         parameters.setPreviewSize(w, h);
         mCamera.setParameters(parameters);