summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/gallery3d/app/GalleryAppImpl.java4
-rw-r--r--src/com/android/gallery3d/app/PhotoPage.java23
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java3
-rw-r--r--src/com/android/gallery3d/filtershow/HistoryAdapter.java22
-rw-r--r--src/com/android/gallery3d/filtershow/PanelController.java1
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java19
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/GeometryMetadata.java14
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java2
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageFlip.java3
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageRotate.java4
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java4
-rw-r--r--src/com/android/gallery3d/filtershow/presets/ImagePreset.java9
12 files changed, 66 insertions, 42 deletions
diff --git a/src/com/android/gallery3d/app/GalleryAppImpl.java b/src/com/android/gallery3d/app/GalleryAppImpl.java
index 443bc47ee..7b37f6f34 100644
--- a/src/com/android/gallery3d/app/GalleryAppImpl.java
+++ b/src/com/android/gallery3d/app/GalleryAppImpl.java
@@ -63,7 +63,9 @@ public class GalleryAppImpl extends Application implements GalleryApp {
state, PackageManager.DONT_KILL_APP);
mStitchingProgressManager = LightCycleHelper.createStitchingManagerInstance(this);
- mStitchingProgressManager.addChangeListener(getDataManager());
+ if (mStitchingProgressManager != null) {
+ mStitchingProgressManager.addChangeListener(getDataManager());
+ }
}
@Override
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java
index bfe1d16de..fb4e88b2a 100644
--- a/src/com/android/gallery3d/app/PhotoPage.java
+++ b/src/com/android/gallery3d/app/PhotoPage.java
@@ -345,13 +345,22 @@ public class PhotoPage extends ActivityState implements
mMediaSet.getMediaItemCount() > 1) {
mPhotoView.switchToImage(1);
} else {
- mPhotoView.setFilmMode(false);
+ if (mAppBridge != null) mPhotoView.setFilmMode(false);
stayedOnCamera = true;
}
if (stayedOnCamera) {
- updateBars();
- updateCurrentPhoto(mModel.getMediaItem(0));
+ if (mAppBridge == null) {
+ GalleryUtils.startCameraActivity(mActivity);
+ /* We got here by swiping from photo 1 to the
+ placeholder, so make it be the thing that
+ is in focus when the user presses back from
+ the camera app */
+ mPhotoView.switchToImage(1);
+ } else {
+ updateBars();
+ updateCurrentPhoto(mModel.getMediaItem(0));
+ }
}
break;
}
@@ -579,6 +588,7 @@ public class PhotoPage extends ActivityState implements
@Override
public void onPictureCenter(boolean isCamera) {
+ isCamera = isCamera || (mInCameraRoll && mAppBridge == null);
mPhotoView.setWantPictureCenterCallbacks(false);
mHandler.removeMessages(MSG_ON_CAMERA_CENTER);
mHandler.removeMessages(MSG_ON_PICTURE_CENTER);
@@ -664,6 +674,11 @@ public class PhotoPage extends ActivityState implements
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
+ private void overrideTransitionToEditor() {
+ ((Activity) mActivity).overridePendingTransition(android.R.anim.slide_in_left,
+ android.R.anim.fade_out);
+ }
+
private void launchTinyPlanet() {
// Deep link into tiny planet
MediaItem current = mModel.getMediaItem(0);
@@ -673,6 +688,7 @@ public class PhotoPage extends ActivityState implements
.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
mRecenterCameraOnResume = false;
mActivity.startActivityForResult(intent, REQUEST_EDIT);
+ overrideTransitionToEditor();
}
private void launchPhotoEditor() {
@@ -693,6 +709,7 @@ public class PhotoPage extends ActivityState implements
mRecenterCameraOnResume = false;
((Activity) mActivity).startActivityForResult(Intent.createChooser(intent, null),
REQUEST_EDIT);
+ overrideTransitionToEditor();
}
private void requestDeferredUpdate() {
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index 3d968867f..7a7645a28 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -558,7 +558,7 @@ public class FilterShowActivity extends Activity implements OnItemClickListener,
R.string.ffx_x_process
};
- ImagePreset preset = new ImagePreset(); // empty
+ ImagePreset preset = new ImagePreset(getString(R.string.history_original)); // empty
preset.setImageLoader(mImageLoader);
ImageSmallFilter filter = new ImageSmallFilter(this);
@@ -614,6 +614,7 @@ public class FilterShowActivity extends Activity implements OnItemClickListener,
ImageSmallFilter previousFilter = null;
for (int i = 0; i < p; i++) {
ImageSmallBorder filter = new ImageSmallBorder(this);
+ borders[i].setName(getString(R.string.borders));
filter.setImageFilter(borders[i]);
filter.setController(this);
filter.setBorder(true);
diff --git a/src/com/android/gallery3d/filtershow/HistoryAdapter.java b/src/com/android/gallery3d/filtershow/HistoryAdapter.java
index 684c2fc46..d938c5aa6 100644
--- a/src/com/android/gallery3d/filtershow/HistoryAdapter.java
+++ b/src/com/android/gallery3d/filtershow/HistoryAdapter.java
@@ -18,6 +18,11 @@ import java.util.Vector;
public class HistoryAdapter extends ArrayAdapter<ImagePreset> {
private static final String LOGTAG = "HistoryAdapter";
private int mCurrentPresetPosition = 0;
+ private String mBorders = null;
+ private String mCrop = null;
+ private String mRotate = null;
+ private String mStraighten = null;
+ private String mMirror = null;
private MenuItem mUndoMenuItem = null;
private MenuItem mRedoMenuItem = null;
private MenuItem mResetMenuItem = null;
@@ -25,6 +30,11 @@ public class HistoryAdapter extends ArrayAdapter<ImagePreset> {
public HistoryAdapter(Context context, int resource, int textViewResourceId) {
super(context, resource, textViewResourceId);
FilterShowActivity activity = (FilterShowActivity) context;
+ mBorders = context.getString(R.string.borders);
+ mCrop = context.getString(R.string.crop);
+ mRotate = context.getString(R.string.rotate);
+ mStraighten = context.getString(R.string.straighten);
+ mMirror = context.getString(R.string.mirror);
}
public void setMenuItems(MenuItem undoItem, MenuItem redoItem, MenuItem resetItem) {
@@ -176,17 +186,17 @@ public class HistoryAdapter extends ArrayAdapter<ImagePreset> {
// TODO: use type of last filter, not a string, to discriminate.
if (position == getCount() - 1) {
typeView.setImageResource(R.drawable.ic_photoeditor_effects);
- } else if (item.historyName().equalsIgnoreCase("Border")) {
+ } else if (item.historyName().equalsIgnoreCase(mBorders)) {
typeView.setImageResource(R.drawable.ic_photoeditor_border);
- } else if (item.historyName().equalsIgnoreCase("Straighten")) {
+ } else if (item.historyName().equalsIgnoreCase(mStraighten)) {
typeView.setImageResource(R.drawable.ic_photoeditor_fix);
- } else if (item.historyName().equalsIgnoreCase("Crop")) {
+ } else if (item.historyName().equalsIgnoreCase(mCrop)) {
typeView.setImageResource(R.drawable.ic_photoeditor_fix);
- } else if (item.historyName().equalsIgnoreCase("Rotation")) {
+ } else if (item.historyName().equalsIgnoreCase(mRotate)) {
typeView.setImageResource(R.drawable.ic_photoeditor_fix);
- } else if (item.historyName().equalsIgnoreCase("Mirror")) {
+ } else if (item.historyName().equalsIgnoreCase(mMirror)) {
typeView.setImageResource(R.drawable.ic_photoeditor_fix);
- } else if (item.isFx()) {
+ } else if (item.isFx()) {
typeView.setImageResource(R.drawable.ic_photoeditor_effects);
} else {
typeView.setImageResource(R.drawable.ic_photoeditor_color);
diff --git a/src/com/android/gallery3d/filtershow/PanelController.java b/src/com/android/gallery3d/filtershow/PanelController.java
index 45ee235e2..2fbd831b6 100644
--- a/src/com/android/gallery3d/filtershow/PanelController.java
+++ b/src/com/android/gallery3d/filtershow/PanelController.java
@@ -490,6 +490,7 @@ public class PanelController implements OnClickListener {
public ImageFilter setImagePreset(ImageFilter filter, String name) {
ImagePreset copy = new ImagePreset(getImagePreset());
copy.add(filter);
+ copy.setHistoryName(name);
copy.setIsFx(false);
mMasterImage.setImagePreset(copy);
return filter;
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
index 2c7ed2dd8..04057681f 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
@@ -63,21 +63,6 @@ public class ImageFilterGeometry extends ImageFilter {
native protected void nativeApplyFilterStraighten(Bitmap src, int srcWidth, int srcHeight,
Bitmap dst, int dstWidth, int dstHeight, float straightenAngle);
- public Matrix buildMatrix(RectF r) {
- float dx = r.width() / 2;
- float dy = r.height() / 2;
- if (mGeometry.hasSwitchedWidthHeight()) {
- float temp = dx;
- dx = dy;
- dy = temp;
- }
- float w = r.left * 2 + r.width();
- float h = r.top * 2 + r.height();
- Matrix m = mGeometry.buildGeometryMatrix(w, h, 1f, dx, dy, false);
-
- return m;
- }
-
@Override
public Bitmap apply(Bitmap bitmap, float scaleFactor, boolean highQuality) {
// TODO: implement bilinear or bicubic here... for now, just use
@@ -94,16 +79,12 @@ public class ImageFilterGeometry extends ImageFilter {
temp = Bitmap.createBitmap(cropBounds.width(), cropBounds.height(), mConfig);
}
- Matrix drawMatrix = buildMatrix(crop);
- /*
RectF rp = mGeometry.getPhotoBounds();
RectF rc = mGeometry.getPreviewCropBounds();
- // TODO: fix this method instead of calling the above buildMatrix()
Matrix drawMatrix = mGeometry.buildTotalXform(rp.width(), rp.height(), rc.width(),
rc.height(), rc.left, rc.top,
mGeometry.getRotation(), mGeometry.getStraightenRotation(),
bitmap.getWidth() / rp.width(), null);
- */
Canvas canvas = new Canvas(temp);
Paint paint = new Paint();
paint.setAntiAlias(true);
diff --git a/src/com/android/gallery3d/filtershow/imageshow/GeometryMetadata.java b/src/com/android/gallery3d/filtershow/imageshow/GeometryMetadata.java
index 666eff99e..58c6f6fde 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/GeometryMetadata.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/GeometryMetadata.java
@@ -242,18 +242,20 @@ public class GeometryMetadata {
public Matrix buildTotalXform(float pwidth, float pheight, float cwidth, float cheight,
float cleft, float ctop, float rotation, float straighten, float scale, RectF dst) {
- Matrix m = getFlipMatrix(pwidth, pheight);
- m.postRotate(rotation + straighten, pwidth / 2, pheight / 2);
- Matrix m1 = new Matrix();
- m1.setRotate(rotation, pwidth / 2, pheight / 2);
+ float s_pwidth = pwidth * scale;
+ float s_pheight = pheight * scale;
+ Matrix m = getFlipMatrix(s_pwidth, s_pheight);
+ m.postRotate(rotation + straighten, s_pwidth / 2, s_pheight / 2);
+ Matrix m1 = getFlipMatrix(s_pwidth, s_pheight);
+ m1.postRotate(rotation, s_pwidth / 2, s_pheight / 2);
// find new top left for crop.
- RectF crop = new RectF(cleft, ctop, cleft + cwidth, ctop + cheight);
+ RectF crop = new RectF(cleft * scale, ctop * scale, (cleft + cwidth) * scale,
+ (ctop + cheight) * scale);
if (!m1.mapRect(crop))
return null;
if (dst != null)
dst.set(crop);
m.postTranslate(-crop.left, -crop.top);
- m.postScale(scale, scale);
return m;
}
}
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java b/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java
index a57868ce9..c740977bb 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java
@@ -87,7 +87,7 @@ public class ImageCrop extends ImageGeometry {
@Override
public String getName() {
- return "Crop";
+ return getContext().getString(R.string.crop);
}
private boolean switchCropBounds(int moving_corner, RectF dst) {
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageFlip.java b/src/com/android/gallery3d/filtershow/imageshow/ImageFlip.java
index f6cd9b7e2..931ef86d2 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageFlip.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageFlip.java
@@ -23,6 +23,7 @@ import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
+import com.android.gallery3d.R;
import com.android.gallery3d.filtershow.imageshow.GeometryMetadata.FLIP;
public class ImageFlip extends ImageGeometry {
@@ -42,7 +43,7 @@ public class ImageFlip extends ImageGeometry {
@Override
public String getName() {
- return "Mirror";
+ return getContext().getString(R.string.mirror);
}
@Override
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageRotate.java b/src/com/android/gallery3d/filtershow/imageshow/ImageRotate.java
index c88e51d76..0d458ca45 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageRotate.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageRotate.java
@@ -22,6 +22,8 @@ import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
+import com.android.gallery3d.R;
+
public class ImageRotate extends ImageGeometry {
private float mBaseAngle = 0;
@@ -40,7 +42,7 @@ public class ImageRotate extends ImageGeometry {
@Override
public String getName() {
- return "Rotation";
+ return getContext().getString(R.string.rotate);
}
private static final Paint gPaint = new Paint();
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
index 4f29c0f81..0f70b23ed 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
@@ -24,6 +24,8 @@ import android.graphics.Path;
import android.graphics.RectF;
import android.util.AttributeSet;
+import com.android.gallery3d.R;
+
public class ImageStraighten extends ImageGeometry {
private float mBaseAngle = 0;
@@ -42,7 +44,7 @@ public class ImageStraighten extends ImageGeometry {
@Override
public String getName() {
- return "Straighten";
+ return getContext().getString(R.string.straighten);
}
@Override
diff --git a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
index 83e7c129a..cbb14300d 100644
--- a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
+++ b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
@@ -24,7 +24,7 @@ public class ImagePreset {
protected Vector<ImageFilter> mFilters = new Vector<ImageFilter>();
protected String mName = "Original";
- protected String mHistoryName = "Original";
+ private String mHistoryName = "Original";
protected boolean mIsFxPreset = false;
public final GeometryMetadata mGeoData = new GeometryMetadata();
@@ -37,6 +37,11 @@ public class ImagePreset {
setup();
}
+ public ImagePreset(String historyName) {
+ setHistoryName(historyName);
+ setup();
+ }
+
public ImagePreset(ImagePreset source, String historyName) {
this(source);
if (historyName != null) {
@@ -172,7 +177,7 @@ public class ImagePreset {
public void add(ImageFilter filter) {
if (filter.getFilterType() == ImageFilter.TYPE_BORDER) {
- setHistoryName("Border");
+ setHistoryName(filter.getName());
setBorder(filter);
} else if (filter.getFilterType() == ImageFilter.TYPE_FX) {
boolean found = false;