summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/VideoMenu.java
diff options
context:
space:
mode:
authorlikaid <likaid@codeaurora.org>2015-04-10 12:41:04 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2015-04-11 02:31:25 -0700
commite316834a212f34b29f138d45ae0c9117a745b761 (patch)
treee0c4a887673a4a0023563a44bcd57bdb6598d301 /src/com/android/camera/VideoMenu.java
parent00eaeb18df0f4c32d444e8e634b215cad6076d88 (diff)
downloadandroid_packages_apps_Snap-e316834a212f34b29f138d45ae0c9117a745b761.tar.gz
android_packages_apps_Snap-e316834a212f34b29f138d45ae0c9117a745b761.tar.bz2
android_packages_apps_Snap-e316834a212f34b29f138d45ae0c9117a745b761.zip
SnapdragonCamera: Popup menu doesn't support RTL mode
Coordinate direction is opposite in RTL mode. Modify Coordinate direction in RTL mode. Change-Id: I3fcd42fc27d430b486f9cccdde5ecec0d0468d30 CRs-Fixed: 819310
Diffstat (limited to 'src/com/android/camera/VideoMenu.java')
-rw-r--r--src/com/android/camera/VideoMenu.java121
1 files changed, 86 insertions, 35 deletions
diff --git a/src/com/android/camera/VideoMenu.java b/src/com/android/camera/VideoMenu.java
index de8d5e4e2..da5c062e8 100644
--- a/src/com/android/camera/VideoMenu.java
+++ b/src/com/android/camera/VideoMenu.java
@@ -51,6 +51,8 @@ import android.view.WindowManager;
import android.view.Display;
import com.android.camera.ui.RotateLayout;
import com.android.camera.util.CameraUtil;
+import android.text.TextUtils;
+import java.util.Locale;
public class VideoMenu extends MenuController
implements ListMenu.Listener,
@@ -222,19 +224,37 @@ public class VideoMenu extends MenuController
mPopupStatus = POPUP_IN_ANIMATION_SLIDE;
ViewPropertyAnimator vp = v.animate();
- 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;
+ 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;
+ }
}
vp.setListener(new AnimatorListener() {
@@ -292,27 +312,53 @@ public class VideoMenu extends MenuController
ViewPropertyAnimator vp = v.animate();
float dest;
- 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;
+ 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;
+ }
}
vp.setDuration(ANIMATION_DURATION).start();
@@ -330,7 +376,12 @@ public class VideoMenu extends MenuController
mPreviewMenuStatus = PREVIEW_MENU_IN_ANIMATION;
ViewPropertyAnimator vp = v.animate();
- vp.translationXBy(-v.getWidth()).setDuration(ANIMATION_DURATION);
+ if (View.LAYOUT_DIRECTION_RTL == TextUtils
+ .getLayoutDirectionFromLocale(Locale.getDefault())) {
+ vp.translationXBy(v.getWidth()).setDuration(ANIMATION_DURATION);
+ } else {
+ vp.translationXBy(-v.getWidth()).setDuration(ANIMATION_DURATION);
+ }
vp.setListener(new AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {