diff options
author | likaid <likaid@codeaurora.org> | 2015-04-10 12:41:04 +0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-04-09 21:42:32 -0700 |
commit | 0b798a1fe953f180645435cb56cdc15cbd036149 (patch) | |
tree | 84e5706423408975ea3bff185f74f573ba212ee5 /src/com/android/camera/VideoMenu.java | |
parent | 22c2e38daad6854315c6abad634e87c3d367fa9b (diff) | |
download | android_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.java | 121 |
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) { |