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-09 21:42:32 -0700
commit0b798a1fe953f180645435cb56cdc15cbd036149 (patch)
tree84e5706423408975ea3bff185f74f573ba212ee5 /src/com/android/camera/VideoMenu.java
parent22c2e38daad6854315c6abad634e87c3d367fa9b (diff)
downloadandroid_packages_apps_Snap-0b798a1fe953f180645435cb56cdc15cbd036149.tar.gz
android_packages_apps_Snap-0b798a1fe953f180645435cb56cdc15cbd036149.tar.bz2
android_packages_apps_Snap-0b798a1fe953f180645435cb56cdc15cbd036149.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 2706357ef..a734b24b7 100644
--- a/src/com/android/camera/VideoMenu.java
+++ b/src/com/android/camera/VideoMenu.java
@@ -49,6 +49,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,
@@ -220,19 +222,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() {
@@ -290,27 +310,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();
@@ -328,7 +374,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) {