summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/VideoMenu.java
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2016-04-19 11:28:06 +0200
committerDanny Baumann <dannybaumann@web.de>2016-04-25 10:41:08 +0200
commit3790102575878c57f1fd47260fa03eaa6ff71798 (patch)
tree7aa2370edd50b19a41bfd9ecf123ab21e6640294 /src/com/android/camera/VideoMenu.java
parent1f7404e8d825878afef2b4c38e30470ac95e9ba5 (diff)
downloadandroid_packages_apps_Snap-3790102575878c57f1fd47260fa03eaa6ff71798.tar.gz
android_packages_apps_Snap-3790102575878c57f1fd47260fa03eaa6ff71798.tar.bz2
android_packages_apps_Snap-3790102575878c57f1fd47260fa03eaa6ff71798.zip
Improve RTL layout behaviour.
- Swap top menu items order in RTL - 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 JIRA:NIGHTLIES-2849
Diffstat (limited to 'src/com/android/camera/VideoMenu.java')
-rw-r--r--src/com/android/camera/VideoMenu.java172
1 files changed, 57 insertions, 115 deletions
diff --git a/src/com/android/camera/VideoMenu.java b/src/com/android/camera/VideoMenu.java
index 15d1839cb..c7e7e9fc6 100644
--- a/src/com/android/camera/VideoMenu.java
+++ b/src/com/android/camera/VideoMenu.java
@@ -86,8 +86,8 @@ public class VideoMenu extends MenuController
private boolean mIsVideoTNREnabled = false;
private boolean mIsVideoCDSUpdated = false;
private static final int ANIMATION_DURATION = 300;
- private static final int CLICK_THRESHOLD = 200;
private int previewMenuSize;
+ private Rect mTmpRect = new Rect();
public VideoMenu(CameraActivity activity, VideoUI ui) {
super(activity);
@@ -232,37 +232,21 @@ public class VideoMenu extends MenuController
mPopupStatus = POPUP_IN_ANIMATION_SLIDE;
ViewPropertyAnimator vp = v.animate();
- 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;
- }
+ int sign = mUI.isRtl() ? -1 : 1;
+
+ switch (mUI.getOrientation()) {
+ case 0:
+ vp.translationXBy(-v.getWidth() * sign);
+ break;
+ case 90:
+ vp.translationYBy(2 * v.getHeight() * sign);
+ break;
+ case 180:
+ vp.translationXBy(2 * v.getWidth() * sign);
+ break;
+ case 270:
+ vp.translationYBy(-v.getHeight() * sign);
+ break;
}
vp.setListener(new AnimatorListener() {
@@ -319,54 +303,30 @@ public class VideoMenu extends MenuController
orientation = 0;
ViewPropertyAnimator vp = v.animate();
+ int sign = mUI.isRtl() ? -1 : 1;
float dest;
- 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;
- }
+
+ switch (orientation) {
+ case 0:
+ dest = v.getX();
+ v.setX((dest - delta) * sign);
+ vp.translationX(dest);
+ break;
+ case 90:
+ dest = v.getY();
+ v.setY((dest + delta) * sign);
+ vp.translationY(dest);
+ break;
+ case 180:
+ dest = v.getX();
+ v.setX((dest + delta) * sign);
+ vp.translationX(dest);
+ break;
+ case 270:
+ dest = v.getY();
+ v.setY((dest - delta) * sign);
+ vp.translationY(dest);
+ break;
}
vp.setDuration(ANIMATION_DURATION).start();
@@ -383,13 +343,9 @@ public class VideoMenu extends MenuController
return;
mPreviewMenuStatus = PREVIEW_MENU_IN_ANIMATION;
- ViewPropertyAnimator vp = v.animate();
- if (View.LAYOUT_DIRECTION_RTL == TextUtils
- .getLayoutDirectionFromLocale(Locale.getDefault())) {
- vp.translationXBy(v.getWidth()).setDuration(ANIMATION_DURATION);
- } else {
- vp.translationXBy(-v.getWidth()).setDuration(ANIMATION_DURATION);
- }
+ ViewPropertyAnimator vp = v.animate()
+ .translationXBy(v.getWidth() * (mUI.isRtl() ? -1 : 1))
+ .setDuration(ANIMATION_DURATION);
vp.setListener(new AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
@@ -420,23 +376,20 @@ public class VideoMenu extends MenuController
|| mPopupStatus == POPUP_IN_ANIMATION_SLIDE
|| mPopupStatus == POPUP_IN_ANIMATION_FADE)
return false;
- if (mUI.getMenuLayout() == null)
- return false;
- Rect rec = new Rect();
- mUI.getMenuLayout().getChildAt(0).getHitRect(rec);
- return rec.contains((int) ev.getX(), (int) ev.getY());
+ return isOverView(mUI.getMenuLayout(), ev);
}
public boolean isOverPreviewMenu(MotionEvent ev) {
if (mPreviewMenuStatus != PREVIEW_MENU_ON)
return false;
- if (mUI.getPreviewMenuLayout() == null)
+ return isOverView(mUI.getPreviewMenuLayout(), ev);
+ }
+
+ private boolean isOverView(View view, MotionEvent ev) {
+ if (view == null)
return false;
- Rect rec = new Rect();
- mUI.getPreviewMenuLayout().getChildAt(0).getHitRect(rec);
- rec.top += (int) mUI.getPreviewMenuLayout().getY();
- rec.bottom += (int) mUI.getPreviewMenuLayout().getY();
- return rec.contains((int) ev.getX(), (int) ev.getY());
+ view.getHitRect(mTmpRect);
+ return mTmpRect.contains((int) ev.getX(), (int) ev.getY());
}
public boolean isMenuBeingShown() {
@@ -523,9 +476,8 @@ public class VideoMenu extends MenuController
addFilterMode();
ViewGroup menuLayout = mUI.getPreviewMenuLayout();
if (menuLayout != null) {
- View view = menuLayout.getChildAt(0);
mUI.adjustOrientation();
- animateSlideIn(view, previewMenuSize, false);
+ animateSlideIn(menuLayout, previewMenuSize, false);
}
}
});
@@ -605,24 +557,14 @@ public class VideoMenu extends MenuController
ImageView imageView = (ImageView) layout2.findViewById(R.id.image);
final int j = i;
- layout2.setOnTouchListener(new View.OnTouchListener() {
- private long startTime;
-
+ layout2.setOnClickListener(new View.OnClickListener() {
@Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
- startTime = System.currentTimeMillis();
- } else if (event.getAction() == MotionEvent.ACTION_UP) {
- if (System.currentTimeMillis() - startTime < CLICK_THRESHOLD) {
- pref.setValueIndex(j);
- for (View v1 : views) {
- v1.setActivated(v1 == v);
- }
- onSettingChanged(pref);
- }
-
+ public void onClick(View v) {
+ pref.setValueIndex(j);
+ for (View v1 : views) {
+ v1.setActivated(v1 == v);
}
- return true;
+ onSettingChanged(pref);
}
});