diff options
author | Arne Coucheron <arco68@gmail.com> | 2017-08-10 06:48:28 +0200 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2018-01-27 00:41:45 +0100 |
commit | 7f4ba23dfc98f36c6bc139b7dbc55948f858e8df (patch) | |
tree | 9483651d372703980d887b39ed559674ff72a2e2 | |
parent | 690481663272ee4cce5dd7670edfe7b0b33a5f85 (diff) | |
download | android_packages_apps_Snap-7f4ba23dfc98f36c6bc139b7dbc55948f858e8df.tar.gz android_packages_apps_Snap-7f4ba23dfc98f36c6bc139b7dbc55948f858e8df.tar.bz2 android_packages_apps_Snap-7f4ba23dfc98f36c6bc139b7dbc55948f858e8df.zip |
Snap: Bring back original shutter icons and animation
Change-Id: I843ba306053ea7f14fbf805c8633c02a854f84df
33 files changed, 74 insertions, 144 deletions
diff --git a/res/drawable-hdpi/shutter_button_stop.png b/res/drawable-hdpi/shutter_button_stop.png Binary files differnew file mode 100644 index 000000000..ae6c1dc79 --- /dev/null +++ b/res/drawable-hdpi/shutter_button_stop.png diff --git a/res/drawable-hdpi/shutter_button_video.png b/res/drawable-hdpi/shutter_button_video.png Binary files differnew file mode 100644 index 000000000..345c41891 --- /dev/null +++ b/res/drawable-hdpi/shutter_button_video.png diff --git a/res/drawable-hdpi/shutter_button_video_dim.png b/res/drawable-hdpi/shutter_button_video_dim.png Binary files differnew file mode 100644 index 000000000..88fad94e9 --- /dev/null +++ b/res/drawable-hdpi/shutter_button_video_dim.png diff --git a/res/drawable-hdpi/shutter_button_video_stop.png b/res/drawable-hdpi/shutter_button_video_stop.png Binary files differnew file mode 100644 index 000000000..f5e1fb8ed --- /dev/null +++ b/res/drawable-hdpi/shutter_button_video_stop.png diff --git a/res/drawable-hdpi/shutter_panorama.png b/res/drawable-hdpi/shutter_panorama.png Binary files differnew file mode 100644 index 000000000..16f044336 --- /dev/null +++ b/res/drawable-hdpi/shutter_panorama.png diff --git a/res/drawable-hdpi/shutter_panorama_dim.png b/res/drawable-hdpi/shutter_panorama_dim.png Binary files differnew file mode 100644 index 000000000..d7c7a0625 --- /dev/null +++ b/res/drawable-hdpi/shutter_panorama_dim.png diff --git a/res/drawable-mdpi/shutter_button_stop.png b/res/drawable-mdpi/shutter_button_stop.png Binary files differnew file mode 100644 index 000000000..7058814e3 --- /dev/null +++ b/res/drawable-mdpi/shutter_button_stop.png diff --git a/res/drawable-mdpi/shutter_button_video.png b/res/drawable-mdpi/shutter_button_video.png Binary files differnew file mode 100644 index 000000000..1fad54077 --- /dev/null +++ b/res/drawable-mdpi/shutter_button_video.png diff --git a/res/drawable-mdpi/shutter_button_video_dim.png b/res/drawable-mdpi/shutter_button_video_dim.png Binary files differnew file mode 100644 index 000000000..721abc37a --- /dev/null +++ b/res/drawable-mdpi/shutter_button_video_dim.png diff --git a/res/drawable-mdpi/shutter_button_video_stop.png b/res/drawable-mdpi/shutter_button_video_stop.png Binary files differnew file mode 100644 index 000000000..00985ae33 --- /dev/null +++ b/res/drawable-mdpi/shutter_button_video_stop.png diff --git a/res/drawable-mdpi/shutter_panorama.png b/res/drawable-mdpi/shutter_panorama.png Binary files differnew file mode 100644 index 000000000..b140e57e0 --- /dev/null +++ b/res/drawable-mdpi/shutter_panorama.png diff --git a/res/drawable-mdpi/shutter_panorama_dim.png b/res/drawable-mdpi/shutter_panorama_dim.png Binary files differnew file mode 100644 index 000000000..b6e22f920 --- /dev/null +++ b/res/drawable-mdpi/shutter_panorama_dim.png diff --git a/res/drawable-xhdpi/shutter_button_stop.png b/res/drawable-xhdpi/shutter_button_stop.png Binary files differnew file mode 100644 index 000000000..88f60d3c4 --- /dev/null +++ b/res/drawable-xhdpi/shutter_button_stop.png diff --git a/res/drawable-xhdpi/shutter_button_video.png b/res/drawable-xhdpi/shutter_button_video.png Binary files differnew file mode 100644 index 000000000..da58053fe --- /dev/null +++ b/res/drawable-xhdpi/shutter_button_video.png diff --git a/res/drawable-xhdpi/shutter_button_video_dim.png b/res/drawable-xhdpi/shutter_button_video_dim.png Binary files differnew file mode 100644 index 000000000..fc41296f8 --- /dev/null +++ b/res/drawable-xhdpi/shutter_button_video_dim.png diff --git a/res/drawable-xhdpi/shutter_button_video_stop.png b/res/drawable-xhdpi/shutter_button_video_stop.png Binary files differnew file mode 100644 index 000000000..44df24b97 --- /dev/null +++ b/res/drawable-xhdpi/shutter_button_video_stop.png diff --git a/res/drawable-xhdpi/shutter_panorama.png b/res/drawable-xhdpi/shutter_panorama.png Binary files differnew file mode 100644 index 000000000..8cfd7ee2c --- /dev/null +++ b/res/drawable-xhdpi/shutter_panorama.png diff --git a/res/drawable-xhdpi/shutter_panorama_dim.png b/res/drawable-xhdpi/shutter_panorama_dim.png Binary files differnew file mode 100644 index 000000000..606032b5a --- /dev/null +++ b/res/drawable-xhdpi/shutter_panorama_dim.png diff --git a/res/drawable/btn_new_shutter.xml b/res/drawable/btn_new_shutter.xml index a41581238..53bef3176 100644 --- a/res/drawable/btn_new_shutter.xml +++ b/res/drawable/btn_new_shutter.xml @@ -15,7 +15,6 @@ --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_pressed="true" - android:drawable="@drawable/shutter_button_pressed" /> - <item android:drawable="@drawable/shutter_button_normal" /> + <item android:state_pressed="true" android:drawable="@drawable/shutter_button_dim" /> + <item android:drawable="@drawable/shutter_button_0" /> </selector> diff --git a/res/drawable/shutter_button_normal.xml b/res/drawable/shutter_button_normal.xml deleted file mode 100644 index 9e1f9aad1..000000000 --- a/res/drawable/shutter_button_normal.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="@dimen/shutter_size" - android:height="@dimen/shutter_size" - android:viewportWidth="80" - android:viewportHeight="80"> - - <path - android:fillColor="@color/pic" - android:strokeWidth="1" - android:pathData="M 40 10.5 C 56.29240012 10.5 69.5 23.70759988 69.5 40 C 69.5 56.29240012 56.29240012 69.5 40 69.5 C 23.70759988 69.5 10.5 56.29240012 10.5 40 C 10.5 23.70759988 23.70759988 10.5 40 10.5 Z" /> - <path - android:strokeColor="@color/blue" - android:strokeWidth="7" - android:pathData="M 40 3.5 C 60.1583933688 3.5 76.5 19.8416066312 76.5 40 C 76.5 60.1583933688 60.1583933688 76.5 40 76.5 C 19.8416066312 76.5 3.5 60.1583933688 3.5 40 C 3.5 19.8416066312 19.8416066312 3.5 40 3.5 Z" /> - -</vector> diff --git a/res/drawable/shutter_button_pressed.xml b/res/drawable/shutter_button_pressed.xml deleted file mode 100644 index 32dbd58ee..000000000 --- a/res/drawable/shutter_button_pressed.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="@dimen/shutter_size" - android:height="@dimen/shutter_size" - android:viewportWidth="80" - android:viewportHeight="80"> - - <path - android:fillColor="@color/pic_pressed" - android:strokeWidth="1" - android:pathData="M 40 12.5 C 55.1878306203 12.5 67.5 24.8121693797 67.5 40 C 67.5 55.1878306203 55.1878306203 67.5 40 67.5 C 24.8121693797 67.5 12.5 55.1878306203 12.5 40 C 12.5 24.8121693797 24.8121693797 12.5 40 12.5 Z" /> - <path - android:strokeColor="@color/blue" - android:strokeWidth="7" - android:pathData="M 40 3.5 C 60.1583933688 3.5 76.5 19.8416066312 76.5 40 C 76.5 60.1583933688 60.1583933688 76.5 40 76.5 C 19.8416066312 76.5 3.5 60.1583933688 3.5 40 C 3.5 19.8416066312 19.8416066312 3.5 40 3.5 Z" /> - -</vector> diff --git a/res/drawable/shutter_button_stop.xml b/res/drawable/shutter_button_stop.xml deleted file mode 100644 index 8954092bc..000000000 --- a/res/drawable/shutter_button_stop.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="@dimen/shutter_size" - android:height="@dimen/shutter_size" - android:viewportWidth="80" - android:viewportHeight="80"> - - <path - android:fillColor="@color/pano_stop" - android:strokeWidth="1" - android:pathData="M 40 12.5 C 55.1878306203 12.5 67.5 24.8121693797 67.5 40 C 67.5 55.1878306203 55.1878306203 67.5 40 67.5 C 24.8121693797 67.5 12.5 55.1878306203 12.5 40 C 12.5 24.8121693797 24.8121693797 12.5 40 12.5 Z" /> - <path - android:strokeColor="@color/white" - android:strokeWidth="7" - android:pathData="M 40 3.5 C 60.1583933688 3.5 76.5 19.8416066312 76.5 40 C 76.5 60.1583933688 60.1583933688 76.5 40 76.5 C 19.8416066312 76.5 3.5 60.1583933688 3.5 40 C 3.5 19.8416066312 19.8416066312 3.5 40 3.5 Z" /> - -</vector> diff --git a/res/drawable/shutter_button_video.xml b/res/drawable/shutter_button_video.xml deleted file mode 100644 index 8c70e7d85..000000000 --- a/res/drawable/shutter_button_video.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="@dimen/shutter_size" - android:height="@dimen/shutter_size" - android:viewportWidth="80" - android:viewportHeight="80"> - - <path - android:fillColor="@color/video" - android:strokeWidth="1" - android:pathData="M 40 10.5 C 56.29240012 10.5 69.5 23.70759988 69.5 40 C 69.5 56.29240012 56.29240012 69.5 40 69.5 C 23.70759988 69.5 10.5 56.29240012 10.5 40 C 10.5 23.70759988 23.70759988 10.5 40 10.5 Z" /> - <path - android:strokeColor="@color/white" - android:strokeWidth="7" - android:pathData="M 40 3.5 C 60.1583933688 3.5 76.5 19.8416066312 76.5 40 C 76.5 60.1583933688 60.1583933688 76.5 40 76.5 C 19.8416066312 76.5 3.5 60.1583933688 3.5 40 C 3.5 19.8416066312 19.8416066312 3.5 40 3.5 Z" /> - -</vector> diff --git a/res/drawable/shutter_button_video_dim.xml b/res/drawable/shutter_button_video_dim.xml deleted file mode 100644 index c3de0c04c..000000000 --- a/res/drawable/shutter_button_video_dim.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="@dimen/shutter_size" - android:height="@dimen/shutter_size" - android:viewportWidth="80" - android:viewportHeight="80"> - - <path - android:fillColor="@color/video_pressed" - android:strokeWidth="1" - android:pathData="M 40 12.5 C 55.1878306203 12.5 67.5 24.8121693797 67.5 40 C 67.5 55.1878306203 55.1878306203 67.5 40 67.5 C 24.8121693797 67.5 12.5 55.1878306203 12.5 40 C 12.5 24.8121693797 24.8121693797 12.5 40 12.5 Z" /> - <path - android:strokeColor="@color/white" - android:strokeWidth="7" - android:pathData="M 40 3.5 C 60.1583933688 3.5 76.5 19.8416066312 76.5 40 C 76.5 60.1583933688 60.1583933688 76.5 40 76.5 C 19.8416066312 76.5 3.5 60.1583933688 3.5 40 C 3.5 19.8416066312 19.8416066312 3.5 40 3.5 Z" /> - -</vector> diff --git a/res/drawable/shutter_button_video_stop.xml b/res/drawable/shutter_button_video_stop.xml deleted file mode 100644 index 9acc1a297..000000000 --- a/res/drawable/shutter_button_video_stop.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="@dimen/shutter_size" - android:height="@dimen/shutter_size" - android:viewportWidth="80" - android:viewportHeight="80"> - - <path - android:fillColor="@color/video_stop" - android:strokeWidth="1" - android:pathData="M 40 12.5 C 55.1878306203 12.5 67.5 24.8121693797 67.5 40 C 67.5 55.1878306203 55.1878306203 67.5 40 67.5 C 24.8121693797 67.5 12.5 55.1878306203 12.5 40 C 12.5 24.8121693797 24.8121693797 12.5 40 12.5 Z" /> - <path - android:strokeColor="@color/white" - android:strokeWidth="7" - android:pathData="M 40 3.5 C 60.1583933688 3.5 76.5 19.8416066312 76.5 40 C 76.5 60.1583933688 60.1583933688 76.5 40 76.5 C 19.8416066312 76.5 3.5 60.1583933688 3.5 40 C 3.5 19.8416066312 19.8416066312 3.5 40 3.5 Z" /> - -</vector> diff --git a/res/drawable/shutter_panorama.xml b/res/drawable/shutter_panorama.xml deleted file mode 100644 index e68ddc3dc..000000000 --- a/res/drawable/shutter_panorama.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="@dimen/shutter_size" - android:height="@dimen/shutter_size" - android:viewportWidth="80" - android:viewportHeight="80"> - - <path - android:fillColor="@color/pano" - android:strokeWidth="1" - android:pathData="M 40 10.5 C 56.29240012 10.5 69.5 23.70759988 69.5 40 C 69.5 56.29240012 56.29240012 69.5 40 69.5 C 23.70759988 69.5 10.5 56.29240012 10.5 40 C 10.5 23.70759988 23.70759988 10.5 40 10.5 Z" /> - <path - android:strokeColor="@color/white" - android:strokeWidth="7" - android:pathData="M 40 3.5 C 60.1583933688 3.5 76.5 19.8416066312 76.5 40 C 76.5 60.1583933688 60.1583933688 76.5 40 76.5 C 19.8416066312 76.5 3.5 60.1583933688 3.5 40 C 3.5 19.8416066312 19.8416066312 3.5 40 3.5 Z" /> - -</vector> diff --git a/res/drawable/shutter_panorama_dim.xml b/res/drawable/shutter_panorama_dim.xml deleted file mode 100644 index a9b69e347..000000000 --- a/res/drawable/shutter_panorama_dim.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="@dimen/shutter_size" - android:height="@dimen/shutter_size" - android:viewportWidth="80" - android:viewportHeight="80"> - - <path - android:fillColor="@color/pano_pressed" - android:strokeWidth="1" - android:pathData="M 40 12.5 C 55.1878306203 12.5 67.5 24.8121693797 67.5 40 C 67.5 55.1878306203 55.1878306203 67.5 40 67.5 C 24.8121693797 67.5 12.5 55.1878306203 12.5 40 C 12.5 24.8121693797 24.8121693797 12.5 40 12.5 Z" /> - <path - android:strokeColor="@color/white" - android:strokeWidth="7" - android:pathData="M 40 3.5 C 60.1583933688 3.5 76.5 19.8416066312 76.5 40 C 76.5 60.1583933688 60.1583933688 76.5 40 76.5 C 19.8416066312 76.5 3.5 60.1583933688 3.5 40 C 3.5 19.8416066312 19.8416066312 3.5 40 3.5 Z" /> - -</vector> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 210b4739c..4ac548fb0 100755 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -106,7 +106,7 @@ <dimen name="capture_margin_top">16dip</dimen> <dimen name="camera_controls_size">0dip</dimen> <dimen name="camera_film_strip_gap">32dip</dimen> - <dimen name="shutter_size">68dp</dimen> + <dimen name="shutter_size">80dp</dimen> <dimen name="appwidget_width">180dp</dimen> <dimen name="appwidget_height">180dp</dimen> diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 21b191cdf..d8d08722b 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -1145,6 +1145,8 @@ public class PhotoModule return; } + mUI.doShutterAnimation(); + Location loc = getLocationAccordPictureFormat(mParameters.get(KEY_PICTURE_FORMAT)); mLongShotCaptureCount++; diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java index b08c8f108..a075de464 100644 --- a/src/com/android/camera/PhotoUI.java +++ b/src/com/android/camera/PhotoUI.java @@ -649,11 +649,29 @@ public class PhotoUI implements PieListener, // called from onResume but only the first time public void initializeFirstTime() { // Initialize shutter button. - mShutterButton.setImageResource(R.drawable.btn_new_shutter); + mShutterButton.setImageResource(R.drawable.shutter_button_anim); + mShutterButton.setOnClickListener(new OnClickListener() + { + @Override + public void onClick(View v) { + if (!CameraControls.isAnimating()) + doShutterAnimation(); + if (mController.isImageCaptureIntent()) { + mCameraControls.setTitleBarVisibility(View.VISIBLE); + } + } + }); + mShutterButton.setOnShutterButtonListener(mController); mShutterButton.setVisibility(View.VISIBLE); } + public void doShutterAnimation() { + AnimationDrawable frameAnimation = (AnimationDrawable) mShutterButton.getDrawable(); + frameAnimation.stop(); + frameAnimation.start(); + } + // called from onResume every other time public void initializeSecondTime(Camera.Parameters params) { initializeZoom(params); diff --git a/src/com/android/camera/ShutterButton.java b/src/com/android/camera/ShutterButton.java index 22223510c..b35658070 100644 --- a/src/com/android/camera/ShutterButton.java +++ b/src/com/android/camera/ShutterButton.java @@ -22,12 +22,14 @@ import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; +import com.android.camera.ui.RotateImageView; + /** * A button designed to be used for the on-screen shutter button. * It's currently an {@code ImageView} that can call a delegate when the * pressed state changes. */ -public class ShutterButton extends ImageView { +public class ShutterButton extends RotateImageView { private class LongClickListener implements View.OnLongClickListener { public boolean onLongClick(View v) { @@ -82,6 +84,51 @@ public class ShutterButton extends ImageView { setLongClickable(enable); } + /** + * Hook into the drawable state changing to get changes to isPressed -- the + * onPressed listener doesn't always get called when the pressed state + * changes. + */ + @Override + protected void drawableStateChanged() { + super.drawableStateChanged(); + final boolean pressed = isPressed(); + if (pressed != mOldPressed) { + if (!pressed) { + // When pressing the physical camera button the sequence of + // events is: + // focus pressed, optional camera pressed, focus released. + // We want to emulate this sequence of events with the shutter + // button. When clicking using a trackball button, the view + // system changes the drawable state before posting click + // notification, so the sequence of events is: + // pressed(true), optional click, pressed(false) + // When clicking using touch events, the view system changes the + // drawable state after posting click notification, so the + // sequence of events is: + // pressed(true), pressed(false), optional click + // Since we're emulating the physical camera button, we want to + // have the same order of events. So we want the optional click + // callback to be delivered before the pressed(false) callback. + // + // To do this, we delay the posting of the pressed(false) event + // slightly by pushing it on the event queue. This moves it + // after the optional click notification, so our client always + // sees events in this sequence: + // pressed(true), optional click, pressed(false) + post(new Runnable() { + @Override + public void run() { + callShutterButtonFocus(pressed); + } + }); + } else { + callShutterButtonFocus(pressed); + } + mOldPressed = pressed; + } + } + private void callShutterButtonFocus(boolean pressed) { if (mListener != null) { mListener.onShutterButtonFocus(pressed); diff --git a/src/com/android/camera/ui/CameraControls.java b/src/com/android/camera/ui/CameraControls.java index 54355078c..4abe3809c 100755 --- a/src/com/android/camera/ui/CameraControls.java +++ b/src/com/android/camera/ui/CameraControls.java @@ -1081,7 +1081,7 @@ public class CameraControls extends RotatableLayout { View[] views = { mSceneModeSwitcher, mFilterModeSwitcher, mFrontBackSwitcher, TsMakeupManager.HAS_TS_MAKEUP ? mTsMakeupSwitcher : mHdrSwitcher,mBokehSwitcher, - mMenu, mPreview, mSwitcher, mMute, mReviewRetakeButton, + mMenu, mShutter, mPreview, mSwitcher, mMute, mReviewRetakeButton, mReviewCancelButton, mReviewDoneButton, mExitPanorama }; for (View v : views) { diff --git a/src/com/android/camera/ui/OneUICameraControls.java b/src/com/android/camera/ui/OneUICameraControls.java index 04c828604..c5daba52f 100644 --- a/src/com/android/camera/ui/OneUICameraControls.java +++ b/src/com/android/camera/ui/OneUICameraControls.java @@ -229,7 +229,7 @@ public class OneUICameraControls extends RotatableLayout { mViews = new View[]{ mSceneModeSwitcher, mFilterModeSwitcher, mFrontBackSwitcher, - mTsMakeupSwitcher, mFlashButton, mPreview, mVideoShutter, + mTsMakeupSwitcher, mFlashButton, mShutter, mPreview, mVideoShutter, mPauseButton, mCancelButton }; mBottomLargeSize = getResources().getDimensionPixelSize( |