OSDN Git Service

Merge "Fix for N4 Video Rotation Bug" into ub-camera-haleakala
authorI-Jong Lin <ijonglin@google.com>
Thu, 30 Apr 2015 01:18:26 +0000 (01:18 +0000)
committerAndroid (Google) Code Review <android-gerrit@google.com>
Thu, 30 Apr 2015 01:18:27 +0000 (01:18 +0000)
src/com/android/camera/CameraActivity.java
src/com/android/camera/settings/SettingsUtil.java

index e8ed35d..0b65b3e 100644 (file)
@@ -135,7 +135,6 @@ import com.android.camera.ui.ModeListView.ModeListVisibilityChangedListener;
 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;
@@ -514,7 +513,12 @@ public class CameraActivity extends QuickActivity
         }
         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");
         }
@@ -1673,10 +1677,6 @@ public class CameraActivity extends QuickActivity
               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();
             }
index 03ba372..f83fb8b 100644 (file)
@@ -474,6 +474,9 @@ public class SettingsUtil {
      *         -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);