Phonegap android surface View

I have a dobut iam successfully run a android native code for SurfaceView Over a camera
      Now i want it to Convert to Phonegap is It Possible.Please give Your Valuble comments 
      Below Iam Giving the native Code...Plz Help
Thanks

**MainActivity**


     package com.example.testcamera;

     import java.io.File;
     import java.io.FileNotFoundException;
     import java.io.FileOutputStream;
     import java.io.IOException;


     import android.app.Activity;
     import android.content.pm.ActivityInfo;
     import android.graphics.Bitmap;
     import android.graphics.BitmapFactory;
     import android.graphics.Canvas;
     import android.graphics.PixelFormat;
     import android.hardware.Camera;
     import android.hardware.Camera.PictureCallback;
     import android.hardware.Camera.ShutterCallback;
     import android.os.Bundle;
     import android.os.Environment;
     import android.util.Log;
     import android.view.Display;
     import android.view.LayoutInflater;
     import android.view.SurfaceHolder;
     import android.view.SurfaceView;
     import android.view.View;
     import android.view.Window;
     import android.view.WindowManager;
     import android.view.View.OnClickListener;
     import android.widget.Button;
     import android.widget.RelativeLayout.LayoutParams;


     public class MainActivity extends Activity implements SurfaceHolder.Callback
     {
       private Camera camera = null;
       private SurfaceView cameraSurfaceView = null;
       private SurfaceHolder cameraSurfaceHolder = null;
       private boolean previewing = false;
 
       private Display display = null;


        private static int wid = 0, hgt = 0;
 
        private LayoutInflater layoutInflater = null;
        private View cameraViewControl = null;
        private LayoutParams layoutParamsControl = null;
 
       private Button btnCapture = null;
 
    @Override
      protected void onCreate(Bundle savedInstanceState) 
      {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);


    setRequestedOrientation(ActivityInfo.
                                         SCREEN_ORIENTATION_LANDSCAPE);
      
    display = getWindowManager().getDefaultDisplay(); 
    wid = display.getWidth();
    hgt = display.getHeight();
     
    getWindow().setFormat(PixelFormat.TRANSLUCENT);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(
                         WindowManager.LayoutParams.FLAG_FULLSCREEN,
                         WindowManager.LayoutParams.FLAG_FULLSCREEN);
          
    setContentView(R.layout.activity_main);
     
    cameraSurfaceView = (SurfaceView)
                                       findViewById(R.id.cameraSurfaceView);
    cameraSurfaceHolder = cameraSurfaceView.getHolder();
    cameraSurfaceHolder.addCallback(this);
    cameraSurfaceHolder.setType(SurfaceHolder.
                                                 SURFACE_TYPE_PUSH_BUFFERS);
          
    layoutInflater = LayoutInflater.from(getBaseContext());
    layoutParamsControl = new LayoutParams(
                                                        LayoutParams.FILL_PARENT,
                                                        LayoutParams.FILL_PARENT);
     
    cameraViewControl = layoutInflater.inflate
                                                   (R.layout.overlay, null);     
    this.addContentView(cameraViewControl, layoutParamsControl);
     
    cameraViewControl = layoutInflater.inflate
                                                   (R.layout.vampireimage, null);     
    this.addContentView(cameraViewControl, layoutParamsControl);
     
    btnCapture = (Button)findViewById(R.id.btnCapture);
    btnCapture.setOnClickListener(new OnClickListener() 
    {   
      @Override
      public void onClick(View v) 
         {
         // TODO Auto-generated method stub
         camera.takePicture(cameraShutterCallback, 
                                       cameraPictureCallbackRaw,
                                       cameraPictureCallbackJpeg);
      }
    });
     } 
 
    ShutterCallback cameraShutterCallback = new ShutterCallback() 
      {  
      @Override
      public void onShutter() 
      {
      // TODO Auto-generated method stub   
       }
       };
 
    PictureCallback cameraPictureCallbackRaw = new PictureCallback() 
    {  
      @Override
        public void onPictureTaken(byte[] data, Camera camera) 
        {
        // TODO Auto-generated method stub   
      }
       };
 
      PictureCallback cameraPictureCallbackJpeg = new PictureCallback() 
       {  
      @Override
      public void onPictureTaken(byte[] data, Camera camera) 
        {
        // TODO Auto-generated method stub   
        Bitmap cameraBitmap = BitmapFactory.decodeByteArray
                                                                  (data, 0, data.length);
      
      wid = cameraBitmap.getWidth();
      hgt = cameraBitmap.getHeight();
      
      Bitmap newImage = Bitmap.createBitmap
                                        (wid, hgt, Bitmap.Config.ARGB_8888);
   
      Canvas canvas = new Canvas(newImage);
   
      canvas.drawBitmap(cameraBitmap, 0f, 0f, null);
   
    
      File storagePath = new File(Environment.
                    getExternalStorageDirectory() + "/Vampire Photos/"); 
      storagePath.mkdirs(); 
   
      File myImage = new File(storagePath,
                    Long.toString(System.currentTimeMillis()) + ".jpg");
            
      try
      {
        FileOutputStream out = new FileOutputStream(myImage);
        newImage.compress(Bitmap.CompressFormat.JPEG, 80, out);


        out.flush();
        out.close();
      }
      catch(FileNotFoundException e)
      {
        Log.d("In Saving File", e + "");    
      }
      catch(IOException e)
      {
        Log.d("In Saving File", e + "");
      }
   
      camera.startPreview();
   
     
   
      newImage.recycle();
      newImage = null;
   
      cameraBitmap.recycle();
      cameraBitmap = null;
      }
       };
 
       @Override
        public void surfaceChanged(SurfaceHolder holder, 
                                       int format, int width, int height) 
       {
      // TODO Auto-generated method stub
     
      if(previewing)
      {
      camera.stopPreview();
      previewing = false;
    }
      try 
      {
      Camera.Parameters parameters = camera.getParameters();
      parameters.setPreviewSize(360,420);
      parameters.setRotation(90);
      camera.setParameters(parameters);
          
      camera.setPreviewDisplay(cameraSurfaceHolder);
      camera.startPreview();
      previewing = true;
    } 
    catch (IOException e) 
      {
      // TODO Auto-generated catch block
      e.printStackTrace();  
     }
    }

    @Override
     public void surfaceCreated(SurfaceHolder holder) 
    {
    // TODO Auto-generated method stub
    try
    {
      camera = Camera.open();
    }
    catch(RuntimeException e)
    {
      
    }
    }

      @Override
      public void surfaceDestroyed(SurfaceHolder holder) 
    {
    // TODO Auto-generated method stub
    camera.stopPreview();
    camera.release();
    camera = null;
    previewing = false;
    }
    }	

**LAYOUTS**

**Main.xml**

      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                     android:orientation="vertical"
                     android:layout_width="fill_parent"
                     android:layout_height="fill_parent">
       
      <SurfaceView android:id="@+id/cameraSurfaceView"  
                    android:layout_width="fill_parent" 
                    android:layout_height="fill_parent"
                    android:background="@drawable/frame"/>       
    
    </LinearLayout>


**Overlay.xml**


        <?xml version="1.0" encoding="utf-8"?>
	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                     android:orientation="vertical"
                     android:layout_width="fill_parent"
                     android:layout_height="fill_parent"
                     android:gravity="right">

		<Button
		    android:id="@+id/btnCapture"
		    android:layout_width="wrap_content"
		    android:layout_height="wrap_content"
		    android:layout_margin="10px"
		    android:background="@drawable/click"
		    android:gravity="center_vertical" />

		

    </LinearLayout>