summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/data/FixedFirstDataAdapter.java
diff options
context:
space:
mode:
authorAngus Kong <shkong@google.com>2013-08-09 13:05:55 -0700
committerAngus Kong <shkong@google.com>2013-08-09 14:20:34 -0700
commit3d0b691b8f7a844093e8de9267ffa2ce16d0c5a9 (patch)
tree90f70df6b5497d44c76000b7917eabff85465e8c /src/com/android/camera/data/FixedFirstDataAdapter.java
parent70466a0f15b91efdfdfd97a718e3d4089666a51c (diff)
downloadandroid_packages_apps_Snap-3d0b691b8f7a844093e8de9267ffa2ce16d0c5a9.tar.gz
android_packages_apps_Snap-3d0b691b8f7a844093e8de9267ffa2ce16d0c5a9.tar.bz2
android_packages_apps_Snap-3d0b691b8f7a844093e8de9267ffa2ce16d0c5a9.zip
Fix DataAdapter wrapper classes callback mechanism.
Also to fix FilmStripView to avoid NPE before data is loaded. Change-Id: I6c8a3d215d9f1dc72b4207e52023c1e27e9df123
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);
}
});
}