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

Commit 0eb124ce authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "SnapdragonGallery: Fix select number show nagtive"

parents e6c5375a de4bbef3
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import com.android.gallery3d.data.MediaSet;
import com.android.gallery3d.data.Path;
import com.android.gallery3d.ui.SynchronizedHandler;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
@@ -66,7 +67,7 @@ public class AlbumSetDataLoader {
    private long mSourceVersion = MediaObject.INVALID_DATA_VERSION;
    private int mSize;

    private DataListener mDataListener;
    private ArrayList<DataListener> mDataListener = new ArrayList<>();
    private LoadingListener mLoadingListener;
    private ReloadTask mReloadTask;

@@ -224,7 +225,11 @@ public class AlbumSetDataLoader {
    }

    public void setModelListener(DataListener listener) {
        mDataListener = listener;
        mDataListener.add(listener);
    }

    public void removeModelListener(DataListener listener) {
        mDataListener.remove(listener);
    }

    public void setLoadingListener(LoadingListener listener) {
@@ -287,7 +292,10 @@ public class AlbumSetDataLoader {
            mSourceVersion = info.version;
            if (mSize != info.size) {
                mSize = info.size;
                if (mDataListener != null) mDataListener.onSizeChanged(mSize);
                if (mDataListener != null)
                    for (DataListener l : mDataListener) {
                        l.onSizeChanged(mSize);
                    }
                if (mContentEnd > mSize) mContentEnd = mSize;
                if (mActiveEnd > mSize) mActiveEnd = mSize;
            }
@@ -303,7 +311,9 @@ public class AlbumSetDataLoader {
                mTotalCount[pos] = info.totalCount;
                if (mDataListener != null
                        && info.index >= mActiveStart && info.index < mActiveEnd) {
                    mDataListener.onContentChanged(info.index);
                    for (DataListener l : mDataListener) {
                        l.onContentChanged(info.index);
                    }
                }
            }
            return null;
+1 −0
Original line number Diff line number Diff line
@@ -523,6 +523,7 @@ public class AlbumSetPage extends ActivityState implements
        mSelectionManager.setSourceMediaSet(mMediaSet);
        mAlbumSetDataAdapter = new AlbumSetDataLoader(
                mActivity, mMediaSet, DATA_CACHE_SIZE);
        mSelectionManager.setAlbumSetDataLoader(mAlbumSetDataAdapter);
        mAlbumSetDataAdapter.setLoadingListener(new MyLoadingListener());
        mAlbumSetView.setModel(mAlbumSetDataAdapter);
    }
+13 −4
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ public class TimeLineDataLoader {
    private final Handler mMainHandler;
    private int mSize = 0;

    private DataListener mDataListener;
    private ArrayList<DataListener> mDataListener = new ArrayList<>();
    private MySourceListener mSourceListener = new MySourceListener();
    private LoadingListener mLoadingListener;

@@ -240,7 +240,11 @@ public class TimeLineDataLoader {
    }

    public void setDataListener(DataListener listener) {
        mDataListener = listener;
        mDataListener.add(listener);
    }

    public void removeDataListener(DataListener listener) {
        mDataListener.remove(listener);
    }

    public void setLoadingListener(LoadingListener listener) {
@@ -313,7 +317,10 @@ public class TimeLineDataLoader {
            mSourceVersion = info.version;
            if (mSize != info.size) {
                mSize = info.size;
                if (mDataListener != null) mDataListener.onSizeChanged();
                if (mDataListener != null)
                    for (DataListener l : mDataListener) {
                        l.onSizeChanged();
                    }
                if (mContentEnd > mSize) mContentEnd = mSize;
                if (mActiveEnd > mSize) mActiveEnd = mSize;
            }
@@ -341,7 +348,9 @@ public class TimeLineDataLoader {
                        mItemVersion[index] = itemVersion;
                        mData[index] = updateItem;
                        if (mDataListener != null && i >= mActiveStart && i < mActiveEnd) {
                            mDataListener.onContentChanged(i);
                            for (DataListener l : mDataListener) {
                                l.onContentChanged(i);
                            }
                        }
                    }
               }
+1 −0
Original line number Diff line number Diff line
@@ -544,6 +544,7 @@ public class TimeLinePage extends ActivityState implements
        }
        mAlbumDataAdapter = new TimeLineDataLoader(mActivity, mMediaSet);
        mSelectionManager.setSourceMediaSet(mMediaSet);
        mSelectionManager.setTimeLineDataLoader(mAlbumDataAdapter);
        //mSelectionManager.setAlbumDataAdapter(mAlbumDataAdapter);
        mAlbumDataAdapter.setLoadingListener(new MyLoadingListener());
        mAlbumView.setModel(mAlbumDataAdapter);
+44 −1
Original line number Diff line number Diff line
@@ -17,6 +17,9 @@
package com.android.gallery3d.ui;

import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.app.AlbumSetDataLoader;
import com.android.gallery3d.app.TimeLineDataLoader;
import com.android.gallery3d.data.ContentListener;
import com.android.gallery3d.data.DataManager;
import com.android.gallery3d.data.MediaItem;
import com.android.gallery3d.data.MediaObject;
@@ -27,7 +30,7 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;

public class SelectionManager {
public class SelectionManager implements TimeLineDataLoader.DataListener, AlbumSetDataLoader.DataListener{
    @SuppressWarnings("unused")
    private static final String TAG = "SelectionManager";

@@ -47,6 +50,26 @@ public class SelectionManager {
    /** mTotalSelectable is the count of items
     * exclude not selectable such as Title item in TimeLine. */
    private int mTotalSelectable;
    private TimeLineDataLoader mTimeLineDataLoader;
    private AlbumSetDataLoader mAlbumSetDataLoader;

    @Override
    public void onContentChanged(int index) {
    }

    @Override
    public void onSizeChanged(int size) {
        if (mInverseSelection) {
            selectAll();
        }
    }

    @Override
    public void onSizeChanged() {
        if (mInverseSelection) {
            selectAll();
        }
    }

    public interface SelectionListener {
        public void onSelectionModeChange(int mode);
@@ -99,6 +122,12 @@ public class SelectionManager {

        mInSelectionMode = true;
        if (mListener != null) mListener.onSelectionModeChange(ENTER_SELECTION_MODE);
        if (mAlbumSetDataLoader != null) {
            mAlbumSetDataLoader.setModelListener(this);
        }
        if (mTimeLineDataLoader != null) {
            mTimeLineDataLoader.setDataListener(this);
        }
    }

    public void leaveSelectionMode() {
@@ -108,6 +137,12 @@ public class SelectionManager {
        mInverseSelection = false;
        mClickedSet.clear();
        if (mListener != null) mListener.onSelectionModeChange(LEAVE_SELECTION_MODE);
        if (mAlbumSetDataLoader != null) {
            mAlbumSetDataLoader.removeModelListener(this);
        }
        if (mTimeLineDataLoader != null) {
            mTimeLineDataLoader.removeDataListener(this);
        }
    }

    public boolean isItemSelected(Path itemId) {
@@ -293,4 +328,12 @@ public class SelectionManager {
        mSourceMediaSet = set;
        mTotal = -1;
    }

    public void setTimeLineDataLoader(TimeLineDataLoader loader) {
        mTimeLineDataLoader = loader;
    }

    public void setAlbumSetDataLoader(AlbumSetDataLoader loader) {
        mAlbumSetDataLoader = loader;
    }
}