diff options
Diffstat (limited to 'src')
| -rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/data/FilterTypeSet.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/data/FilterTypeSet.java b/src/com/android/gallery3d/data/FilterTypeSet.java index e778ceb12..50a7c6964 100644..100755 --- a/src/com/android/gallery3d/data/FilterTypeSet.java +++ b/src/com/android/gallery3d/data/FilterTypeSet.java @@ -64,6 +64,10 @@ public class FilterTypeSet extends MediaSet implements ContentListener { mPaths, start, count, mDataManager); } + public ArrayList<Path> getPaths() { + return mPaths; + } + @Override public long reload() { if (mBaseSet.reload() > mDataVersion) { @@ -88,12 +92,18 @@ public class FilterTypeSet extends MediaSet implements ContentListener { String filteredPath = basePath + "/{" + set.getPath().toString() + "}"; MediaSet filteredSet = mDataManager.getMediaSet(filteredPath); filteredSet.reload(); + if (filteredSet instanceof FilterTypeSet && ((FilterTypeSet)filteredSet).getPaths() != null) { + mPaths.addAll(((FilterTypeSet)filteredSet).getPaths()); + } if (filteredSet.getMediaItemCount() > 0 || filteredSet.getSubMediaSetCount() > 0) { mAlbums.add(filteredSet); } } + if (mPaths.size() > 0) { + return; + } // Items mPaths.clear(); final int total = mBaseSet.getMediaItemCount(); |
