package cs495.pocketdslr;
import android.app.Activity;
import android.content.Context;
import android.graphics.SurfaceTexture;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCaptureSession;
import android.media.ImageReader;
import android.os.Bundle;
import android.view.Surface;
import android.view.SurfaceView;
import android.view.TextureView;
import java.util.LinkedList;
import java.util.List;
/**
* Created by Chris on 3/11/2015.
*/
public class PocketDSLRContext implements PocketDSLRCameraCallback, TextureView.SurfaceTextureListener {
private PocketDSLRCamera camera;
private CameraSettingsManager cameraSettingsManager;
private UserContext user;
public PocketDSLRContext(Activity activity, TextureView cameraPreview) {
this.user = new UserContext(activity);
this.camera = new PocketDSLRCamera(activity, this.user, cameraPreview);
this.cameraSettingsManager = new CameraSettingsManager(activity, this.user.getCameraSettings(), camera);
cameraPreview.setSurfaceTextureListener(this);
}
public PocketDSLRCamera getCamera() {
return this.camera;
}
public UserContext getUser() {
return this.user;
}
protected void onReadyState() {
this.camera.onReadyState();
this.cameraSettingsManager.initializeSettingButtons();
}
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
this.onReadyState();
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
this.onReadyState();
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
return false;
}
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
}
@Override
public void onCameraReady(PocketDSLRCamera camera) throws CameraAccessException {
}
@Override
public void onCameraDestroy(PocketDSLRCamera camera) {
}
}