diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/PhotoMenu.java | 120 | ||||
-rw-r--r-- | src/com/android/camera/PhotoUI.java | 7 | ||||
-rw-r--r-- | src/com/android/camera/VideoMenu.java | 121 | ||||
-rw-r--r-- | src/com/android/camera/VideoUI.java | 7 |
4 files changed, 181 insertions, 74 deletions
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index 1c8815845..534924281 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -62,6 +62,7 @@ import android.view.ViewGroup; import android.view.WindowManager; import android.view.Display; import com.android.camera.util.CameraUtil; +import java.util.Locale; public class PhotoMenu extends MenuController implements ListMenu.Listener, @@ -341,19 +342,37 @@ public class PhotoMenu 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() { @Override @@ -410,27 +429,53 @@ public class PhotoMenu 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(); } @@ -454,7 +499,12 @@ public class PhotoMenu 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) { diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java index 8ccf5a49f..d2e2345e6 100644 --- a/src/com/android/camera/PhotoUI.java +++ b/src/com/android/camera/PhotoUI.java @@ -849,8 +849,11 @@ public class PhotoUI implements PieListener, int y = Math.max(0, yBase); if (yBase + height > screenHeight) y = Math.max(0, screenHeight - height); - params.setMargins(0, y, 0, 0); - params.setMarginStart(CameraActivity.SETTING_LIST_WIDTH_1); + if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) { + params.setMargins(CameraActivity.SETTING_LIST_WIDTH_1, y, 0, 0); + } else { + params.setMargins(0, y, CameraActivity.SETTING_LIST_WIDTH_1, 0); + } mSubMenuLayout.setLayoutParams(params); 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) { diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java index cc06e7b79..8fbae5ee6 100644 --- a/src/com/android/camera/VideoUI.java +++ b/src/com/android/camera/VideoUI.java @@ -793,8 +793,11 @@ public class VideoUI implements PieRenderer.PieListener, int y = Math.max(0, yBase); if (yBase + height > screenHeight) y = Math.max(0, screenHeight - height); - layoutParams.setMargins(0, y, 0, 0); - layoutParams.setMarginStart(CameraActivity.SETTING_LIST_WIDTH_1); + if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) { + layoutParams.setMargins(CameraActivity.SETTING_LIST_WIDTH_1, y, 0, 0); + } else { + layoutParams.setMargins(0, y, CameraActivity.SETTING_LIST_WIDTH_1, 0); + } mSubMenuLayout.setLayoutParams(layoutParams); mSubMenuLayout.addView(popup); |