summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/ui
diff options
context:
space:
mode:
authorKedi Xu <kedix@codeaurora.org>2016-08-04 18:21:04 +0800
committerKedi Xu <kedix@codeaurora.org>2016-08-04 18:21:04 +0800
commitde4bbef3381b556af6a9ad5f713a2031f1e7a1d2 (patch)
treef3cf687c053d9ed01b44c5f3614d7fccde4c53ce /src/com/android/gallery3d/ui
parent7e593580a66b4750f2eb75b4e187bb178ee4b996 (diff)
downloadandroid_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.java45
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;
+ }
}