summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Coucheron <arco68@gmail.com>2017-08-10 06:48:28 +0200
committerArne Coucheron <arco68@gmail.com>2018-01-27 00:41:45 +0100
commit7f4ba23dfc98f36c6bc139b7dbc55948f858e8df (patch)
tree9483651d372703980d887b39ed559674ff72a2e2
parent690481663272ee4cce5dd7670edfe7b0b33a5f85 (diff)
downloadandroid_packages_apps_Snap-7f4ba23dfc98f36c6bc139b7dbc55948f858e8df.zip
android_packages_apps_Snap-7f4ba23dfc98f36c6bc139b7dbc55948f858e8df.tar.gz
android_packages_apps_Snap-7f4ba23dfc98f36c6bc139b7dbc55948f858e8df.tar.bz2
Snap: Bring back original shutter icons and animation
Change-Id: I843ba306053ea7f14fbf805c8633c02a854f84df
-rw-r--r--res/drawable-hdpi/shutter_button_stop.pngbin0 -> 20190 bytes
-rw-r--r--res/drawable-hdpi/shutter_button_video.pngbin0 -> 6536 bytes
-rw-r--r--res/drawable-hdpi/shutter_button_video_dim.pngbin0 -> 6077 bytes
-rw-r--r--res/drawable-hdpi/shutter_button_video_stop.pngbin0 -> 5874 bytes
-rw-r--r--res/drawable-hdpi/shutter_panorama.pngbin0 -> 10742 bytes
-rw-r--r--res/drawable-hdpi/shutter_panorama_dim.pngbin0 -> 6051 bytes
-rw-r--r--res/drawable-mdpi/shutter_button_stop.pngbin0 -> 18692 bytes
-rw-r--r--res/drawable-mdpi/shutter_button_video.pngbin0 -> 5088 bytes
-rw-r--r--res/drawable-mdpi/shutter_button_video_dim.pngbin0 -> 4712 bytes
-rw-r--r--res/drawable-mdpi/shutter_button_video_stop.pngbin0 -> 4578 bytes
-rw-r--r--res/drawable-mdpi/shutter_panorama.pngbin0 -> 6017 bytes
-rw-r--r--res/drawable-mdpi/shutter_panorama_dim.pngbin0 -> 4723 bytes
-rw-r--r--res/drawable-xhdpi/shutter_button_stop.pngbin0 -> 22755 bytes
-rw-r--r--res/drawable-xhdpi/shutter_button_video.pngbin0 -> 9721 bytes
-rw-r--r--res/drawable-xhdpi/shutter_button_video_dim.pngbin0 -> 9042 bytes
-rw-r--r--res/drawable-xhdpi/shutter_button_video_stop.pngbin0 -> 8639 bytes
-rw-r--r--res/drawable-xhdpi/shutter_panorama.pngbin0 -> 13009 bytes
-rw-r--r--res/drawable-xhdpi/shutter_panorama_dim.pngbin0 -> 8950 bytes
-rw-r--r--res/drawable/btn_new_shutter.xml5
-rw-r--r--res/drawable/shutter_button_normal.xml17
-rw-r--r--res/drawable/shutter_button_pressed.xml17
-rw-r--r--res/drawable/shutter_button_stop.xml17
-rw-r--r--res/drawable/shutter_button_video.xml17
-rw-r--r--res/drawable/shutter_button_video_dim.xml17
-rw-r--r--res/drawable/shutter_button_video_stop.xml17
-rw-r--r--res/drawable/shutter_panorama.xml17
-rw-r--r--res/drawable/shutter_panorama_dim.xml17
-rwxr-xr-xres/values/dimens.xml2
-rw-r--r--src/com/android/camera/PhotoModule.java2
-rw-r--r--src/com/android/camera/PhotoUI.java20
-rw-r--r--src/com/android/camera/ShutterButton.java49
-rwxr-xr-xsrc/com/android/camera/ui/CameraControls.java2
-rw-r--r--src/com/android/camera/ui/OneUICameraControls.java2
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
new file mode 100644
index 0000000..ae6c1dc
--- /dev/null
+++ b/res/drawable-hdpi/shutter_button_stop.png
Binary files differ
diff --git a/res/drawable-hdpi/shutter_button_video.png b/res/drawable-hdpi/shutter_button_video.png
new file mode 100644
index 0000000..345c418
--- /dev/null
+++ b/res/drawable-hdpi/shutter_button_video.png
Binary files differ
diff --git a/res/drawable-hdpi/shutter_button_video_dim.png b/res/drawable-hdpi/shutter_button_video_dim.png
new file mode 100644
index 0000000..88fad94
--- /dev/null
+++ b/res/drawable-hdpi/shutter_button_video_dim.png
Binary files differ
diff --git a/res/drawable-hdpi/shutter_button_video_stop.png b/res/drawable-hdpi/shutter_button_video_stop.png
new file mode 100644
index 0000000..f5e1fb8
--- /dev/null
+++ b/res/drawable-hdpi/shutter_button_video_stop.png
Binary files differ
diff --git a/res/drawable-hdpi/shutter_panorama.png b/res/drawable-hdpi/shutter_panorama.png
new file mode 100644
index 0000000..16f0443
--- /dev/null
+++ b/res/drawable-hdpi/shutter_panorama.png
Binary files differ
diff --git a/res/drawable-hdpi/shutter_panorama_dim.png b/res/drawable-hdpi/shutter_panorama_dim.png
new file mode 100644
index 0000000..d7c7a06
--- /dev/null
+++ b/res/drawable-hdpi/shutter_panorama_dim.png
Binary files differ
diff --git a/res/drawable-mdpi/shutter_button_stop.png b/res/drawable-mdpi/shutter_button_stop.png
new file mode 100644
index 0000000..7058814
--- /dev/null
+++ b/res/drawable-mdpi/shutter_button_stop.png
Binary files differ
diff --git a/res/drawable-mdpi/shutter_button_video.png b/res/drawable-mdpi/shutter_button_video.png
new file mode 100644
index 0000000..1fad540
--- /dev/null
+++ b/res/drawable-mdpi/shutter_button_video.png
Binary files differ
diff --git a/res/drawable-mdpi/shutter_button_video_dim.png b/res/drawable-mdpi/shutter_button_video_dim.png
new file mode 100644
index 0000000..721abc3
--- /dev/null
+++ b/res/drawable-mdpi/shutter_button_video_dim.png
Binary files differ
diff --git a/res/drawable-mdpi/shutter_button_video_stop.png b/res/drawable-mdpi/shutter_button_video_stop.png
new file mode 100644
index 0000000..00985ae
--- /dev/null
+++ b/res/drawable-mdpi/shutter_button_video_stop.png
Binary files differ
diff --git a/res/drawable-mdpi/shutter_panorama.png b/res/drawable-mdpi/shutter_panorama.png
new file mode 100644
index 0000000..b140e57
--- /dev/null
+++ b/res/drawable-mdpi/shutter_panorama.png
Binary files differ
diff --git a/res/drawable-mdpi/shutter_panorama_dim.png b/res/drawable-mdpi/shutter_panorama_dim.png
new file mode 100644
index 0000000..b6e22f9
--- /dev/null
+++ b/res/drawable-mdpi/shutter_panorama_dim.png
Binary files differ
diff --git a/res/drawable-xhdpi/shutter_button_stop.png b/res/drawable-xhdpi/shutter_button_stop.png
new file mode 100644
index 0000000..88f60d3
--- /dev/null
+++ b/res/drawable-xhdpi/shutter_button_stop.png
Binary files differ
diff --git a/res/drawable-xhdpi/shutter_button_video.png b/res/drawable-xhdpi/shutter_button_video.png
new file mode 100644
index 0000000..da58053
--- /dev/null
+++ b/res/drawable-xhdpi/shutter_button_video.png
Binary files differ
diff --git a/res/drawable-xhdpi/shutter_button_video_dim.png b/res/drawable-xhdpi/shutter_button_video_dim.png
new file mode 100644
index 0000000..fc41296
--- /dev/null
+++ b/res/drawable-xhdpi/shutter_button_video_dim.png
Binary files differ
diff --git a/res/drawable-xhdpi/shutter_button_video_stop.png b/res/drawable-xhdpi/shutter_button_video_stop.png
new file mode 100644
index 0000000..44df24b
--- /dev/null
+++ b/res/drawable-xhdpi/shutter_button_video_stop.png
Binary files differ
diff --git a/res/drawable-xhdpi/shutter_panorama.png b/res/drawable-xhdpi/shutter_panorama.png
new file mode 100644
index 0000000..8cfd7ee
--- /dev/null
+++ b/res/drawable-xhdpi/shutter_panorama.png
Binary files differ
diff --git a/res/drawable-xhdpi/shutter_panorama_dim.png b/res/drawable-xhdpi/shutter_panorama_dim.png
new file mode 100644
index 0000000..606032b
--- /dev/null
+++ b/res/drawable-xhdpi/shutter_panorama_dim.png
Binary files differ
diff --git a/res/drawable/btn_new_shutter.xml b/res/drawable/btn_new_shutter.xml
index a415812..53bef31 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 9e1f9aa..0000000
--- 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 32dbd58..0000000
--- 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 8954092..0000000
--- 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 8c70e7d..0000000
--- 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 c3de0c0..0000000
--- 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 9acc1a2..0000000
--- 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 e68ddc3..0000000
--- 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 a9b69e3..0000000
--- 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 210b473..4ac548f 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 21b191c..d8d0872 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 b08c8f1..a075de4 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 2222351..b356580 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 5435507..4abe380 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 04c8286..c5daba5 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(