All pastes #2069048 Raw Edit

Miscellany

public text v1 · immutable
#2069048 ·published 2011-05-25 17:18 UTC
rendered paste body

package com.android.supportApp;

import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;

public class GetSupportActivity extends Activity {
	
	private static final String TAG = "SupportAppActivityCapture";
	private Camera camera;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setContentView(R.layout.capture);
		
    	View surfaceView = findViewById(R.id.surfaceView);
    	SurfaceHolder surface = ((SurfaceView)surfaceView).getHolder();
    	
        surface.addCallback(new SurfaceHolder.Callback() {
			@Override
			public void surfaceDestroyed(SurfaceHolder holder) {
				releaseCaptureScreen();
			}
			@Override
			public void surfaceCreated(SurfaceHolder holder) {
				initCaptureScreen();
			}
			@Override
			public void surfaceChanged(SurfaceHolder holder, int format, int width,
					int height) {
				camera.stopPreview();
				try {
					camera.setPreviewDisplay(holder);
				} catch (Throwable e) {
					Log.v(TAG, "FUCK..!");
					e.printStackTrace();
				} finally {
					camera.startPreview();
				}
			}
		});
	}
	
	protected void initCaptureScreen() {
		
    	
		Log.v(TAG, "Opening camera");
    	
    	camera = Camera.open();
    	
    	if(camera == null) {
    		GetSupportActivity.this.finish();
    	}
    	Log.v(TAG, "Camera was not null");
    	
    	camera.setParameters(camera.getParameters());
	}
    
    protected void releaseCaptureScreen() {
    	
		camera.stopPreview();
		camera.release();
    	
    }
}