summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/data/FixedLastDataAdapter.java
diff options
context:
space:
mode:
authorSascha Haeberling <haeberling@google.com>2013-08-06 14:31:52 -0700
committerSascha Haeberling <haeberling@google.com>2013-08-06 14:58:07 -0700
commit37f3611bbdc787c996a99894dcef7d8fb77e3f7c (patch)
tree4dc08a60a543dc4d2b0672a8c0cc4efdc30b52ad /src/com/android/camera/data/FixedLastDataAdapter.java
parent8fe71f31bc8ab1b634566a3060e041e22e9b2e41 (diff)
downloadandroid_packages_apps_Snap-37f3611bbdc787c996a99894dcef7d8fb77e3f7c.tar.gz
android_packages_apps_Snap-37f3611bbdc787c996a99894dcef7d8fb77e3f7c.tar.bz2
android_packages_apps_Snap-37f3611bbdc787c996a99894dcef7d8fb77e3f7c.zip
This adds the following four CLs to Camera2:
http://ag/339319 http://ag/338974 http://ag/338401 http://ag/324149 Adapted to work in Camera2 and adding a .gitignore so that temporary Eclipse files and folders are not submitted. Change-Id: I40295c7f0139f76270c44f0ca395c0574a288569
Diffstat (limited to 'src/com/android/camera/data/FixedLastDataAdapter.java')
-rw-r--r--src/com/android/camera/data/FixedLastDataAdapter.java57
1 files changed, 45 insertions, 12 deletions
diff --git a/src/com/android/camera/data/FixedLastDataAdapter.java b/src/com/android/camera/data/FixedLastDataAdapter.java
index 16c047d1a..b8325ec72 100644
--- a/src/com/android/camera/data/FixedLastDataAdapter.java
+++ b/src/com/android/camera/data/FixedLastDataAdapter.java
@@ -29,7 +29,8 @@ import com.android.camera.ui.FilmStripView;
*/
public class FixedLastDataAdapter extends AbstractLocalDataAdapterWrapper {
- private final LocalData mLastData;
+ private LocalData mLastData;
+ private Listener mListener;
/**
* Constructor.
@@ -48,6 +49,25 @@ public class FixedLastDataAdapter extends AbstractLocalDataAdapterWrapper {
}
@Override
+ public void setListener(Listener listener) {
+ super.setListener(listener);
+ mListener = listener;
+ }
+
+ @Override
+ public LocalData getLocalData(int dataID) {
+ int totalNumber = mAdapter.getTotalNumber();
+
+ if (dataID < totalNumber) {
+ return mAdapter.getLocalData(dataID);
+ } else if (dataID == totalNumber) {
+ return mLastData;
+ }
+
+ return null;
+ }
+
+ @Override
public void removeData(Context context, int dataID) {
if (dataID < mAdapter.getTotalNumber()) {
mAdapter.removeData(context, dataID);
@@ -60,6 +80,30 @@ public class FixedLastDataAdapter extends AbstractLocalDataAdapterWrapper {
}
@Override
+ public void updateData(final int pos, LocalData data) {
+ int totalNumber = mAdapter.getTotalNumber();
+
+ if (pos < totalNumber) {
+ mAdapter.updateData(pos, data);
+ } else if (pos == totalNumber) {
+ mLastData = data;
+ if (mListener != null) {
+ mListener.onDataUpdated(new UpdateReporter() {
+ @Override
+ public boolean isDataRemoved(int dataID) {
+ return false;
+ }
+
+ @Override
+ public boolean isDataUpdated(int dataID) {
+ return (dataID == pos);
+ }
+ });
+ }
+ }
+ }
+
+ @Override
public int getTotalNumber() {
return mAdapter.getTotalNumber() + 1;
}
@@ -102,17 +146,6 @@ public class FixedLastDataAdapter extends AbstractLocalDataAdapterWrapper {
}
@Override
- public void onDataCentered(int dataID, boolean centered) {
- int totalNumber = mAdapter.getTotalNumber();
-
- if (dataID < totalNumber) {
- mAdapter.onDataCentered(dataID, centered);
- } else if (dataID == totalNumber) {
- // TODO: notify the data
- }
- }
-
- @Override
public boolean canSwipeInFullScreen(int dataID) {
int totalNumber = mAdapter.getTotalNumber();