summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/PhotoUI.java
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2016-11-29 13:55:17 +0100
committerMichael Bestas <mikeioannina@gmail.com>2016-12-23 00:33:57 -0800
commit7bcdf0a9801cfbdc2d170b8d840c8dec672976d0 (patch)
treeedde61e3edc7763638deb86a6db1b349ab73c685 /src/com/android/camera/PhotoUI.java
parent2bf3a05c66d350e253956503a9388946c1be1c1c (diff)
downloadandroid_packages_apps_Snap-7bcdf0a9801cfbdc2d170b8d840c8dec672976d0.tar.gz
android_packages_apps_Snap-7bcdf0a9801cfbdc2d170b8d840c8dec672976d0.tar.bz2
android_packages_apps_Snap-7bcdf0a9801cfbdc2d170b8d840c8dec672976d0.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.java42
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;
}