summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2013-09-12 01:52:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-09-12 01:52:37 +0000
commit2d9330020b929cc75bbdfd645d3dc9278ca78779 (patch)
treecd16d865668690d231f60979600b940e0ed501f6 /src
parentf7630cbd1786f88256e03c246a2931b3734ab82f (diff)
parentb203968cc53015d9c51b790a56cca638be77818d (diff)
downloadandroid_packages_apps_Gallery2-2d9330020b929cc75bbdfd645d3dc9278ca78779.tar.gz
android_packages_apps_Gallery2-2d9330020b929cc75bbdfd645d3dc9278ca78779.tar.bz2
android_packages_apps_Gallery2-2d9330020b929cc75bbdfd645d3dc9278ca78779.zip
Merge "Fix info panel" into gb-ub-photos-carlsbad
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java30
-rw-r--r--src/com/android/gallery3d/filtershow/info/HistogramView.java65
-rw-r--r--src/com/android/gallery3d/filtershow/info/InfoPanel.java29
3 files changed, 49 insertions, 75 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index d4cb16f32..32de174dc 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -149,7 +149,6 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
private boolean mShowingTinyPlanet = false;
private boolean mShowingImageStatePanel = false;
private boolean mShowingVersionsPanel = false;
- private boolean mShowingInformationPanel = false;
private final Vector<ImageShow> mImageViews = new Vector<ImageShow>();
@@ -334,35 +333,12 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
}
}
- public void hideInformationPanel() {
- FrameLayout infoLayout = (FrameLayout) findViewById(R.id.central_panel_container);
- infoLayout.setVisibility(View.GONE);
- Fragment fragment = getSupportFragmentManager().findFragmentByTag(InfoPanel.FRAGMENT_TAG);
- if (fragment != null) {
- FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
- transaction.remove(fragment);
- transaction.commit();
- }
- mShowingInformationPanel = false;
- }
-
public void toggleInformationPanel() {
- mShowingInformationPanel = !mShowingInformationPanel;
- if (!mShowingInformationPanel) {
- hideInformationPanel();
- showDefaultImageView();
- return;
- }
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
- FrameLayout infoLayout = (FrameLayout) findViewById(R.id.central_panel_container);
- infoLayout.setVisibility(View.VISIBLE);
- mEditorPlaceHolder.hide();
- mImageShow.setVisibility(View.GONE);
InfoPanel panel = new InfoPanel();
- transaction.replace(R.id.central_panel_container, panel, InfoPanel.FRAGMENT_TAG);
- transaction.commit();
+ panel.show(transaction, InfoPanel.FRAGMENT_TAG);
}
private void loadXML() {
@@ -686,7 +662,6 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
}
mCurrentEditor = mEditorPlaceHolder.showEditor(representation.getEditorId());
loadEditorPanel(representation, mCurrentEditor);
- hideInformationPanel();
}
public Editor getEditor(int editorID) {
@@ -1215,8 +1190,6 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
fillCategories();
loadMainPanel();
- mShowingInformationPanel = false;
-
// mLoadBitmapTask==null implies you have looked at the intent
if (!mShowingTinyPlanet && (mLoadBitmapTask == null)) {
mCategoryFiltersAdapter.removeTinyPlanet();
@@ -1253,7 +1226,6 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
}
public void showDefaultImageView() {
- hideInformationPanel();
mEditorPlaceHolder.hide();
mImageShow.setVisibility(View.VISIBLE);
MasterImage.getImage().setCurrentFilter(null);
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;
}
}