diff options
author | Sascha Haeberling <haeberling@google.com> | 2013-08-06 14:31:52 -0700 |
---|---|---|
committer | Sascha Haeberling <haeberling@google.com> | 2013-08-06 14:58:07 -0700 |
commit | 37f3611bbdc787c996a99894dcef7d8fb77e3f7c (patch) | |
tree | 4dc08a60a543dc4d2b0672a8c0cc4efdc30b52ad /src/com/android/camera/data/FixedLastDataAdapter.java | |
parent | 8fe71f31bc8ab1b634566a3060e041e22e9b2e41 (diff) | |
download | android_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.java | 57 |
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(); |