Skip to content
This repository was archived by the owner on Jul 25, 2024. It is now read-only.

Commit b408aef

Browse files
committed
Do not hide FAB if chatBox is visible
1 parent ad68c73 commit b408aef

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

app/src/main/java/com/zulip/android/util/RemoveViewsOnScroll.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44
import android.content.Context;
55
import android.support.design.widget.AppBarLayout;
66
import android.support.design.widget.CoordinatorLayout;
7+
import android.support.design.widget.FloatingActionButton;
78
import android.support.v4.view.ViewCompat;
89
import android.support.v4.view.animation.FastOutSlowInInterpolator;
910
import android.util.AttributeSet;
1011
import android.util.TypedValue;
1112
import android.view.View;
1213
import android.view.ViewPropertyAnimator;
1314
import android.view.animation.Interpolator;
15+
import com.zulip.android.R;
1416

1517
/**
1618
* This hides the {@link AppBarLayout} and {@link android.support.design.widget.FloatingActionButton} when the
@@ -22,13 +24,13 @@ public class RemoveViewsOnScroll extends CoordinatorLayout.Behavior<View> {
2224
private boolean mIsShowing;
2325
private boolean isViewHidden;
2426
private static float toolbarHeight;
27+
private View chatBox;
2528

2629
public RemoveViewsOnScroll(Context context, AttributeSet attrs) {
2730
super(context, attrs);
2831
TypedValue tv = new TypedValue();
2932
if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))
3033
toolbarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
31-
3234
}
3335

3436
@Override
@@ -46,8 +48,16 @@ public void onNestedPreScroll(CoordinatorLayout coordinatorLayout, View child, V
4648
changeInYDir += dy;
4749
if (changeInYDir > toolbarHeight && child.getVisibility() == View.VISIBLE && !isViewHidden)
4850
hideView(child);
49-
else if (changeInYDir < 0 && child.getVisibility() == View.GONE && !mIsShowing)
51+
else if (changeInYDir < 0 && child.getVisibility() == View.GONE && !mIsShowing) {
52+
if (child instanceof FloatingActionButton) {
53+
if (chatBox == null)
54+
chatBox = coordinatorLayout.findViewById(R.id.messageBoxContainer);
55+
if (chatBox.getVisibility() == View.VISIBLE) {
56+
return;
57+
}
58+
}
5059
showView(child);
60+
}
5161

5262
}
5363

app/src/main/java/com/zulip/android/util/SwipeRemoveLinearLayout.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ public boolean onInterceptTouchEvent(MotionEvent ev) {
4343
x2 = ev.getX();
4444
float deltaX = x2 - x1;
4545
if (Math.abs(deltaX) > MIN_DISTANCE) {
46-
//swiping right to left
4746
leftToRightSwipeListen.removeChatBox();
4847
return true;
4948
}

0 commit comments

Comments
 (0)