package ru.net.jimm.photo;
import android.app.Activity;
import android.content.Intent;
import android.hardware.Camera;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.FrameLayout;
import ru.net.jimm.R;
public class CameraActivity extends Activity {
private static final String TAG = CameraActivity.class.getSimpleName();
private Preview preview;
private Button buttonClick;
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.photo);
int width = getIntent().getExtras().getInt("width", 1024);
int height = getIntent().getExtras().getInt("height", 768);
try {
init(width, height);
} catch (Exception ignored) {
}
}
@Override
public void onBackPressed() {
//if (null != preview) preview.destroyCamera();
setResult(RESULT_CANCELED, null);
finish();
}
private void init(int width, int height) {
preview = new Preview(this, width, height);
((FrameLayout) findViewById(R.id.preview)).addView(preview);
final Camera.PictureCallback jpegCallback = new Camera.PictureCallback() {
public void onPictureTaken(byte[] jpeg, Camera camera) {
try {
//preview.destroyCamera();
Activity it = CameraActivity.this;
Intent intent = new Intent();
intent.putExtra("photo", jpeg);
it.setResult(RESULT_OK, intent);
if (null != it.getParent()) {
it.getParent().setResult(RESULT_OK, intent);
}
it.finish();
} catch (Exception e) {
jimm.modules.DebugLog.panic("photo", e);
}
}
};
buttonClick = (Button) findViewById(R.id.tablePhotoButtonClick);
buttonClick.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
try {
preview.takePicture(jpegCallback);
} catch (Exception e) {
jimm.modules.DebugLog.panic("click", e);
}
}
});
}
}