diff options
author | Kedi Xu <kedix@codeaurora.org> | 2016-08-04 18:21:04 +0800 |
---|---|---|
committer | Kedi Xu <kedix@codeaurora.org> | 2016-08-04 18:21:04 +0800 |
commit | de4bbef3381b556af6a9ad5f713a2031f1e7a1d2 (patch) | |
tree | f3cf687c053d9ed01b44c5f3614d7fccde4c53ce /src/com/android/gallery3d/ui | |
parent | 7e593580a66b4750f2eb75b4e187bb178ee4b996 (diff) | |
download | android_packages_apps_Gallery2-de4bbef3381b556af6a9ad5f713a2031f1e7a1d2.tar.gz android_packages_apps_Gallery2-de4bbef3381b556af6a9ad5f713a2031f1e7a1d2.tar.bz2 android_packages_apps_Gallery2-de4bbef3381b556af6a9ad5f713a2031f1e7a1d2.zip |
SnapdragonGallery: Fix select number show nagtive
When no items in gallery, then select all,
screenshort, deselect the picture, shows -1
Change-Id: Ic3cffb4275af0aa20c8d2b326471979b74e10041
CRs-Fixed: 1049620
Diffstat (limited to 'src/com/android/gallery3d/ui')
-rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/ui/SelectionManager.java | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/ui/SelectionManager.java b/src/com/android/gallery3d/ui/SelectionManager.java index 85616263c..da61bf19c 100644..100755 --- a/src/com/android/gallery3d/ui/SelectionManager.java +++ b/src/com/android/gallery3d/ui/SelectionManager.java @@ -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; + } } |