summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAngus Kong <shkong@google.com>2013-08-21 11:03:38 -0700
committerAngus Kong <shkong@google.com>2013-08-21 11:36:31 -0700
commitaa2a243bdc91b809dbfe01a9933b02e6b95d983f (patch)
treef5704d81ea6c02b647f3d57b1412cc2ed970a025
parent025136bb4639d84b2a5a7b95367fabcc92b86415 (diff)
downloadandroid_packages_apps_Snap-aa2a243bdc91b809dbfe01a9933b02e6b95d983f.tar.gz
android_packages_apps_Snap-aa2a243bdc91b809dbfe01a9933b02e6b95d983f.tar.bz2
android_packages_apps_Snap-aa2a243bdc91b809dbfe01a9933b02e6b95d983f.zip
Fix delete animation in fullscreen mode.
bug:10414539 Change-Id: I798492a824306d0eb479aae4e822cd9c7fbe3530
-rw-r--r--src/com/android/camera/ui/FilmStripView.java62
1 files changed, 16 insertions, 46 deletions
diff --git a/src/com/android/camera/ui/FilmStripView.java b/src/com/android/camera/ui/FilmStripView.java
index ee7cc6474..4d37f04c4 100644
--- a/src/com/android/camera/ui/FilmStripView.java
+++ b/src/com/android/camera/ui/FilmStripView.java
@@ -36,7 +36,6 @@ import com.android.camera.CameraActivity;
import com.android.camera.data.LocalData;
import com.android.camera.ui.FilmStripView.ImageData.PanoramaSupportCallback;
import com.android.camera.ui.FilmstripBottomControls.BottomControlsListener;
-import com.android.camera.util.CameraUtil;
import com.android.camera.util.PhotoSphereHelper.PanoramaViewHelper;
import com.android.camera2.R;
@@ -348,10 +347,6 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
public boolean isScrolling();
- public void lockAtCurrentView();
-
- public void unlockPosition();
-
public void gotoCameraFullScreen();
public void gotoFilmStrip();
@@ -537,10 +532,6 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
mPanoramaViewHelper = helper;
}
- public float getScale() {
- return mScale;
- }
-
public boolean isAnchoredTo(int id) {
if (mViewItem[mCurrentItem] == null) {
return false;
@@ -1006,17 +997,14 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
stepIfNeeded();
adjustChildZOrder();
snapInCenter();
- invalidate();
updateBottomControls();
mLastItemId = getCurrentId();
+
+ invalidate();
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
- if (mViewItem[mCurrentItem] == null) {
- return;
- }
-
mDrawArea.left = l;
mDrawArea.top = t;
mDrawArea.right = r;
@@ -1087,6 +1075,15 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
mViewItem[curr] = buildItemFromData(mViewItem[prev].getID() + 1);
}
+ // The animation part.
+ if (inFullScreen()) {
+ mViewItem[mCurrentItem].getView().setVisibility(VISIBLE);
+ ViewItem nextItem = mViewItem[mCurrentItem + 1];
+ if (nextItem != null) {
+ nextItem.getView().setVisibility(INVISIBLE);
+ }
+ }
+
// Translate the views to their original places.
for (int i = removedItem; i < BUFFER_SIZE; i++) {
if (mViewItem[i] != null) {
@@ -1470,9 +1467,6 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
private boolean mCanStopScroll;
- private boolean mIsPositionLocked;
- private int mLockedViewItem;
-
MyController(Context context) {
mScroller = new Scroller(context);
mHasNewPosition = false;
@@ -1501,7 +1495,7 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
}
// If the position is locked, then we always return true to force
// the position value to use the locked value.
- return (mHasNewPosition || mHasNewScale || mIsPositionLocked);
+ return (mHasNewPosition || mHasNewScale);
}
/**
@@ -1521,32 +1515,10 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
* value.
*/
int getNewPosition() {
- if (mIsPositionLocked) {
- if (mViewItem[mLockedViewItem] == null)
- return mCenterX;
- return mViewItem[mLockedViewItem].getCenterX();
- }
- if (!mHasNewPosition)
+ if (!mHasNewPosition) {
return mCenterX;
- return mScroller.getCurrX();
- }
-
- @Override
- public void lockAtCurrentView() {
- mIsPositionLocked = true;
- mLockedViewItem = mCurrentItem;
- }
-
- @Override
- public void unlockPosition() {
- if (mIsPositionLocked) {
- // only when the position is previously locked we set the
- // current position to make it consistent.
- if (mViewItem[mLockedViewItem] != null) {
- mCenterX = mViewItem[mLockedViewItem].getCenterX();
- }
- mIsPositionLocked = false;
}
+ return mScroller.getCurrX();
}
private int estimateMinX(int dataID, int leftPos, int viewWidth) {
@@ -1569,7 +1541,7 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
@Override
public void fling(float velocityX) {
- if (!stopScrolling() || mIsPositionLocked) {
+ if (!stopScrolling()) {
return;
}
ViewItem item = mViewItem[mCurrentItem];
@@ -1614,7 +1586,7 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
@Override
public void scrollTo(int position, int duration, boolean interruptible) {
- if (!stopScrolling() || mIsPositionLocked) {
+ if (!stopScrolling()) {
return;
}
mCanStopScroll = interruptible;
@@ -1639,7 +1611,6 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
@Override
public void gotoFilmStrip() {
- unlockPosition();
scaleTo(FILM_STRIP_SCALE, DURATION_GEOMETRY_ADJUST);
if (mListener != null) {
mListener.onSwitchMode(false);
@@ -1707,7 +1678,6 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
}
if (mCenterX == item.getCenterX()) {
if (inFilmStrip()) {
- unlockPosition();
snapInCenter();
}
}