Don't call onCurrentDataChanged for CameraPreview when reloading.

In this case, camera preview didn't change, so there is no need to call
onCurrentDataChanged.

bug:11237255
Change-Id: I788a2ee4e7337721d0bbd6aa75e7da6d382bf282
diff --git a/src/com/android/camera/ui/FilmStripView.java b/src/com/android/camera/ui/FilmStripView.java
index 564dd5d..c95f07c 100644
--- a/src/com/android/camera/ui/FilmStripView.java
+++ b/src/com/android/camera/ui/FilmStripView.java
@@ -1906,10 +1906,19 @@
         mController.stopScrolling(true);
         mController.stopScale();
         mDataIdOnUserScrolling = 0;
-        // Remove all views from the mViewItem buffer, except the camera view.
+        // Reload has a side effect that after this call, it will show the
+        // camera preview. So we want to know whether it starts from the camera
+        // preview to decide whether we need to call onDataFocusChanged.
+        boolean stayInPreview = false;
+
         if (mListener != null && mViewItem[mCurrentItem] != null) {
-            mListener.onDataFocusChanged(mViewItem[mCurrentItem].getId(), false);
+            stayInPreview = mViewItem[mCurrentItem].getId() == 0;
+            if (!stayInPreview) {
+                mListener.onDataFocusChanged(mViewItem[mCurrentItem].getId(), false);
+            }
         }
+
+        // Remove all views from the mViewItem buffer, except the camera view.
         for (int i = 0; i < mViewItem.length; i++) {
             if (mViewItem[i] == null) {
                 continue;
@@ -1950,7 +1959,9 @@
 
         if (mListener != null) {
             mListener.onReload();
-            mListener.onDataFocusChanged(mViewItem[mCurrentItem].getId(), true);
+            if (!stayInPreview) {
+                mListener.onDataFocusChanged(mViewItem[mCurrentItem].getId(), true);
+            }
         }
     }