summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAngus Kong <shkong@google.com>2013-05-31 21:19:19 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-05-31 21:19:20 +0000
commit5334fa3036425acf843072f32af72565b5547cf3 (patch)
treebc5f05ee0e3a5494b6a3b95ea039729efe65e1b9 /src
parentfb57df15a87f95ce8b2f861e54d960602912e03c (diff)
parentc31569ce211414f6db2447cc84ca71115f916b6f (diff)
downloadandroid_packages_apps_Snap-5334fa3036425acf843072f32af72565b5547cf3.tar.gz
android_packages_apps_Snap-5334fa3036425acf843072f32af72565b5547cf3.tar.bz2
android_packages_apps_Snap-5334fa3036425acf843072f32af72565b5547cf3.zip
Merge "Adjust data id even if it's not currently used." into gb-ub-photos-carlsbad
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/ui/FilmStripView.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/com/android/camera/ui/FilmStripView.java b/src/com/android/camera/ui/FilmStripView.java
index f6b7589f2..4d1d6e05d 100644
--- a/src/com/android/camera/ui/FilmStripView.java
+++ b/src/com/android/camera/ui/FilmStripView.java
@@ -543,13 +543,21 @@ public class FilmStripView extends ViewGroup {
.start();
}
- private void updateRemoval(int removedInfo, final ImageData data) {
+ private void updateRemoval(int dataID, final ImageData data) {
+ int removedInfo = findInfoByDataID(dataID);
+
+ // adjust the data id to be consistent
+ for (int i = 0; i < BUFFER_SIZE; i++) {
+ if (mViewInfo[i] == null || mViewInfo[i].getID() <= dataID) continue;
+ mViewInfo[i].setID(mViewInfo[i].getID() - 1);
+ }
+ if (removedInfo == -1) return;
+
final View removedView = mViewInfo[removedInfo].getView();
final int offsetX = (int) (removedView.getMeasuredWidth() + mViewGap);
for (int i = removedInfo + 1; i < BUFFER_SIZE; i++) {
if (mViewInfo[i] != null) {
- mViewInfo[i].setID(mViewInfo[i].getID() - 1);
mViewInfo[i].setLeftPosition(mViewInfo[i].getLeftPosition() - offsetX);
}
}
@@ -743,9 +751,7 @@ public class FilmStripView extends ViewGroup {
@Override
public void onDataRemoved(int dataID, ImageData data) {
- int info = findInfoByDataID(dataID);
- if (info == -1) return;
- updateRemoval(info, data);
+ updateRemoval(dataID, data);
}
});
}