|
|
|
@ -286,6 +286,7 @@ class Camera1 extends CameraController { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
void setLocation(Location location) { |
|
|
|
|
try { |
|
|
|
|
Location oldLocation = mLocation; |
|
|
|
|
mLocation = location; |
|
|
|
|
if (isCameraAvailable()) { |
|
|
|
@ -295,6 +296,12 @@ class Camera1 extends CameraController { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
catch (Exception e) { |
|
|
|
|
CameraException cameraException = |
|
|
|
|
new CameraConfigurationFailedException("Failed to set the location.", e); |
|
|
|
|
mCameraCallbacks.onError(cameraException); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean mergeLocation(Camera.Parameters params, Location oldLocation) { |
|
|
|
|
if (mLocation != null) { |
|
|
|
@ -324,6 +331,7 @@ class Camera1 extends CameraController { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
void setWhiteBalance(WhiteBalance whiteBalance) { |
|
|
|
|
try { |
|
|
|
|
WhiteBalance old = mWhiteBalance; |
|
|
|
|
mWhiteBalance = whiteBalance; |
|
|
|
|
if (isCameraAvailable()) { |
|
|
|
@ -333,6 +341,13 @@ class Camera1 extends CameraController { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
catch (Exception e) { |
|
|
|
|
// TODO handle, !mergeWhiteBalance, too?
|
|
|
|
|
CameraException cameraException = |
|
|
|
|
new CameraConfigurationFailedException("Failed to set the white balance.", e); |
|
|
|
|
mCameraCallbacks.onError(cameraException); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean mergeWhiteBalance(Camera.Parameters params, WhiteBalance oldWhiteBalance) { |
|
|
|
|
if (mOptions.supports(mWhiteBalance)) { |
|
|
|
@ -345,6 +360,7 @@ class Camera1 extends CameraController { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
void setHdr(Hdr hdr) { |
|
|
|
|
try { |
|
|
|
|
Hdr old = mHdr; |
|
|
|
|
mHdr = hdr; |
|
|
|
|
if (isCameraAvailable()) { |
|
|
|
@ -354,6 +370,13 @@ class Camera1 extends CameraController { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
catch (Exception e) { |
|
|
|
|
// TODO handle, !mergeHdr, too?
|
|
|
|
|
CameraException cameraException = |
|
|
|
|
new CameraConfigurationFailedException("Failed to set hdr.", e); |
|
|
|
|
mCameraCallbacks.onError(cameraException); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean mergeHdr(Camera.Parameters params, Hdr oldHdr) { |
|
|
|
|
if (mOptions.supports(mHdr)) { |
|
|
|
@ -377,6 +400,7 @@ class Camera1 extends CameraController { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
void setFlash(Flash flash) { |
|
|
|
|
try { |
|
|
|
|
Flash old = mFlash; |
|
|
|
|
mFlash = flash; |
|
|
|
|
if (isCameraAvailable()) { |
|
|
|
@ -386,6 +410,13 @@ class Camera1 extends CameraController { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
catch (Exception e) { |
|
|
|
|
// TODO handle, !mergeFlash, too?
|
|
|
|
|
CameraException cameraException = |
|
|
|
|
new CameraConfigurationFailedException("Failed to set flash.", e); |
|
|
|
|
mCameraCallbacks.onError(cameraException); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private boolean mergeFlash(Camera.Parameters params, Flash oldFlash) { |
|
|
|
@ -427,12 +458,12 @@ class Camera1 extends CameraController { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
void setVideoQuality(VideoQuality videoQuality) { |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
if (mIsCapturingVideo) { |
|
|
|
|
// TODO: actually any call to getParameters() could fail while recording a video.
|
|
|
|
|
// See. https://stackoverflow.com/questions/14941625/correct-handling-of-exception-getparameters-failed-empty-parameters
|
|
|
|
|
CameraException cameraException = new CameraConfigurationFailedException("Can't change video quality while recording a video."); |
|
|
|
|
mCameraCallbacks.onError(cameraException); |
|
|
|
|
return; |
|
|
|
|
throw new IllegalStateException("Can't change video quality while recording a video."); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
mVideoQuality = videoQuality; |
|
|
|
@ -454,6 +485,12 @@ class Camera1 extends CameraController { |
|
|
|
|
LOG.i("setVideoQuality:", "previewSize:", mPreviewSize); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
catch (Exception e) { |
|
|
|
|
CameraException cameraException = |
|
|
|
|
new CameraConfigurationFailedException("Failed to set video quality.", e); |
|
|
|
|
mCameraCallbacks.onError(cameraException); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
boolean capturePicture() { |
|
|
|
@ -782,6 +819,7 @@ class Camera1 extends CameraController { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
boolean setZoom(float zoom) { |
|
|
|
|
try { |
|
|
|
|
if (!isCameraAvailable()) return false; |
|
|
|
|
if (!mOptions.isZoomSupported()) return false; |
|
|
|
|
synchronized (mLock) { |
|
|
|
@ -792,10 +830,19 @@ class Camera1 extends CameraController { |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
catch (Exception e) { |
|
|
|
|
CameraException cameraException = |
|
|
|
|
new CameraConfigurationFailedException("Failed to set zoom.", e); |
|
|
|
|
mCameraCallbacks.onError(cameraException); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
boolean setExposureCorrection(float EVvalue) { |
|
|
|
|
try { |
|
|
|
|
if (!isCameraAvailable()) return false; |
|
|
|
|
if (!mOptions.isExposureCorrectionSupported()) return false; |
|
|
|
|
float max = mOptions.getExposureCorrectionMaxValue(); |
|
|
|
@ -809,6 +856,14 @@ class Camera1 extends CameraController { |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
catch (Exception e) { |
|
|
|
|
CameraException cameraException = |
|
|
|
|
new CameraConfigurationFailedException("Failed to set exposure correction.", e); |
|
|
|
|
mCameraCallbacks.onError(cameraException); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// -----------------
|
|
|
|
|
// Tap to focus stuff.
|
|
|
|
|