Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8fd4e9b authored by Kedi Xu's avatar Kedi Xu Committed by Steve Kondik
Browse files

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
parent 583a1a5d
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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();