From 13959aa79db7777e4bb410ac80592a8f2312d667 Mon Sep 17 00:00:00 2001 From: Roman Romanov Date: Thu, 29 Dec 2016 07:32:49 +0400 Subject: [PATCH] [android] Review fixes. --- .../src/com/mapswithme/maps/MwmActivity.java | 54 +++++++++++-------- .../NavigationButtonsAnimationController.java | 48 +++++++++-------- .../mapswithme/maps/routing/SlotFrame.java | 7 ++- 3 files changed, 63 insertions(+), 46 deletions(-) diff --git a/android/src/com/mapswithme/maps/MwmActivity.java b/android/src/com/mapswithme/maps/MwmActivity.java index 5b81acce93..82e0d59423 100644 --- a/android/src/com/mapswithme/maps/MwmActivity.java +++ b/android/src/com/mapswithme/maps/MwmActivity.java @@ -1360,32 +1360,37 @@ public class MwmActivity extends BaseMwmFragmentActivity @Override public void updateMenu() { - adjustMenuLineFrameVisibility(); - - if (RoutingController.get().isNavigating()) + adjustMenuLineFrameVisibility(new Runnable() { - if (mNavigationController != null) - mNavigationController.show(true); - mSearchController.hide(); - mMainMenu.setState(MainMenu.State.NAVIGATION, false, mIsFullscreen); - return; - } + @Override + public void run() + { + if (RoutingController.get().isNavigating()) + { + if (mNavigationController != null) + mNavigationController.show(true); + mSearchController.hide(); + mMainMenu.setState(MainMenu.State.NAVIGATION, false, mIsFullscreen); + return; + } - if (mIsFragmentContainer) - { - mMainMenu.setEnabled(MainMenu.Item.P2P, !RoutingController.get().isPlanning()); - mMainMenu.setEnabled(MainMenu.Item.SEARCH, !RoutingController.get().isWaitingPoiPick()); - } - else if (RoutingController.get().isPlanning()) - { - mMainMenu.setState(MainMenu.State.ROUTE_PREPARE, false, mIsFullscreen); - return; - } + if (mIsFragmentContainer) + { + mMainMenu.setEnabled(MainMenu.Item.P2P, !RoutingController.get().isPlanning()); + mMainMenu.setEnabled(MainMenu.Item.SEARCH, !RoutingController.get().isWaitingPoiPick()); + } + else if (RoutingController.get().isPlanning()) + { + mMainMenu.setState(MainMenu.State.ROUTE_PREPARE, false, mIsFullscreen); + return; + } - mMainMenu.setState(MainMenu.State.MENU, false, mIsFullscreen); + mMainMenu.setState(MainMenu.State.MENU, false, mIsFullscreen); + } + }); } - private void adjustMenuLineFrameVisibility() + private void adjustMenuLineFrameVisibility(@Nullable final Runnable completion) { final RoutingController controller = RoutingController.get(); @@ -1399,6 +1404,9 @@ public class MwmActivity extends BaseMwmFragmentActivity adjustRuler(0, 0); } }); + + if (completion != null) + completion.run(); return; } @@ -1411,6 +1419,8 @@ public class MwmActivity extends BaseMwmFragmentActivity { final int menuHeight = getCurrentMenu().getFrame().getHeight(); adjustRuler(0, menuHeight); + if (completion != null) + completion.run(); } }); return; @@ -1425,6 +1435,8 @@ public class MwmActivity extends BaseMwmFragmentActivity } }); + if (completion != null) + completion.run(); } private void setNavButtonsTopLimit(int limit) diff --git a/android/src/com/mapswithme/maps/NavigationButtonsAnimationController.java b/android/src/com/mapswithme/maps/NavigationButtonsAnimationController.java index a02931e3c3..a01d89f4b1 100644 --- a/android/src/com/mapswithme/maps/NavigationButtonsAnimationController.java +++ b/android/src/com/mapswithme/maps/NavigationButtonsAnimationController.java @@ -26,9 +26,9 @@ class NavigationButtonsAnimationController private float mContentHeight; private float mMyPositionBottom; - private boolean mZoomAnimate; - private boolean mMyPosAnimate; - private boolean mSlideDown; + private boolean mZoomAnimating; + private boolean mMyPosAnimating; + private boolean mSlidingDown; private float mTopLimit; private float mBottomLimit; @@ -40,7 +40,7 @@ class NavigationButtonsAnimationController { mZoomIn = zoomIn; mZoomOut = zoomOut; - UiUtils.showIf(showZoomButtons(), mZoomIn, mZoomOut); + checkZoomButtonsVisibility(); mMyPosition = myPosition; Resources res = mZoomIn.getResources(); mMargin = res.getDimension(R.dimen.margin_base_plus); @@ -58,6 +58,12 @@ class NavigationButtonsAnimationController }); } + private void checkZoomButtonsVisibility() + { + UiUtils.showIf(showZoomButtons(), mZoomIn, mZoomOut); + } + + private void calculateLimitTranslations() { mTopLimit = mMargin; @@ -87,17 +93,17 @@ class NavigationButtonsAnimationController private void fadeOutZoom() { - if (mSlideDown) + if (mSlidingDown) return; - mZoomAnimate = true; + mZoomAnimating = true; Animations.fadeOutView(mZoomIn, new Runnable() { @Override public void run() { mZoomIn.setVisibility(View.INVISIBLE); - mZoomAnimate = false; + mZoomAnimating = false; } }); Animations.fadeOutView(mZoomOut, new Runnable() @@ -112,7 +118,7 @@ class NavigationButtonsAnimationController private void fadeInZoom() { - mZoomAnimate = true; + mZoomAnimating = true; mZoomIn.setVisibility(View.VISIBLE); mZoomOut.setVisibility(View.VISIBLE); Animations.fadeInView(mZoomIn, new Runnable() @@ -120,7 +126,7 @@ class NavigationButtonsAnimationController @Override public void run() { - mZoomAnimate = false; + mZoomAnimating = false; } }); Animations.fadeInView(mZoomOut, null); @@ -128,31 +134,31 @@ class NavigationButtonsAnimationController private void fadeOutMyPosition() { - if (mSlideDown) + if (mSlidingDown) return; - mMyPosAnimate = true; + mMyPosAnimating = true; Animations.fadeOutView(mMyPosition, new Runnable() { @Override public void run() { UiUtils.invisible(mMyPosition); - mMyPosAnimate = false; + mMyPosAnimating = false; } }); } private void fadeInMyPosition() { - mMyPosAnimate = true; + mMyPosAnimating = true; mMyPosition.setVisibility(View.VISIBLE); Animations.fadeInView(mMyPosition, new Runnable() { @Override public void run() { - mMyPosAnimate = false; + mMyPosAnimating = false; } }); } @@ -177,23 +183,23 @@ class NavigationButtonsAnimationController mMyPosition.setTranslationY(translation); mZoomOut.setTranslationY(translation); mZoomIn.setTranslationY(translation); - if (!mZoomAnimate && mZoomIn.getVisibility() == View.VISIBLE + if (!mZoomAnimating && mZoomIn.getVisibility() == View.VISIBLE && !isViewInsideLimits(mZoomIn)) { fadeOutZoom(); } - else if (!mZoomAnimate && mZoomIn.getVisibility() == View.INVISIBLE + else if (!mZoomAnimating && mZoomIn.getVisibility() == View.INVISIBLE && isViewInsideLimits(mZoomIn)) { fadeInZoom(); } - if (!shouldBeHidden() && !mMyPosAnimate + if (!shouldBeHidden() && !mMyPosAnimating && mMyPosition.getVisibility() == View.VISIBLE && !isViewInsideLimits(mMyPosition)) { fadeOutMyPosition(); } - else if (!shouldBeHidden() && !mMyPosAnimate + else if (!shouldBeHidden() && !mMyPosAnimating && mMyPosition.getVisibility() == View.INVISIBLE && isViewInsideLimits(mMyPosition)) { fadeInMyPosition(); @@ -218,7 +224,7 @@ class NavigationButtonsAnimationController || (!isDown && mZoomIn.getTranslationY() <= 0)) return; - mSlideDown = isDown; + mSlidingDown = isDown; mCurrentOffset = isDown ? distance : 0; ValueAnimator animator = ValueAnimator.ofFloat(isDown ? 0 : distance, isDown ? distance : 0); @@ -236,7 +242,7 @@ class NavigationButtonsAnimationController @Override public void onAnimationEnd(Animator animation) { - mSlideDown = false; + mSlidingDown = false; update(); } }); @@ -269,6 +275,6 @@ class NavigationButtonsAnimationController public void onResume() { - update(); + checkZoomButtonsVisibility(); } } diff --git a/android/src/com/mapswithme/maps/routing/SlotFrame.java b/android/src/com/mapswithme/maps/routing/SlotFrame.java index d6246ded54..9358ecb05b 100644 --- a/android/src/com/mapswithme/maps/routing/SlotFrame.java +++ b/android/src/com/mapswithme/maps/routing/SlotFrame.java @@ -36,14 +36,14 @@ public class SlotFrame extends LinearLayout private int mTextColor; private int mHintColor; + @Nullable + private SlotClickListener mSlotClickListener; + interface SlotClickListener { void onSlotClicked(int order, @NonNull Rect rect); } - @Nullable - private SlotClickListener mSlotClickListener; - private class Slot { private final View mFrame; @@ -87,7 +87,6 @@ public class SlotFrame extends LinearLayout mFrame.getGlobalVisibleRect(rect); if (mSlotClickListener != null) mSlotClickListener.onSlotClicked(mOrder, rect); - //RoutingController.get().searchPoi(mOrder, rect); } });