diff options
author | Chih-Chung Chang <chihchung@google.com> | 2009-04-28 12:36:29 +0800 |
---|---|---|
committer | Chih-Chung Chang <chihchung@google.com> | 2009-04-28 12:36:29 +0800 |
commit | 73367867c547b78e18c5cab342af3db52d61a54c (patch) | |
tree | f6203efe11674f433f94815a882a0d00f9ee403e /src/com/android/camera/ImageManager.java | |
parent | ff9922fb1a15f70ba34f35bc50c5b5ef52c174b2 (diff) | |
download | LegacyCamera-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.java | 13 |
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); } |