diff options
| author | Chao Zhang <chaoz@codeaurora.org> | 2016-05-12 17:34:31 +0800 |
|---|---|---|
| committer | Likai Ding <likaid@codeaurora.org> | 2016-07-08 09:51:18 +0800 |
| commit | 8724b7e9dd3f64403f9469d20f797d7df379b9e8 (patch) | |
| tree | 0cdce80efe042ef42a042c56e3abdc5bff883414 /src/com | |
| parent | 8788884b50a0bdaeac563f5b34f56abe79704fe0 (diff) | |
| download | android_packages_apps_Gallery2-8724b7e9dd3f64403f9469d20f797d7df379b9e8.tar.gz android_packages_apps_Gallery2-8724b7e9dd3f64403f9469d20f797d7df379b9e8.tar.bz2 android_packages_apps_Gallery2-8724b7e9dd3f64403f9469d20f797d7df379b9e8.zip | |
Gallery: Modify the layout according to UX design document.
1. Modify toolbar layout according to UX design document.
2. Add touch effect to all buttons if need.
3. Modify video gesture indicator text color.
4. Don't use createChooser if only one app resolve Intent.
5. Modify export dialog layout in Photo Editor.
6. Modify truescanner icon.
7. Modify filter's label color.
Change-Id: I987966ce76e5cab7bc50e5d2e52d1f7b5bdf2113
CRs-Fixed: 1017208
Diffstat (limited to 'src/com')
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"))); |
