diff options
Diffstat (limited to 'src')
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"))); |
