summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/camera/ui/CameraControls.java20
-rw-r--r--src/com/android/camera/ui/FilmStripView.java5
2 files changed, 22 insertions, 3 deletions
diff --git a/src/com/android/camera/ui/CameraControls.java b/src/com/android/camera/ui/CameraControls.java
index c57c538f5..763abe914 100644
--- a/src/com/android/camera/ui/CameraControls.java
+++ b/src/com/android/camera/ui/CameraControls.java
@@ -37,6 +37,7 @@ import android.util.MathUtils;
import android.util.Pair;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewParent;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
import android.widget.LinearLayout;
@@ -147,9 +148,6 @@ public class CameraControls extends RotatableLayout {
synchronized (mViews) {
for (View v : mViews) {
if (v.getVisibility() != View.GONE) {
- if (enable) {
- v.setPressed(false);
- }
v.setEnabled(enable);
}
}
@@ -353,6 +351,7 @@ public class CameraControls extends RotatableLayout {
if (background instanceof RippleDrawable) {
RippleDrawable ripple = (RippleDrawable) background;
if (enable) {
+ applyBoundsAsHotspot(ripple, mShutter, v);
ripple.setState(new int[]{android.R.attr.state_pressed, android.R.attr.state_enabled});
} else {
ripple.setState(new int[]{});
@@ -362,6 +361,21 @@ public class CameraControls extends RotatableLayout {
});
}
+ private void applyBoundsAsHotspot(RippleDrawable d, View view, View targetParent) {
+ int left = view.getLeft(), right = view.getRight();
+ int top = view.getTop(), bottom = view.getBottom();
+ ViewParent parent = view.getParent();
+ while (parent != targetParent && parent instanceof View) {
+ final View vp = (View) parent;
+ left += vp.getLeft();
+ right += vp.getLeft();
+ top += vp.getTop();
+ bottom += vp.getTop();
+ parent = vp.getParent();
+ }
+ d.setHotspotBounds(left, top, right, bottom);
+ }
+
private void setLocation(int w, int h) {
int rotation = getUnifiedRotation();
layoutToast(mRefocusToast, w, h, rotation);
diff --git a/src/com/android/camera/ui/FilmStripView.java b/src/com/android/camera/ui/FilmStripView.java
index 53cff67da..bd57317ea 100644
--- a/src/com/android/camera/ui/FilmStripView.java
+++ b/src/com/android/camera/ui/FilmStripView.java
@@ -889,6 +889,11 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener {
return false;
}
+ @Override
+ public boolean shouldDelayChildPressedState() {
+ return !inCameraFullscreen();
+ }
+
private int findTheNearestView(int pointX) {
int nearest = 0;