summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/data/FixedFirstDataAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/data/FixedFirstDataAdapter.java')
-rw-r--r--src/com/android/camera/data/FixedFirstDataAdapter.java24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/com/android/camera/data/FixedFirstDataAdapter.java b/src/com/android/camera/data/FixedFirstDataAdapter.java
index 2bff22aa4..ecb9c1402 100644
--- a/src/com/android/camera/data/FixedFirstDataAdapter.java
+++ b/src/com/android/camera/data/FixedFirstDataAdapter.java
@@ -133,6 +133,11 @@ public class FixedFirstDataAdapter extends AbstractLocalDataAdapterWrapper
public void setListener(Listener listener) {
mListener = listener;
mAdapter.setListener((listener == null) ? null : this);
+ // The first data is always there. Thus, When the listener is set,
+ // we should call listener.onDataLoaded().
+ if (mListener != null) {
+ mListener.onDataLoaded();
+ }
}
@Override
@@ -145,7 +150,20 @@ public class FixedFirstDataAdapter extends AbstractLocalDataAdapterWrapper
@Override
public void onDataLoaded() {
- mListener.onDataLoaded();
+ if (mListener == null) {
+ return;
+ }
+ mListener.onDataUpdated(new UpdateReporter() {
+ @Override
+ public boolean isDataRemoved(int dataID) {
+ return false;
+ }
+
+ @Override
+ public boolean isDataUpdated(int dataID) {
+ return (dataID != 0);
+ }
+ });
}
@Override
@@ -153,12 +171,12 @@ public class FixedFirstDataAdapter extends AbstractLocalDataAdapterWrapper
mListener.onDataUpdated(new UpdateReporter() {
@Override
public boolean isDataRemoved(int dataID) {
- return reporter.isDataRemoved(dataID - 1);
+ return (dataID != 0) && reporter.isDataRemoved(dataID - 1);
}
@Override
public boolean isDataUpdated(int dataID) {
- return reporter.isDataUpdated(dataID - 1);
+ return (dataID != 0) && reporter.isDataUpdated(dataID - 1);
}
});
}