Merge "Stop activity leaks" into ub-camera-glacier
diff --git a/src/com/android/camera/settings/CameraSettingsActivity.java b/src/com/android/camera/settings/CameraSettingsActivity.java
index db9c62c..82b54cd 100644
--- a/src/com/android/camera/settings/CameraSettingsActivity.java
+++ b/src/com/android/camera/settings/CameraSettingsActivity.java
@@ -254,6 +254,14 @@
          * was found and removed.
          */
         private boolean recursiveDelete(PreferenceGroup group, Preference preference) {
+            if (group == null) {
+                Log.d(TAG, "attempting to delete from null preference group");
+                return false;
+            }
+            if (preference == null) {
+                Log.d(TAG, "attempting to delete null preference");
+                return false;
+            }
             if (group.removePreference(preference)) {
                 // Removal was successful.
                 return true;
diff --git a/src/com/android/camera/widget/FilmstripView.java b/src/com/android/camera/widget/FilmstripView.java
index 355f09f..70c2b86 100644
--- a/src/com/android/camera/widget/FilmstripView.java
+++ b/src/com/android/camera/widget/FilmstripView.java
@@ -1484,6 +1484,10 @@
                         getMeasuredWidth(), getMeasuredHeight());
         final int offsetX = dim.x + mViewGapInPixel;
         ViewItem viewItem = buildItemFromData(dataID);
+        if (viewItem == null) {
+            Log.w(TAG, "unable to build inserted item from data");
+            return;
+        }
 
         if (insertedItemId >= mCurrentItem) {
             if (insertedItemId == mCurrentItem) {