summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/VideoMenu.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/VideoMenu.java')
-rw-r--r--src/com/android/camera/VideoMenu.java173
1 files changed, 57 insertions, 116 deletions
diff --git a/src/com/android/camera/VideoMenu.java b/src/com/android/camera/VideoMenu.java
index a510a51e6..87897bd59 100644
--- a/src/com/android/camera/VideoMenu.java
+++ b/src/com/android/camera/VideoMenu.java
@@ -86,8 +86,8 @@ public class VideoMenu extends MenuController
private boolean mIsVideoCDSUpdated = false;
private int mPrivateCounter = 0;
private static final int ANIMATION_DURATION = 300;
- private static final int CLICK_THRESHOLD = 200;
private int previewMenuSize;
+ private Rect mTmpRect = new Rect();
private static final boolean PERSIST_4K_NO_LIMIT =
android.os.SystemProperties.getBoolean("persist.camcorder.4k.nolimit", false);
@@ -238,37 +238,21 @@ public class VideoMenu extends MenuController
mPopupStatus = POPUP_IN_ANIMATION_SLIDE;
ViewPropertyAnimator vp = v.animate();
- if (View.LAYOUT_DIRECTION_RTL == TextUtils
- .getLayoutDirectionFromLocale(Locale.getDefault())) {
- switch (mUI.getOrientation()) {
- case 0:
- vp.translationXBy(v.getWidth());
- break;
- case 90:
- vp.translationYBy(-2 * v.getHeight());
- break;
- case 180:
- vp.translationXBy(-2 * v.getWidth());
- break;
- case 270:
- vp.translationYBy(v.getHeight());
- break;
- }
- } else {
- switch (mUI.getOrientation()) {
- case 0:
- vp.translationXBy(-v.getWidth());
- break;
- case 90:
- vp.translationYBy(2 * v.getHeight());
- break;
- case 180:
- vp.translationXBy(2 * v.getWidth());
- break;
- case 270:
- vp.translationYBy(-v.getHeight());
- break;
- }
+ int sign = mUI.isRtl() ? -1 : 1;
+
+ switch (mUI.getOrientation()) {
+ case 0:
+ vp.translationXBy(-v.getWidth() * sign);
+ break;
+ case 90:
+ vp.translationYBy(2 * v.getHeight() * sign);
+ break;
+ case 180:
+ vp.translationXBy(2 * v.getWidth() * sign);
+ break;
+ case 270:
+ vp.translationYBy(-v.getHeight() * sign);
+ break;
}
vp.setListener(new AnimatorListener() {
@@ -325,54 +309,30 @@ public class VideoMenu extends MenuController
orientation = 0;
ViewPropertyAnimator vp = v.animate();
+ int sign = mUI.isRtl() ? -1 : 1;
float dest;
- if (View.LAYOUT_DIRECTION_RTL == TextUtils
- .getLayoutDirectionFromLocale(Locale.getDefault())) {
- switch (orientation) {
- case 0:
- dest = v.getX();
- v.setX(-(dest - delta));
- vp.translationX(dest);
- break;
- case 90:
- dest = v.getY();
- v.setY(-(dest + delta));
- vp.translationY(dest);
- break;
- case 180:
- dest = v.getX();
- v.setX(-(dest + delta));
- vp.translationX(dest);
- break;
- case 270:
- dest = v.getY();
- v.setY(-(dest - delta));
- vp.translationY(dest);
- break;
- }
- } else {
- switch (orientation) {
- case 0:
- dest = v.getX();
- v.setX(dest - delta);
- vp.translationX(dest);
- break;
- case 90:
- dest = v.getY();
- v.setY(dest + delta);
- vp.translationY(dest);
- break;
- case 180:
- dest = v.getX();
- v.setX(dest + delta);
- vp.translationX(dest);
- break;
- case 270:
- dest = v.getY();
- v.setY(dest - delta);
- vp.translationY(dest);
- break;
- }
+
+ switch (orientation) {
+ case 0:
+ dest = v.getX();
+ v.setX((dest - delta) * sign);
+ vp.translationX(dest);
+ break;
+ case 90:
+ dest = v.getY();
+ v.setY((dest + delta) * sign);
+ vp.translationY(dest);
+ break;
+ case 180:
+ dest = v.getX();
+ v.setX((dest + delta) * sign);
+ vp.translationX(dest);
+ break;
+ case 270:
+ dest = v.getY();
+ v.setY((dest - delta) * sign);
+ vp.translationY(dest);
+ break;
}
vp.setDuration(ANIMATION_DURATION).start();
@@ -389,13 +349,9 @@ public class VideoMenu extends MenuController
return;
mPreviewMenuStatus = PREVIEW_MENU_IN_ANIMATION;
- ViewPropertyAnimator vp = v.animate();
- if (View.LAYOUT_DIRECTION_RTL == TextUtils
- .getLayoutDirectionFromLocale(Locale.getDefault())) {
- vp.translationXBy(v.getWidth()).setDuration(ANIMATION_DURATION);
- } else {
- vp.translationXBy(-v.getWidth()).setDuration(ANIMATION_DURATION);
- }
+ ViewPropertyAnimator vp = v.animate()
+ .translationXBy(-v.getWidth() * (mUI.isRtl() ? -1 : 1))
+ .setDuration(ANIMATION_DURATION);
vp.setListener(new AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
@@ -426,23 +382,20 @@ public class VideoMenu extends MenuController
|| mPopupStatus == POPUP_IN_ANIMATION_SLIDE
|| mPopupStatus == POPUP_IN_ANIMATION_FADE)
return false;
- if (mUI.getMenuLayout() == null)
- return false;
- Rect rec = new Rect();
- mUI.getMenuLayout().getChildAt(0).getHitRect(rec);
- return rec.contains((int) ev.getX(), (int) ev.getY());
+ return isOverView(mUI.getMenuLayout(), ev);
}
public boolean isOverPreviewMenu(MotionEvent ev) {
if (mPreviewMenuStatus != PREVIEW_MENU_ON)
return false;
- if (mUI.getPreviewMenuLayout() == null)
+ return isOverView(mUI.getPreviewMenuLayout(), ev);
+ }
+
+ private boolean isOverView(View view, MotionEvent ev) {
+ if (view == null)
return false;
- Rect rec = new Rect();
- mUI.getPreviewMenuLayout().getChildAt(0).getHitRect(rec);
- rec.top += (int) mUI.getPreviewMenuLayout().getY();
- rec.bottom += (int) mUI.getPreviewMenuLayout().getY();
- return rec.contains((int) ev.getX(), (int) ev.getY());
+ view.getHitRect(mTmpRect);
+ return mTmpRect.contains((int) ev.getX(), (int) ev.getY());
}
public boolean isMenuBeingShown() {
@@ -526,9 +479,8 @@ public class VideoMenu extends MenuController
addFilterMode();
ViewGroup menuLayout = mUI.getPreviewMenuLayout();
if (menuLayout != null) {
- View view = menuLayout.getChildAt(0);
mUI.adjustOrientation();
- animateSlideIn(view, previewMenuSize, false);
+ animateSlideIn(menuLayout, previewMenuSize, false);
}
}
});
@@ -609,25 +561,14 @@ public class VideoMenu extends MenuController
ImageView imageView = (ImageView) layout2.findViewById(R.id.image);
final int j = i;
- layout2.setOnTouchListener(new View.OnTouchListener() {
- private long startTime;
-
+ layout2.setOnClickListener(new View.OnClickListener() {
@Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
- startTime = System.currentTimeMillis();
- } else if (event.getAction() == MotionEvent.ACTION_UP) {
- if (System.currentTimeMillis() - startTime < CLICK_THRESHOLD) {
- pref.setValueIndex(j);
- changeFilterModeControlIcon(pref.getValue());
- for (View v1 : views) {
- v1.setActivated(v1 == v);
- }
- onSettingChanged(pref);
- }
-
+ public void onClick(View v) {
+ pref.setValueIndex(j);
+ for (View v1 : views) {
+ v1.setActivated(v1 == v);
}
- return true;
+ onSettingChanged(pref);
}
});