From cb725ec9c662b9e53aad9135334b656a494fee01 Mon Sep 17 00:00:00 2001 From: Kedi Xu Date: Mon, 29 Aug 2016 15:38:59 +0800 Subject: SnapdragonGallery: optimize SlideShow start speed When launch SlideShow in TimeLinePage, the FilterTypeSet will load data twice. Avoid the useless data load. Change-Id: I43203bd52d2811ef651435c49e624b8e3d8b0361 CRs-Fixed: 1050332 --- src/com/android/gallery3d/data/FilterTypeSet.java | 10 ++++++++++ 1 file changed, 10 insertions(+) mode change 100644 => 100755 src/com/android/gallery3d/data/FilterTypeSet.java (limited to 'src') diff --git a/src/com/android/gallery3d/data/FilterTypeSet.java b/src/com/android/gallery3d/data/FilterTypeSet.java old mode 100644 new mode 100755 index e778ceb12..50a7c6964 --- 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 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(); -- cgit v1.2.3