summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/app/CommonControllerOverlay.java9
-rw-r--r--src/com/android/gallery3d/app/GestureControllerOverlay.java2
-rw-r--r--src/com/android/gallery3d/app/MovieControllerOverlay.java2
-rw-r--r--src/com/android/gallery3d/app/PhotoPage.java17
-rw-r--r--src/com/android/gallery3d/filtershow/ui/ExportDialog.java66
-rw-r--r--src/com/android/gallery3d/ui/MenuExecutor.java15
-rw-r--r--src/com/android/gallery3d/ui/PopupList.java2
7 files changed, 73 insertions, 40 deletions
diff --git a/src/com/android/gallery3d/app/CommonControllerOverlay.java b/src/com/android/gallery3d/app/CommonControllerOverlay.java
index 1c8287414..f4fbeb868 100644
--- a/src/com/android/gallery3d/app/CommonControllerOverlay.java
+++ b/src/com/android/gallery3d/app/CommonControllerOverlay.java
@@ -18,7 +18,9 @@ package com.android.gallery3d.app;
import android.content.Context;
import android.content.res.Resources;
+import android.content.res.TypedArray;
import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.MotionEvent;
@@ -108,6 +110,13 @@ public abstract class CommonControllerOverlay extends FrameLayout implements
mPlayPauseReplayView.setFocusable(true);
mPlayPauseReplayView.setClickable(true);
mPlayPauseReplayView.setOnClickListener(this);
+ TypedArray array = context.getTheme().obtainStyledAttributes(new int[] {
+ android.R.attr.actionBarItemBackground
+ });
+ Drawable drawable = array.getDrawable(array.getIndex(0));
+ if (drawable != null) {
+ mPlayPauseReplayView.setBackground(drawable);
+ }
addView(mPlayPauseReplayView, wrapContent);
mErrorView = createOverlayTextView(context);
diff --git a/src/com/android/gallery3d/app/GestureControllerOverlay.java b/src/com/android/gallery3d/app/GestureControllerOverlay.java
index 38b7f0d65..fee9b3ab5 100644
--- a/src/com/android/gallery3d/app/GestureControllerOverlay.java
+++ b/src/com/android/gallery3d/app/GestureControllerOverlay.java
@@ -51,7 +51,6 @@ public class GestureControllerOverlay extends FrameLayout implements
private static final int MAX_VIDEO_STEP_TIME = 2 * 60 * 1000;
private static final int MAX_BRIGHTNESS = 100;
- private static final int INDICATOR_FADE_OUT_TIME = 200; // millisecond
private float mStartBrightness = -1.0f;
private double mStartVolumePercent = -1.0f;
@@ -130,6 +129,7 @@ public class GestureControllerOverlay extends FrameLayout implements
mCurrentIndicator.setPadding(paddingH, paddingV, paddingH, paddingV);
mCurrentIndicator.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM);
mCurrentIndicator.setTextSize(TypedValue.COMPLEX_UNIT_PX, mIndicatorTextSize);
+ mCurrentIndicator.setTextColor(Color.WHITE);
mCurrentIndicator.setMinWidth(mIndicatorWidth);
addView(mCurrentIndicator, layoutParams);
mCurrentIndicator.setVisibility(INVISIBLE);
diff --git a/src/com/android/gallery3d/app/MovieControllerOverlay.java b/src/com/android/gallery3d/app/MovieControllerOverlay.java
index 80a7fc6aa..c1e36487d 100644
--- a/src/com/android/gallery3d/app/MovieControllerOverlay.java
+++ b/src/com/android/gallery3d/app/MovieControllerOverlay.java
@@ -664,7 +664,7 @@ public class MovieControllerOverlay extends CommonControllerOverlay implements
LayoutParams wrapContent =
new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
// add screenView
- mScreenView = new ImageView(context);
+ mScreenView = new ImageView(context, null, android.R.attr.actionButtonStyle);
// default next screen mode
mScreenView.setImageResource(R.drawable.ic_media_fullscreen);
mScreenView.setScaleType(ScaleType.CENTER);
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java
index cdbe3e7e4..df3229f95 100644
--- a/src/com/android/gallery3d/app/PhotoPage.java
+++ b/src/com/android/gallery3d/app/PhotoPage.java
@@ -23,6 +23,7 @@ import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
import android.content.res.Configuration;
import android.graphics.Rect;
import android.net.Uri;
@@ -75,6 +76,7 @@ import com.android.gallery3d.ui.SynchronizedHandler;
import com.android.gallery3d.util.GalleryUtils;
import com.android.gallery3d.util.UsageStatistics;
+import java.util.List;
import java.util.Locale;
//import android.drm.DrmHelper;
@@ -775,9 +777,18 @@ public abstract class PhotoPage extends ActivityState implements
}
intent.putExtra(FilterShowActivity.LAUNCH_FULLSCREEN,
mActivity.isFullscreen());
- ((Activity) mActivity).startActivityForResult(Intent.createChooser(intent, null),
- REQUEST_EDIT);
- overrideTransitionToEditor();
+
+ List<ResolveInfo> resolveInfoList = mActivity.getPackageManager()
+ .queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
+ if (resolveInfoList != null && resolveInfoList.size() > 0) {
+ if (resolveInfoList.size() == 1) {
+ // only one app can resolve intent, don't use createChooser.
+ mActivity.startActivityForResult(intent, REQUEST_EDIT);
+ } else {
+ mActivity.startActivityForResult(Intent.createChooser(intent, null), REQUEST_EDIT);
+ }
+ overrideTransitionToEditor();
+ }
}
private void launchSimpleEditor() {
diff --git a/src/com/android/gallery3d/filtershow/ui/ExportDialog.java b/src/com/android/gallery3d/filtershow/ui/ExportDialog.java
index d9e695cfb..6ec3cfed5 100644
--- a/src/com/android/gallery3d/filtershow/ui/ExportDialog.java
+++ b/src/com/android/gallery3d/filtershow/ui/ExportDialog.java
@@ -16,6 +16,9 @@
package com.android.gallery3d.filtershow.ui;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Rect;
@@ -27,7 +30,6 @@ import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
-import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.SeekBar;
import android.widget.TextView;
@@ -42,8 +44,7 @@ import com.android.gallery3d.filtershow.tools.SaveImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
-public class ExportDialog extends DialogFragment implements View.OnClickListener,
- SeekBar.OnSeekBarChangeListener {
+public class ExportDialog extends DialogFragment implements SeekBar.OnSeekBarChangeListener {
SeekBar mSeekBar;
TextView mSeekVal;
EditText mWidthText;
@@ -90,11 +91,37 @@ public class ExportDialog extends DialogFragment implements View.OnClickListener
}
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
mHandler = new Handler(getActivity().getMainLooper());
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ View view = initCustomLayout();
+ builder.setView(view);
+ builder.setTitle(R.string.export_flattened);
+ builder.setPositiveButton(R.string.done,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int id) {
+ FilterShowActivity activity = (FilterShowActivity) getActivity();
+ Uri sourceUri = MasterImage.getImage().getUri();
+ File dest = SaveImage.getNewFile(activity, activity.getSelectedImageUri());
+ float scaleFactor = mExportWidth / (float) mOriginalBounds.width();
+ Intent processIntent = ProcessingService.getSaveIntent(activity,
+ MasterImage.getImage().getPreset(), dest,
+ activity.getSelectedImageUri(), sourceUri, true,
+ mSeekBar.getProgress(), scaleFactor, false, -1);
+ activity.startService(processIntent);
+ }
+ });
+ builder.setNegativeButton(R.string.cancel, null);
- View view = inflater.inflate(R.layout.filtershow_export_dialog, container);
+ updateCompressionFactor();
+ updateSize();
+ return builder.create();
+ }
+
+ private View initCustomLayout() {
+ LayoutInflater inflater = getActivity().getLayoutInflater();
+ View view = inflater.inflate(R.layout.filtershow_export_dialog, null);
mSeekBar = (SeekBar) view.findViewById(R.id.qualitySeekBar);
mSeekVal = (TextView) view.findViewById(R.id.qualityTextView);
mSliderLabel = getString(R.string.quality) + ": ";
@@ -124,13 +151,6 @@ public class ExportDialog extends DialogFragment implements View.OnClickListener
mExportHeight = mOriginalBounds.height();
mWidthText.addTextChangedListener(new Watcher(mWidthText));
mHeightText.addTextChangedListener(new Watcher(mHeightText));
-
- view.findViewById(R.id.cancel).setOnClickListener(this);
- view.findViewById(R.id.done).setOnClickListener(this);
- getDialog().setTitle(R.string.export_flattened);
-
- updateCompressionFactor();
- updateSize();
return view;
}
@@ -156,26 +176,6 @@ public class ExportDialog extends DialogFragment implements View.OnClickListener
mHandler.postDelayed(mUpdateRunnable, mUpdateDelay);
}
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.cancel:
- dismiss();
- break;
- case R.id.done:
- FilterShowActivity activity = (FilterShowActivity) getActivity();
- Uri sourceUri = MasterImage.getImage().getUri();
- File dest = SaveImage.getNewFile(activity, activity.getSelectedImageUri());
- float scaleFactor = mExportWidth / (float) mOriginalBounds.width();
- Intent processIntent = ProcessingService.getSaveIntent(activity, MasterImage
- .getImage().getPreset(), dest, activity.getSelectedImageUri(), sourceUri,
- true, mSeekBar.getProgress(), scaleFactor, false, -1);
- activity.startService(processIntent);
- dismiss();
- break;
- }
- }
-
public void updateCompressionFactor() {
Bitmap bitmap = MasterImage.getImage().getFilteredImage();
if (bitmap == null) {
diff --git a/src/com/android/gallery3d/ui/MenuExecutor.java b/src/com/android/gallery3d/ui/MenuExecutor.java
index c28fd097b..c57e848e3 100644
--- a/src/com/android/gallery3d/ui/MenuExecutor.java
+++ b/src/com/android/gallery3d/ui/MenuExecutor.java
@@ -25,6 +25,8 @@ import android.content.DialogInterface.OnCancelListener;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
//import android.drm.DrmHelper;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Handler;
import android.os.Message;
@@ -46,6 +48,7 @@ import com.android.gallery3d.util.ThreadPool.Job;
import com.android.gallery3d.util.ThreadPool.JobContext;
import java.util.ArrayList;
+import java.util.List;
public class MenuExecutor {
private static final String TAG = "MenuExecutor";
@@ -254,7 +257,17 @@ public class MenuExecutor {
Intent intent = getIntentBySingleSelectedPath(Intent.ACTION_EDIT);
if (intent != null) {
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- ((Activity) mActivity).startActivity(Intent.createChooser(intent, null));
+
+ List<ResolveInfo> resolveInfoList = mActivity.getPackageManager()
+ .queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
+ if (resolveInfoList != null && resolveInfoList.size() > 0) {
+ if (resolveInfoList.size() == 1) {
+ // only one app can resolve intent, don't use createChooser.
+ mActivity.startActivity(intent);
+ } else {
+ mActivity.startActivity(Intent.createChooser(intent, null));
+ }
+ }
}
return;
}
diff --git a/src/com/android/gallery3d/ui/PopupList.java b/src/com/android/gallery3d/ui/PopupList.java
index efbddd3ea..a9aa2570f 100644
--- a/src/com/android/gallery3d/ui/PopupList.java
+++ b/src/com/android/gallery3d/ui/PopupList.java
@@ -154,7 +154,7 @@ public class PopupList {
}
private PopupWindow createPopupWindow() {
- PopupWindow popup = new PopupWindow(mContext);
+ PopupWindow popup = new PopupWindow(mContext, null, android.R.attr.popupMenuStyle);
popup.setOnDismissListener(mOnDismissListener);
popup.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#ffffff")));