summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/info
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2013-09-11 17:46:38 -0700
committernicolasroard <nicolasroard@google.com>2013-09-11 17:46:38 -0700
commitb203968cc53015d9c51b790a56cca638be77818d (patch)
treecaa262123a49d4e3419a08dafd914e0e5de79706 /src/com/android/gallery3d/filtershow/info
parent9346e7fdd448c5ddfc3e47c067618ca0ac9c72fa (diff)
downloadandroid_packages_apps_Gallery2-b203968cc53015d9c51b790a56cca638be77818d.tar.gz
android_packages_apps_Gallery2-b203968cc53015d9c51b790a56cca638be77818d.tar.bz2
android_packages_apps_Gallery2-b203968cc53015d9c51b790a56cca638be77818d.zip
Fix info panel
bug:10705772 Change-Id: I9481aec8baf1a7b1782be5cf47acbf3269768cee
Diffstat (limited to 'src/com/android/gallery3d/filtershow/info')
-rw-r--r--src/com/android/gallery3d/filtershow/info/HistogramView.java65
-rw-r--r--src/com/android/gallery3d/filtershow/info/InfoPanel.java29
2 files changed, 48 insertions, 46 deletions
diff --git a/src/com/android/gallery3d/filtershow/info/HistogramView.java b/src/com/android/gallery3d/filtershow/info/HistogramView.java
index ad56fe47a..99cf235bf 100644
--- a/src/com/android/gallery3d/filtershow/info/HistogramView.java
+++ b/src/com/android/gallery3d/filtershow/info/HistogramView.java
@@ -27,15 +27,15 @@ import android.graphics.PorterDuffXfermode;
import android.os.AsyncTask;
import android.util.AttributeSet;
import android.view.View;
-import com.android.gallery3d.filtershow.imageshow.Spline;
public class HistogramView extends View {
private Bitmap mBitmap;
- int[] redHistogram = new int[256];
- int[] greenHistogram = new int[256];
- int[] blueHistogram = new int[256];
- Path gHistoPath = new Path();
+ private Paint mPaint = new Paint();
+ private int[] redHistogram = new int[256];
+ private int[] greenHistogram = new int[256];
+ private int[] blueHistogram = new int[256];
+ private Path mHistoPath = new Path();
class ComputeHistogramTask extends AsyncTask<Bitmap, Void, int[]> {
@Override
@@ -85,28 +85,29 @@ public class HistogramView extends View {
max = histogram[i];
}
}
- float w = getWidth() - Spline.curveHandleSize();
- float h = getHeight() - Spline.curveHandleSize() / 2.0f;
- float dx = Spline.curveHandleSize() / 2.0f;
+ float w = getWidth(); // - Spline.curveHandleSize();
+ float h = getHeight(); // - Spline.curveHandleSize() / 2.0f;
+ float dx = 0; // Spline.curveHandleSize() / 2.0f;
float wl = w / histogram.length;
float wh = h / max;
- Paint paint = new Paint();
- paint.setARGB(100, 255, 255, 255);
- paint.setStrokeWidth((int) Math.ceil(wl));
+
+ mPaint.reset();
+ mPaint.setAntiAlias(true);
+ mPaint.setARGB(100, 255, 255, 255);
+ mPaint.setStrokeWidth((int) Math.ceil(wl));
// Draw grid
- paint.setStyle(Paint.Style.STROKE);
- canvas.drawRect(dx, 0, dx + w, h, paint);
- canvas.drawLine(dx + w / 3, 0, dx + w / 3, h, paint);
- canvas.drawLine(dx + 2 * w / 3, 0, dx + 2 * w / 3, h, paint);
- paint.setStyle(Paint.Style.FILL_AND_STROKE);
+ mPaint.setStyle(Paint.Style.STROKE);
+ canvas.drawRect(dx, 0, dx + w, h, mPaint);
+ canvas.drawLine(dx + w / 3, 0, dx + w / 3, h, mPaint);
+ canvas.drawLine(dx + 2 * w / 3, 0, dx + 2 * w / 3, h, mPaint);
- Paint paint2 = new Paint();
- paint2.setColor(color);
- paint2.setStrokeWidth(6);
- paint2.setXfermode(new PorterDuffXfermode(mode));
- gHistoPath.reset();
- gHistoPath.moveTo(dx, h);
+ mPaint.setStyle(Paint.Style.FILL);
+ mPaint.setColor(color);
+ mPaint.setStrokeWidth(6);
+ mPaint.setXfermode(new PorterDuffXfermode(mode));
+ mHistoPath.reset();
+ mHistoPath.moveTo(dx, h);
boolean firstPointEncountered = false;
float prev = 0;
float last = 0;
@@ -116,22 +117,22 @@ public class HistogramView extends View {
if (l != 0) {
float v = h - (l + prev) / 2.0f;
if (!firstPointEncountered) {
- gHistoPath.lineTo(x, h);
+ mHistoPath.lineTo(x, h);
firstPointEncountered = true;
}
- gHistoPath.lineTo(x, v);
+ mHistoPath.lineTo(x, v);
prev = l;
last = x;
}
}
- gHistoPath.lineTo(last, h);
- gHistoPath.lineTo(w, h);
- gHistoPath.close();
- canvas.drawPath(gHistoPath, paint2);
- paint2.setStrokeWidth(2);
- paint2.setStyle(Paint.Style.STROKE);
- paint2.setARGB(255, 200, 200, 200);
- canvas.drawPath(gHistoPath, paint2);
+ mHistoPath.lineTo(last, h);
+ mHistoPath.lineTo(w, h);
+ mHistoPath.close();
+ canvas.drawPath(mHistoPath, mPaint);
+ mPaint.setStrokeWidth(2);
+ mPaint.setStyle(Paint.Style.STROKE);
+ mPaint.setARGB(255, 200, 200, 200);
+ canvas.drawPath(mHistoPath, mPaint);
}
public void onDraw(Canvas canvas) {
diff --git a/src/com/android/gallery3d/filtershow/info/InfoPanel.java b/src/com/android/gallery3d/filtershow/info/InfoPanel.java
index 39102f186..3a6657849 100644
--- a/src/com/android/gallery3d/filtershow/info/InfoPanel.java
+++ b/src/com/android/gallery3d/filtershow/info/InfoPanel.java
@@ -20,11 +20,12 @@ import android.graphics.Bitmap;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
+import android.support.v4.app.DialogFragment;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.Window;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -32,13 +33,12 @@ import android.widget.TextView;
import com.android.gallery3d.R;
import com.android.gallery3d.exif.ExifInterface;
import com.android.gallery3d.exif.ExifTag;
-import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.cache.ImageLoader;
import com.android.gallery3d.filtershow.imageshow.MasterImage;
import java.util.List;
-public class InfoPanel extends Fragment {
+public class InfoPanel extends DialogFragment {
public static final String FRAGMENT_TAG = "InfoPanel";
private static final String LOGTAG = FRAGMENT_TAG;
private LinearLayout mMainView;
@@ -46,7 +46,6 @@ public class InfoPanel extends Fragment {
private TextView mImageName;
private TextView mImageSize;
private TextView mExifData;
- private ImageButton mHideButton;
private String createStringFromIfFound(ExifTag exifTag, int tag, int str) {
String exifString = "";
@@ -63,6 +62,9 @@ public class InfoPanel extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
+ if (getDialog() != null) {
+ getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
+ }
mMainView = (LinearLayout) inflater.inflate(
R.layout.filtershow_info_panel, null, false);
@@ -74,19 +76,11 @@ public class InfoPanel extends Fragment {
mImageName = (TextView) mMainView.findViewById(R.id.imageName);
mImageSize = (TextView) mMainView.findViewById(R.id.imageSize);
mExifData = (TextView) mMainView.findViewById(R.id.exifData);
- mHideButton =(ImageButton) mMainView.findViewById(R.id.cancelInfo);
+ TextView exifLabel = (TextView) mMainView.findViewById(R.id.exifLabel);
HistogramView histogramView = (HistogramView) mMainView.findViewById(R.id.histogramView);
-
histogramView.setBitmap(bitmap);
- mHideButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- FilterShowActivity activity = (FilterShowActivity)getActivity();
- activity.toggleInformationPanel();
- }
- });
Uri uri = MasterImage.getImage().getUri();
String path = ImageLoader.getLocalPathFromUri(getActivity(), uri);
Uri localUri = null;
@@ -102,6 +96,7 @@ public class InfoPanel extends Fragment {
List<ExifTag> exif = MasterImage.getImage().getEXIF();
String exifString = "";
+ boolean hasExifData = false;
if (exif != null) {
for (ExifTag tag : exif) {
exifString += createStringFromIfFound(tag,
@@ -131,9 +126,15 @@ public class InfoPanel extends Fragment {
exifString += createStringFromIfFound(tag,
ExifInterface.TAG_COPYRIGHT,
R.string.filtershow_exif_copyright);
+ hasExifData = true;
}
}
- mExifData.setText(Html.fromHtml(exifString));
+ if (hasExifData) {
+ exifLabel.setVisibility(View.VISIBLE);
+ mExifData.setText(Html.fromHtml(exifString));
+ } else {
+ exifLabel.setVisibility(View.GONE);
+ }
return mMainView;
}
}