From: Owen Lin Date: Thu, 25 Mar 2010 07:36:26 +0000 (+0800) Subject: Add some more ways to dismiss popup window(UX change). X-Git-Tag: android-x86-2.2~29 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3eed8999c9fd92600c74225b671a2f03d7dd51d4;p=android-x86%2Fpackages-apps-Camera.git Add some more ways to dismiss popup window(UX change). Bug: 2538066 Change-Id: Ieb5b28500363ff5cc88b508329c84c35ebc5b230 --- diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java index 3296912..2ab4d24 100644 --- a/src/com/android/camera/Camera.java +++ b/src/com/android/camera/Camera.java @@ -1398,8 +1398,9 @@ public class Camera extends NoSearchActivity implements View.OnClickListener, if (!isCameraIdle()) { // ignore backs while we're taking a picture return; + } else if (mHeadUpDisplay == null || !mHeadUpDisplay.collapse()) { + super.onBackPressed(); } - super.onBackPressed(); } @Override diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java index 411386a..dbe5b7a 100644 --- a/src/com/android/camera/VideoCamera.java +++ b/src/com/android/camera/VideoCamera.java @@ -684,9 +684,9 @@ public class VideoCamera extends NoSearchActivity if (mPausing) return; if (mMediaRecorderRecording) { onStopVideoRecording(false); - return; + } else if (mHeadUpDisplay == null || !mHeadUpDisplay.collapse()) { + super.onBackPressed(); } - super.onBackPressed(); } @Override diff --git a/src/com/android/camera/ui/IndicatorBar.java b/src/com/android/camera/ui/IndicatorBar.java index 0d51f97..28c4eab 100644 --- a/src/com/android/camera/ui/IndicatorBar.java +++ b/src/com/android/camera/ui/IndicatorBar.java @@ -18,6 +18,8 @@ public class IndicatorBar extends GLView { private OnItemSelectedListener mSelectedListener; private boolean mActivated = false; + private boolean mSelectionChanged = false; + private class Background extends GLView { @Override protected void render(GLRootView root, GL11 gl) { @@ -111,6 +113,7 @@ public class IndicatorBar extends GLView { private void setSelectedItem(GLView view, int index) { if (index == mSelectedIndex) return; + mSelectionChanged = true; mSelectedIndex = index; if (mSelectedListener != null) { if (index == INDEX_NONE) { @@ -156,6 +159,7 @@ public class IndicatorBar extends GLView { int y = (int) event.getY(); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: + mSelectionChanged = false; setActivated(true); case MotionEvent.ACTION_MOVE: for (int i = 1, n = getComponentCount(); i < n; ++i) { @@ -166,6 +170,11 @@ public class IndicatorBar extends GLView { } } setSelectedItem(null, INDEX_NONE); + break; + case MotionEvent.ACTION_UP: + if (mSelectionChanged == false) { + setSelectedItem(null, INDEX_NONE); + } } return true; }