import com.android.camera.ui.PreviewStatusListener;
import com.android.camera.util.ApiHelper;
import com.android.camera.util.Callback;
-import com.android.camera.util.CameraSettingsActivityHelper;
import com.android.camera.util.CameraUtil;
import com.android.camera.util.GalleryHelper;
import com.android.camera.util.GcamHelper;
}
if (mCurrentModule != null) {
resetExposureCompensationToDefault(camera);
- mCurrentModule.onCameraAvailable(camera);
+ try {
+ mCurrentModule.onCameraAvailable(camera);
+ } catch (RuntimeException ex) {
+ Log.e(TAG, "Error connecting to camera", ex);
+ mFatalErrorHandler.onCameraOpenFailure();
+ }
} else {
Log.v(TAG, "mCurrentModule null, not invoking onCameraAvailable");
}
new FirstRunDialog.FirstRunDialogListener() {
@Override
public void onFirstRunStateReady() {
- // Make sure additional preferences have the correct resolution selected
- CameraSettingsActivityHelper.verifyDefaults(getSettingsManager(),
- getAndroidContext());
-
// Run normal resume tasks.
resume();
}
* -1, if no camera meeting the specification was found.
*/
public static int getCameraId(CameraDeviceInfo info, CameraDeviceSelector chooser) {
+ if (info == null) {
+ return -1;
+ }
int numCameras = info.getNumberOfCameras();
for (int i = 0; i < numCameras; ++i) {
CameraDeviceInfo.Characteristics props = info.getCharacteristics(i);