summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorwqi <wqi@codeaurora.org>2016-04-14 14:02:44 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-04-18 03:28:19 -0700
commitf4653073a0f154ec447d58a51a6e0ce461b21764 (patch)
treed81beb38b987895f8bdeec2bb94d1b20825db25e /src/com
parent0d1eba0d115ffc12576cc441239e76d97f755173 (diff)
downloadandroid_packages_apps_Gallery2-f4653073a0f154ec447d58a51a6e0ce461b21764.tar.gz
android_packages_apps_Gallery2-f4653073a0f154ec447d58a51a6e0ce461b21764.tar.bz2
android_packages_apps_Gallery2-f4653073a0f154ec447d58a51a6e0ce461b21764.zip
Gallery2: Modified layout of main panel in photo editor interface.
1. Change shape of iconview to square. 2. Add label on the bottom of iconview. 3. Change main panel background to transparent. 4. Change pictures of bottom icons in main panel. 5. Remove preset item if it has for each model filter. according to UX specification document. Change-Id: I81034c2e26e5ff1844826f0810bb91bbbaceb1ad CRs-Fixed: 988070 988051
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java22
-rw-r--r--src/com/android/gallery3d/filtershow/category/CategoryView.java25
-rw-r--r--src/com/android/gallery3d/filtershow/category/IconView.java40
-rw-r--r--src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java16
-rw-r--r--src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java12
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterSharpen.java1
6 files changed, 66 insertions, 50 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index ce2ab7412..bf5deedd5 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -1519,10 +1519,6 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
for (FilterRepresentation representation : filtersRepresentations) {
mCategoryLooksAdapter.add(new Action(this, representation, Action.FULL_VIEW));
}
- if (mUserPresetsManager.getRepresentations() == null
- || mUserPresetsManager.getRepresentations().size() == 0) {
- mCategoryLooksAdapter.add(new Action(this, Action.ADD_ACTION));
- }
Fragment panel = getSupportFragmentManager().findFragmentByTag(MainPanel.FRAGMENT_TAG);
if (panel != null) {
@@ -1855,28 +1851,10 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
}
public void startTouchAnimation(View target, float x, float y) {
- final CategorySelected hint =
- (CategorySelected) findViewById(R.id.categorySelectedIndicator);
int location[] = new int[2];
target.getLocationOnScreen(location);
mHintTouchPoint.x = (int) (location[0] + x);
mHintTouchPoint.y = (int) (location[1] + y);
- int locationHint[] = new int[2];
- ((View)hint.getParent()).getLocationOnScreen(locationHint);
- int dx = (int) (x - (hint.getWidth())/2);
- int dy = (int) (y - (hint.getHeight())/2);
- hint.setTranslationX(location[0] - locationHint[0] + dx);
- hint.setTranslationY(location[1] - locationHint[1] + dy);
- hint.setVisibility(View.VISIBLE);
- hint.animate().scaleX(2).scaleY(2).alpha(0).withEndAction(new Runnable() {
- @Override
- public void run() {
- hint.setVisibility(View.INVISIBLE);
- hint.setScaleX(1);
- hint.setScaleY(1);
- hint.setAlpha(1);
- }
- });
}
public void setScaleImage(boolean isScaled) {
diff --git a/src/com/android/gallery3d/filtershow/category/CategoryView.java b/src/com/android/gallery3d/filtershow/category/CategoryView.java
index 99af80f4d..fff4e0bf3 100644
--- a/src/com/android/gallery3d/filtershow/category/CategoryView.java
+++ b/src/com/android/gallery3d/filtershow/category/CategoryView.java
@@ -28,6 +28,7 @@ import android.view.MotionEvent;
import android.view.View;
import com.android.gallery3d.R;
import com.android.gallery3d.filtershow.FilterShowActivity;
+import com.android.gallery3d.filtershow.filters.FilterRepresentation;
import com.android.gallery3d.filtershow.ui.SelectionRenderer;
public class CategoryView extends IconView
@@ -121,8 +122,8 @@ public class CategoryView extends IconView
}
super.onDraw(canvas);
if (mAdapter.isSelected(this)) {
- SelectionRenderer.drawSelection(canvas, 0, 0,
- getWidth(), getHeight(),
+ SelectionRenderer.drawSelection(canvas, getMargin() / 2, getMargin(),
+ getWidth() - getMargin() / 2, getHeight() - getMargin(),
mSelectionStroke, mSelectPaint, mBorderStroke, mBorderPaint);
}
}
@@ -198,4 +199,24 @@ public class CategoryView extends IconView
public void delete() {
mAdapter.remove(mAction);
}
+
+ @Override
+ protected void drawBottomRect(Canvas canvas) {
+ super.drawBottomRect(canvas);
+ FilterRepresentation filterRepresentation = mAction.getRepresentation();
+ if (filterRepresentation != null) {
+ if (filterRepresentation.getFilterType() == FilterRepresentation.TYPE_FX) {
+ mPaint.setColor(getResources().getColor(filterRepresentation.getColorId()));
+ } else {
+ mPaint.setColor(
+ getContext().getResources().getColor(R.color.iconview_bottom_color));
+ }
+ mPaint.setStyle(Paint.Style.FILL);
+ canvas.drawRect(getBitmapBounds().left,
+ getBitmapBounds().bottom - getBottomRectHeight(),
+ getBitmapBounds().right,
+ getBitmapBounds().bottom,
+ mPaint);
+ }
+ }
}
diff --git a/src/com/android/gallery3d/filtershow/category/IconView.java b/src/com/android/gallery3d/filtershow/category/IconView.java
index 4823cd1a6..1bfd2a7af 100644
--- a/src/com/android/gallery3d/filtershow/category/IconView.java
+++ b/src/com/android/gallery3d/filtershow/category/IconView.java
@@ -21,13 +21,10 @@ import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.LinearGradient;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
-import android.graphics.Shader;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.view.View;
@@ -44,6 +41,7 @@ public class IconView extends View {
private int mMargin = 16;
private int mOrientation = HORIZONTAL;
private int mTextSize = 32;
+ private int mBottomRectHeight;
private Rect mTextBounds = new Rect();
private Bitmap mBitmap;
private Rect mBitmapBounds;
@@ -72,6 +70,7 @@ public class IconView extends View {
mBackgroundColor = res.getColor(android.R.color.transparent);
mMargin = res.getDimensionPixelOffset(R.dimen.category_panel_margin);
mTextSize = res.getDimensionPixelSize(R.dimen.category_panel_text_size);
+ mBottomRectHeight = res.getDimensionPixelOffset(R.dimen.category_panel_bottom_rect_height);
}
protected void computeTextPosition(String text) {
@@ -108,7 +107,7 @@ public class IconView extends View {
// justify to the left.
x = mMargin;
}
- int y = canvas.getHeight() - getTextHeight(mPaint) / 2 - mMargin;
+ int y = canvas.getHeight() - mBottomRectHeight / 2 - mMargin / 2;
canvas.drawText(text, x, y, mPaint);
}
@@ -129,6 +128,13 @@ public class IconView extends View {
drawText(canvas, text);
}
+ protected void drawBottomRect(Canvas canvas) {
+ }
+
+ public int getBottomRectHeight() {
+ return mBottomRectHeight;
+ }
+
public int getOrientation() {
return mOrientation;
}
@@ -184,13 +190,14 @@ public class IconView extends View {
public void computeBitmapBounds() {
if (mUseOnlyDrawable) {
- mBitmapBounds = new Rect(mMargin/2, mMargin, getWidth() - mMargin/2,
- getHeight() - mTextSize - 2*mMargin);
+ mBitmapBounds = new Rect(mMargin / 2, mMargin, getWidth() - mMargin / 2,
+ getHeight() - mTextSize - 2 * mMargin);
} else {
if (getOrientation() == VERTICAL && isHalfImage()) {
- mBitmapBounds = new Rect(mMargin/2, mMargin, getWidth()/2, getHeight());
+ mBitmapBounds = new Rect(mMargin / 2, mMargin, getWidth() / 2, getHeight());
} else {
- mBitmapBounds = new Rect(mMargin/2, mMargin, getWidth() - mMargin/2, getHeight());
+ mBitmapBounds = new Rect(mMargin / 2, mMargin, getWidth() - mMargin / 2,
+ getHeight() - mMargin);
}
}
}
@@ -226,22 +233,7 @@ public class IconView extends View {
canvas.drawBitmap(mBitmap, m, mPaint);
canvas.restore();
}
-
- if (!mUseOnlyDrawable) {
- int startColor = Color.argb(0, 0, 0, 0);
- int endColor = Color.argb(200, 0, 0, 0);
- float start = getHeight() - 2 * mMargin - 2 * mTextSize;
- float end = getHeight();
- Shader shader = new LinearGradient(0, start, 0, end, startColor,
- endColor, Shader.TileMode.CLAMP);
- mPaint.setShader(shader);
- float startGradient = 0;
- if (getOrientation() == VERTICAL && isHalfImage()) {
- startGradient = getWidth()/2;
- }
- canvas.drawRect(new RectF(startGradient, start, getWidth(), end), mPaint);
- mPaint.setShader(null);
- }
+ drawBottomRect(canvas);
drawOutlinedText(canvas, getText());
}
}
diff --git a/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java b/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java
index efa351b04..b72b5d2fd 100644
--- a/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java
+++ b/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java
@@ -315,19 +315,35 @@ public abstract class BaseFiltersManager implements FiltersManagerInterface {
"LUT3D_XPROCESS"
};
+ int[] colorId = {
+ R.color.filtershow_color_none,
+ R.color.filtershow_color_punch,
+ R.color.filtershow_color_vintage,
+ R.color.filtershow_color_bw,
+ R.color.filtershow_color_bleach,
+ R.color.filtershow_color_instant,
+ R.color.filtershow_color_latte,
+ R.color.filtershow_color_blue,
+ R.color.filtershow_color_litho,
+ R.color.filtershow_color_xprocess
+ };
+
FilterFxRepresentation nullFx =
new FilterFxRepresentation(context.getString(R.string.none),
0, R.string.none);
+ nullFx.setColorId(colorId[0]);
mLooks.add(nullFx);
for (int i = 0; i < drawid.length; i++) {
FilterFxRepresentation fx = new FilterFxRepresentation(
context.getString(fxNameid[i]), drawid[i], fxNameid[i]);
fx.setSerializationName(serializationNames[i]);
+ fx.setColorId(colorId[i] + 1);
ImagePreset preset = new ImagePreset();
preset.addFilter(fx);
FilterUserPresetRepresentation rep = new FilterUserPresetRepresentation(
context.getString(fxNameid[i]), preset, -1);
+ rep.setColorId(colorId[i] + 1);
mLooks.add(rep);
addRepresentation(fx);
}
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java
index 198e741c3..8d1911315 100644
--- a/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java
+++ b/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java
@@ -36,6 +36,7 @@ public class FilterRepresentation {
private int mEditorId = BasicEditor.ID;
private int mButtonId = 0;
private int mOverlayId = 0;
+ private int mColorId = 0;
private boolean mOverlayOnly = false;
private boolean mShowParameterValue = true;
private boolean mIsBooleanFilter = false;
@@ -91,12 +92,21 @@ public class FilterRepresentation {
&& representation.mOverlayId == mOverlayId
&& representation.mOverlayOnly == mOverlayOnly
&& representation.mShowParameterValue == mShowParameterValue
- && representation.mIsBooleanFilter == mIsBooleanFilter) {
+ && representation.mIsBooleanFilter == mIsBooleanFilter
+ && representation.mColorId == mColorId) {
return true;
}
return false;
}
+ public int getColorId() {
+ return mColorId;
+ }
+
+ public void setColorId(int colorId) {
+ mColorId = colorId;
+ }
+
public boolean isBooleanFilter() {
return mIsBooleanFilter;
}
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterSharpen.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterSharpen.java
index 16959035d..783afee25 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterSharpen.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterSharpen.java
@@ -36,7 +36,6 @@ public class ImageFilterSharpen extends ImageFilterRS {
representation.setShowParameterValue(true);
representation.setFilterClass(ImageFilterSharpen.class);
representation.setTextId(R.string.sharpness);
- representation.setOverlayId(R.drawable.filtershow_button_colors_sharpen);
representation.setEditorId(BasicEditor.ID);
representation.setSupportsPartialRendering(true);
return representation;