summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ViewImage.java
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2008-12-17 18:05:54 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2008-12-17 18:05:54 -0800
commit0eaec58e292ce4eaa6baadecf643f0f65e48d278 (patch)
tree78ef71512fa619ca4befa57b239be433f6aae74e /src/com/android/camera/ViewImage.java
parent1d4c75065966c4f6f56900e31f655bfd1b334435 (diff)
downloadLegacyCamera-0eaec58e292ce4eaa6baadecf643f0f65e48d278.zip
LegacyCamera-0eaec58e292ce4eaa6baadecf643f0f65e48d278.tar.gz
LegacyCamera-0eaec58e292ce4eaa6baadecf643f0f65e48d278.tar.bz2
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'src/com/android/camera/ViewImage.java')
-rw-r--r--src/com/android/camera/ViewImage.java114
1 files changed, 58 insertions, 56 deletions
diff --git a/src/com/android/camera/ViewImage.java b/src/com/android/camera/ViewImage.java
index 4b9eb58..9579f19 100644
--- a/src/com/android/camera/ViewImage.java
+++ b/src/com/android/camera/ViewImage.java
@@ -102,8 +102,8 @@ public class ViewImage extends Activity
private Animation mHidePrevImageViewAnimation = new AlphaAnimation(1F, 0F);
private Animation mShowNextImageViewAnimation = new AlphaAnimation(0F, 1F);
private Animation mShowPrevImageViewAnimation = new AlphaAnimation(0F, 1F);
-
-
+
+
static final int sPadding = 20;
static final int sHysteresis = sPadding * 2;
static final int sBaseScrollDuration = 1000; // ms
@@ -127,17 +127,17 @@ public class ViewImage extends Activity
Runnable mDismissOnScreenControlsRunnable;
ZoomControls mZoomControls;
-
+
public ViewImage() {
}
-
+
private void updateNextPrevControls() {
boolean showPrev = mCurrentPosition > 0;
boolean showNext = mCurrentPosition < mAllImages.getCount() - 1;
-
+
boolean prevIsVisible = mPrevImageView.getVisibility() == View.VISIBLE;
boolean nextIsVisible = mNextImageView.getVisibility() == View.VISIBLE;
-
+
if (showPrev && !prevIsVisible) {
Animation a = mShowPrevImageViewAnimation;
a.setDuration(500);
@@ -205,7 +205,7 @@ public class ViewImage extends Activity
mDismissOnScreenControlsRunnable = new Runnable() {
public void run() {
mZoomControls.hide();
-
+
if (mNextImageView.getVisibility() == View.VISIBLE) {
Animation a = mHideNextImageViewAnimation;
a.setDuration(500);
@@ -213,7 +213,7 @@ public class ViewImage extends Activity
mNextImageView.setAnimation(a);
mNextImageView.setVisibility(View.INVISIBLE);
}
-
+
if (mPrevImageView.getVisibility() == View.VISIBLE) {
Animation a = mHidePrevImageViewAnimation;
a.setDuration(500);
@@ -252,14 +252,14 @@ public class ViewImage extends Activity
static public class ImageViewTouch extends ImageViewTouchBase {
private ViewImage mViewImage;
-
+
private static int TOUCH_STATE_REST = 0;
private static int TOUCH_STATE_LEFT_PRESS = 1;
- private static int TOUCH_STATE_RIGHT_PRESS = 2;
- private static int TOUCH_STATE_PANNING = 3;
-
+ private static int TOUCH_STATE_RIGHT_PRESS = 2;
+ private static int TOUCH_STATE_PANNING = 3;
+
private static int TOUCH_AREA_WIDTH = 60;
-
+
private int mTouchState = TOUCH_STATE_REST;
public ImageViewTouch(Context context) {
@@ -300,7 +300,7 @@ public class ViewImage extends Activity
mLastYTouchPos = y;
mTouchState = TOUCH_STATE_REST;
break;
- case MotionEvent.ACTION_MOVE:
+ case MotionEvent.ACTION_MOVE:
if (x < TOUCH_AREA_WIDTH) {
if (mTouchState == TOUCH_STATE_REST) {
mTouchState = TOUCH_STATE_LEFT_PRESS;
@@ -325,10 +325,10 @@ public class ViewImage extends Activity
mTouchState = TOUCH_STATE_PANNING;
viewImage.mPrevImageView.setPressed(false);
viewImage.mNextImageView.setPressed(false);
-
+
int deltaX;
int deltaY;
-
+
if (mLastXTouchPos == -1) {
deltaX = 0;
deltaY = 0;
@@ -342,7 +342,7 @@ public class ViewImage extends Activity
if (mBitmapDisplayed == null)
return true;
-
+
if (deltaX != 0) {
// Second. Pan to whatever degree is possible.
if (getScale() > 1F) {
@@ -357,7 +357,7 @@ public class ViewImage extends Activity
int nextImagePos = -1;
if (mTouchState == TOUCH_STATE_LEFT_PRESS && x < TOUCH_AREA_WIDTH) {
nextImagePos = viewImage.mCurrentPosition - 1;
- } else if (mTouchState == TOUCH_STATE_RIGHT_PRESS &&
+ } else if (mTouchState == TOUCH_STATE_RIGHT_PRESS &&
x > viewWidth - TOUCH_AREA_WIDTH) {
nextImagePos = viewImage.mCurrentPosition + 1;
}
@@ -546,7 +546,7 @@ public class ViewImage extends Activity
private void animateScrollTo(int xNew, int yNew) {
mScroller.startScrollTo(xNew, yNew);
}
-
+
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
@@ -564,9 +564,8 @@ public class ViewImage extends Activity
});
item.setIcon(android.R.drawable.ic_menu_slideshow);
}
-
+
mFlipItem = MenuHelper.addFlipOrientation(menu, ViewImage.this, mPrefs);
- mFlipItem.setIcon(android.R.drawable.ic_menu_always_landscape_portrait);
final SelectedImageGetter selectedImageGetter = new SelectedImageGetter() {
public ImageManager.IImage getCurrentImage() {
@@ -581,6 +580,7 @@ public class ViewImage extends Activity
mImageMenuRunnable = MenuHelper.addImageMenuItems(
menu,
MenuHelper.INCLUDE_ALL,
+ true,
ViewImage.this,
mHandler,
mDeletePhotoRunnable,
@@ -641,7 +641,7 @@ public class ViewImage extends Activity
setImage(mCurrentPosition);
}
};
-
+
@Override
public boolean onPrepareOptionsMenu(Menu menu)
{
@@ -663,7 +663,7 @@ public class ViewImage extends Activity
private boolean isCurrentImageShareable() {
IImage image = mAllImages.getImageAt(mCurrentPosition);
if (image != null){
- Uri uri = image.fullSizeImageUri();
+ Uri uri = image.fullSizeImageUri();
String fullUri = uri.toString();
return fullUri.startsWith(MediaStore.Images.Media.INTERNAL_CONTENT_URI.toString()) ||
fullUri.startsWith(MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
@@ -674,10 +674,12 @@ public class ViewImage extends Activity
@Override
public void onConfigurationChanged(android.content.res.Configuration newConfig) {
super.onConfigurationChanged(newConfig);
- for (ImageViewTouchBase iv: mImageViews) {
- iv.setImageBitmapResetBase(null, false, true);
+ if (newConfig.orientation != getResources().getConfiguration().orientation) {
+ for (ImageViewTouchBase iv: mImageViews) {
+ iv.setImageBitmapResetBase(null, false, true);
+ }
+ MenuHelper.requestOrientation(this, mPrefs);
}
- MenuHelper.requestOrientation(this, mPrefs);
}
@Override
@@ -839,7 +841,7 @@ public class ViewImage extends Activity
if (mLoad != null) {
long t1;
if (Config.LOGV) t1 = System.currentTimeMillis();
-
+
Bitmap b = null;
try {
b = mLoad.get();
@@ -941,7 +943,7 @@ public class ViewImage extends Activity
for (ImageViewTouchBase ivtb : mImageViews)
ivtb.dump();
}
-
+
if (!mFirst) {
if (left) {
mImageViews[2].copyFrom(mImageViews[1]);
@@ -977,7 +979,7 @@ public class ViewImage extends Activity
} else {
mScroller.scrollTo(to, 0);
}
-
+
ImageGetterCallback cb = new ImageGetterCallback() {
public void completed(boolean wasCanceled) {
mImageViews[1].setFocusableInTouchMode(true);
@@ -1064,7 +1066,7 @@ public class ViewImage extends Activity
mSlideShowImageViews[i].setImageBitmapResetBase(null, true, true);
mSlideShowImageViews[i].setVisibility(View.INVISIBLE);
}
-
+
Uri uri = getIntent().getData();
if (Config.LOGV)
@@ -1132,7 +1134,7 @@ public class ViewImage extends Activity
for (ImageViewTouchBase ivt: mImageViews) {
ivt.clear();
}
-
+
if (false) {
Log.v(TAG, "current is " + this.mSlideShowImageCurrent);
this.mSlideShowImageViews[0].dump();
@@ -1161,7 +1163,7 @@ public class ViewImage extends Activity
Log.v(TAG, "read prefs... animidx: " + mAnimationIndex);
Log.v(TAG, "read prefs... interval: " + mSlideShowInterval);
}
-
+
if (mUseShuffleOrder) {
generateShuffleOrder();
}
@@ -1345,16 +1347,16 @@ public class ViewImage extends Activity
public void onSaveInstanceState(Bundle b) {
super.onSaveInstanceState(b);
ImageManager.IImage image = mAllImages.getImageAt(mCurrentPosition);
-
+
if (image != null){
- Uri uri = image.fullSizeImageUri();
- String bucket = null;
- if(getIntent()!= null && getIntent().getData()!=null)
- bucket = getIntent().getData().getQueryParameter("bucketId");
-
- if(bucket!=null)
- uri = uri.buildUpon().appendQueryParameter("bucketId", bucket).build();
-
+ Uri uri = image.fullSizeImageUri();
+ String bucket = null;
+ if(getIntent()!= null && getIntent().getData()!=null)
+ bucket = getIntent().getData().getQueryParameter("bucketId");
+
+ if(bucket!=null)
+ uri = uri.buildUpon().appendQueryParameter("bucketId", bucket).build();
+
b.putString("uri", uri.toString());
}
if (mMode == MODE_SLIDESHOW)
@@ -1364,8 +1366,15 @@ public class ViewImage extends Activity
@Override
public void onResume()
{
- super.onResume();
-
+ super.onResume();
+
+ // normally this will never be zero but if one "backs" into this
+ // activity after removing the sdcard it could be zero. in that
+ // case just "finish" since there's nothing useful that can happen.
+ if (mAllImages.getCount() == 0) {
+ finish();
+ }
+
ImageManager.IImage image = mAllImages.getImageAt(mCurrentPosition);
String sortOrder = mPrefs.getString("pref_gallery_sort_key", null);
@@ -1376,7 +1385,7 @@ public class ViewImage extends Activity
if (sortAscending != mSortAscending) {
init(image.fullSizeImageUri());
}
-
+
if (mGetter == null) {
makeGetter();
}
@@ -1394,20 +1403,13 @@ public class ViewImage extends Activity
});
setImage(mCurrentPosition);
- // normally this will never be zero but if one "backs" into this
- // activity after removing the sdcard it could be zero. in that
- // case just "finish" since there's nothing useful that can happen.
- if (mAllImages.getCount() == 0) {
- finish();
- } else {
- MenuHelper.requestOrientation(this, mPrefs);
- }
+ MenuHelper.requestOrientation(this, mPrefs);
}
@Override
public void onPause()
{
- super.onPause();
+ super.onPause();
mGetter.cancelCurrent();
mGetter.stop();
@@ -1415,18 +1417,18 @@ public class ViewImage extends Activity
setMode(MODE_NORMAL);
mAllImages.deactivate();
-
+
for (ImageViewTouchBase iv: mImageViews) {
iv.recycleBitmaps();
iv.setImageBitmap(null, true);
}
-
+
for (ImageViewTouchBase iv: mSlideShowImageViews) {
iv.recycleBitmaps();
iv.setImageBitmap(null, true);
}
}
-
+
@Override
public void onStop() {
super.onStop();