Merge "Fix for crash when PhotoApp deletes last Cam pic" into ub-camera-glacier
diff --git a/src/com/android/camera/widget/FilmstripView.java b/src/com/android/camera/widget/FilmstripView.java
index 0f7442e..fbd0d03 100644
--- a/src/com/android/camera/widget/FilmstripView.java
+++ b/src/com/android/camera/widget/FilmstripView.java
@@ -1370,15 +1370,20 @@
             // The end of the filmstrip might have been changed.
             // The mCenterX might be out of the bound.
             ViewItem currItem = mViewItem[mCurrentItem];
-            if (currItem.getId() == mDataAdapter.getTotalNumber() - 1
-                    && mCenterX > currItem.getCenterX()) {
-                int adjustDiff = currItem.getCenterX() - mCenterX;
-                mCenterX = currItem.getCenterX();
-                for (int i = 0; i < BUFFER_SIZE; i++) {
-                    if (mViewItem[i] != null) {
-                        mViewItem[i].translateXScaledBy(adjustDiff);
+            if(currItem!=null) {
+                if (currItem.getId() == mDataAdapter.getTotalNumber() - 1
+                        && mCenterX > currItem.getCenterX()) {
+                    int adjustDiff = currItem.getCenterX() - mCenterX;
+                    mCenterX = currItem.getCenterX();
+                    for (int i = 0; i < BUFFER_SIZE; i++) {
+                        if (mViewItem[i] != null) {
+                            mViewItem[i].translateXScaledBy(adjustDiff);
+                        }
                     }
                 }
+            } else {
+                // CurrItem should NOT be NULL, but if is, at least don't crash.
+                Log.w(TAG,"Caught invalid update in removal animation.");
             }
         } else {
             // fill the removed place by right shift