diff options
author | Danny Baumann <dannybaumann@web.de> | 2016-11-29 13:55:17 +0100 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2017-01-04 22:00:45 +0200 |
commit | faba8b3739e1bb0ede3f366e7a41cc5c6bedaf2d (patch) | |
tree | 5a24e7df045841f3c9db04e6942a80d6472f05b9 /src/com/android/camera/PhotoUI.java | |
parent | 117a398da61cf28218d96add271c49cad1cb1260 (diff) | |
download | android_packages_apps_Snap-faba8b3739e1bb0ede3f366e7a41cc5c6bedaf2d.tar.gz android_packages_apps_Snap-faba8b3739e1bb0ede3f366e7a41cc5c6bedaf2d.tar.bz2 android_packages_apps_Snap-faba8b3739e1bb0ede3f366e7a41cc5c6bedaf2d.zip |
Improve RTL layout behaviour.
- Swipe in menu from the right in RTL
- Make it possible to select scene/filter items in RTL
- Remove/clean up some nonsense code
Change-Id: I884a06f5cc6e72a1d2ee19dbdf32ce511c8466ec
Diffstat (limited to 'src/com/android/camera/PhotoUI.java')
-rw-r--r-- | src/com/android/camera/PhotoUI.java | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java index 85bd167fb..a4241b515 100644 --- a/src/com/android/camera/PhotoUI.java +++ b/src/com/android/camera/PhotoUI.java @@ -702,8 +702,11 @@ public class PhotoUI extends BaseUI implements PieListener, mMakeupMenuLayout = layout; } + public boolean isRtl() { + return mRootView.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL; + } + public void showPopup(ListView popup, int level, boolean animate) { - FrameLayout.LayoutParams params; hideUI(); popup.setVisibility(View.VISIBLE); @@ -711,16 +714,9 @@ public class PhotoUI extends BaseUI implements PieListener, if (mMenuLayout == null) { mMenuLayout = new RotateLayout(mActivity, null); mMenuLayout.setRootView(mRootView); - if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) { - params = new FrameLayout.LayoutParams( - CameraActivity.SETTING_LIST_WIDTH_1, LayoutParams.WRAP_CONTENT, - Gravity.LEFT | Gravity.TOP); - } else { - params = new FrameLayout.LayoutParams( - CameraActivity.SETTING_LIST_WIDTH_1, LayoutParams.WRAP_CONTENT, - Gravity.RIGHT | Gravity.TOP); - } - mMenuLayout.setLayoutParams(params); + mMenuLayout.setLayoutParams(new FrameLayout.LayoutParams( + CameraActivity.SETTING_LIST_WIDTH_1, LayoutParams.WRAP_CONTENT, + Gravity.START | Gravity.TOP)); mRootView.addView(mMenuLayout); } mMenuLayout.addView(popup, new RotateLayout.LayoutParams( @@ -733,15 +729,6 @@ public class PhotoUI extends BaseUI implements PieListener, mSubMenuLayout.setRootView(mRootView); mRootView.addView(mSubMenuLayout); } - if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) { - params = new FrameLayout.LayoutParams( - CameraActivity.SETTING_LIST_WIDTH_2, LayoutParams.WRAP_CONTENT, - Gravity.LEFT | Gravity.TOP); - } else { - params = new FrameLayout.LayoutParams( - CameraActivity.SETTING_LIST_WIDTH_2, LayoutParams.WRAP_CONTENT, - Gravity.RIGHT | Gravity.TOP); - } int containerHeight = mRootView.getClientRectForOrientation(mOrientation).height(); int height = ((ListSubMenu) popup).getPreCalculatedHeight(); int yBase = ((ListSubMenu) popup).getYBase(), y = yBase; @@ -749,12 +736,14 @@ public class PhotoUI extends BaseUI implements PieListener, y = Math.max(0, containerHeight - height); } - if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) { - params.setMargins(CameraActivity.SETTING_LIST_WIDTH_1, y, 0, 0); - } else { + final FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( + CameraActivity.SETTING_LIST_WIDTH_2, LayoutParams.WRAP_CONTENT, + Gravity.START | Gravity.TOP); + if (isRtl()) { params.setMargins(0, y, CameraActivity.SETTING_LIST_WIDTH_1, 0); + } else { + params.setMargins(CameraActivity.SETTING_LIST_WIDTH_1, y, 0, 0); } - mSubMenuLayout.setLayoutParams(params); mSubMenuLayout.setOrientation(mOrientation, true); @@ -838,6 +827,7 @@ public class PhotoUI extends BaseUI implements PieListener, } public boolean sendTouchToPreviewMenu(MotionEvent ev) { + ev.offsetLocation(-mPreviewMenuLayout.getLeft(), -mPreviewMenuLayout.getTop()); if (mPreviewMenuLayout != null) { return mPreviewMenuLayout.dispatchTouchEvent(ev); } @@ -846,8 +836,8 @@ public class PhotoUI extends BaseUI implements PieListener, public boolean sendTouchToMenu(MotionEvent ev) { if (mMenuLayout != null) { - View v = mMenuLayout.getChildAt(0); - return v.dispatchTouchEvent(ev); + ev.offsetLocation(-mMenuLayout.getLeft(), -mMenuLayout.getTop()); + return mMenuLayout.dispatchTouchEvent(ev); } return false; } |