summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ImageManager.java
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2009-04-28 12:36:29 +0800
committerChih-Chung Chang <chihchung@google.com>2009-04-28 12:36:29 +0800
commit73367867c547b78e18c5cab342af3db52d61a54c (patch)
treef6203efe11674f433f94815a882a0d00f9ee403e /src/com/android/camera/ImageManager.java
parentff9922fb1a15f70ba34f35bc50c5b5ef52c174b2 (diff)
downloadLegacyCamera-73367867c547b78e18c5cab342af3db52d61a54c.zip
LegacyCamera-73367867c547b78e18c5cab342af3db52d61a54c.tar.gz
LegacyCamera-73367867c547b78e18c5cab342af3db52d61a54c.tar.bz2
Optimize allImages() to use ImageListUber only when necessary.
Diffstat (limited to 'src/com/android/camera/ImageManager.java')
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ImageManager.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/com/android/camera/ImageManager.java b/src/com/android/camera/ImageManager.java
index acd11aa..cbf025e 100755..100644
--- a/src/com/android/camera/ImageManager.java
+++ b/src/com/android/camera/ImageManager.java
@@ -410,6 +410,19 @@ public class ImageManager {
}
}
+ // Optimization: If some of the lists are empty, remove them.
+ // If there is only one remaining list, return it directly.
+
+ for (IImageList sublist : l) {
+ if (sublist.isEmpty()) {
+ l.remove(sublist);
+ }
+ }
+
+ if (l.size() == 1) {
+ return l.get(0);
+ }
+
IImageList [] imageList = l.toArray(new IImageList[l.size()]);
return new ImageListUber(imageList, sort);
}