diff options
author | Doris Liu <tianliu@google.com> | 2013-04-23 11:00:37 -0700 |
---|---|---|
committer | Doris Liu <tianliu@google.com> | 2013-04-23 13:28:59 -0700 |
commit | fd2e619a2fb263315816b3579a9c6751c398132d (patch) | |
tree | 7a4b8cc8a5cfc959b1a4e1cbf2c0df4de16c48b4 /src | |
parent | 37c006fc72a6a3f849545587ad85c82466862bc4 (diff) | |
download | android_packages_apps_Snap-fd2e619a2fb263315816b3579a9c6751c398132d.tar.gz android_packages_apps_Snap-fd2e619a2fb263315816b3579a9c6751c398132d.tar.bz2 android_packages_apps_Snap-fd2e619a2fb263315816b3579a9c6751c398132d.zip |
Fix for popuping being hard to dismiss
Bug: 8688503
Change-Id: I86f1451867d7606060e5f81fdd3b8b0af1e0a6d3
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/PhotoUI.java | 6 | ||||
-rw-r--r-- | src/com/android/camera/PreviewGestures.java | 5 | ||||
-rw-r--r-- | src/com/android/camera/VideoUI.java | 6 |
3 files changed, 11 insertions, 6 deletions
diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java index fd148bad7..ad04a4e92 100644 --- a/src/com/android/camera/PhotoUI.java +++ b/src/com/android/camera/PhotoUI.java @@ -389,9 +389,7 @@ public class PhotoUI implements PieListener, } public boolean dispatchTouchEvent(MotionEvent m) { - if (mPopup != null) { - return mActivity.superDispatchTouchEvent(m); - } else if (mGestures != null && mRenderOverlay != null) { + if (mGestures != null && mRenderOverlay != null) { return mGestures.dispatchTouch(m); } return false; @@ -462,6 +460,7 @@ public class PhotoUI implements PieListener, LayoutParams.WRAP_CONTENT); lp.gravity = Gravity.CENTER; ((FrameLayout) mRootView).addView(mPopup, lp); + mGestures.addTouchReceiver(mPopup); } public void dismissPopup(boolean topPopupOnly) { @@ -475,6 +474,7 @@ public class PhotoUI implements PieListener, } setShowMenu(fullScreen); if (mPopup != null) { + mGestures.removeTouchReceiver(mPopup); ((FrameLayout) mRootView).removeView(mPopup); mPopup = null; } diff --git a/src/com/android/camera/PreviewGestures.java b/src/com/android/camera/PreviewGestures.java index 90ab075d2..0b80ff688 100644 --- a/src/com/android/camera/PreviewGestures.java +++ b/src/com/android/camera/PreviewGestures.java @@ -128,6 +128,11 @@ public class PreviewGestures mReceivers.add(v); } + public void removeTouchReceiver(View v) { + if (mReceivers == null || v == null) return; + mReceivers.remove(v); + } + public void addUnclickableArea(View v) { if (mUnclickableAreas == null) { mUnclickableAreas = new ArrayList<View>(); diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java index 79150e9fe..1da4c24ad 100644 --- a/src/com/android/camera/VideoUI.java +++ b/src/com/android/camera/VideoUI.java @@ -295,6 +295,7 @@ public class VideoUI implements SurfaceHolder.Callback, PieRenderer.PieListener, LayoutParams.WRAP_CONTENT); lp.gravity = Gravity.CENTER; ((FrameLayout) mRootView).addView(mPopup, lp); + mGestures.addTouchReceiver(mPopup); } public void dismissPopup(boolean topLevelOnly) { @@ -308,6 +309,7 @@ public class VideoUI implements SurfaceHolder.Callback, PieRenderer.PieListener, } setShowMenu(fullScreen); if (mPopup != null) { + mGestures.removeTouchReceiver(mPopup); ((FrameLayout) mRootView).removeView(mPopup); mPopup = null; } @@ -486,10 +488,8 @@ public class VideoUI implements SurfaceHolder.Callback, PieRenderer.PieListener, } public boolean dispatchTouchEvent(MotionEvent m) { - if (mPopup == null && mGestures != null && mRenderOverlay != null) { + if (mGestures != null && mRenderOverlay != null) { return mGestures.dispatchTouch(m); - } else if (mPopup != null) { - return mActivity.superDispatchTouchEvent(m); } return false; } |