Skip to content

Instantly share code, notes, and snippets.

@vishna
Created November 4, 2015 17:18
Show Gist options
  • Save vishna/35f45d3237cd579335e9 to your computer and use it in GitHub Desktop.
Save vishna/35f45d3237cd579335e9 to your computer and use it in GitHub Desktop.
package android.support.design.widget;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
/**
* Created by vishna on 04/11/15.
*/
public class AppBarLayoutWorkaroundBehavior extends AppBarLayout.Behavior {
public AppBarLayoutWorkaroundBehavior() {
}
public AppBarLayoutWorkaroundBehavior(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override public boolean onLayoutChild(CoordinatorLayout parent, AppBarLayout abl, int layoutDirection) {
try {
return super.onLayoutChild(parent, abl, layoutDirection);
} catch (Throwable t) {
return true;
}
}
@Override
public boolean onStartNestedScroll(CoordinatorLayout parent, AppBarLayout child, View directTargetChild, View target, int nestedScrollAxes) {
try {
return super.onStartNestedScroll(parent, child, directTargetChild, target, nestedScrollAxes);
} catch (Throwable t) {
return true;
}
}
@Override
public void onNestedPreScroll(CoordinatorLayout coordinatorLayout, AppBarLayout child, View target, int dx, int dy, int[] consumed) {
try {
super.onNestedPreScroll(coordinatorLayout, child, target, dx, dy, consumed);
} catch (Throwable t) {}
}
@Override
public void onNestedScroll(CoordinatorLayout coordinatorLayout, AppBarLayout child, View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) {
try {
super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed);
} catch (Throwable t) {}
}
@Override
public void onStopNestedScroll(CoordinatorLayout coordinatorLayout, AppBarLayout abl, View target) {
try {
super.onStopNestedScroll(coordinatorLayout, abl, target);
} catch (Throwable t) {}
}
@Override
public boolean onNestedFling(CoordinatorLayout coordinatorLayout, AppBarLayout child, View target, float velocityX, float velocityY, boolean consumed) {
try {
return super.onNestedFling(coordinatorLayout, child, target, velocityX, velocityY, consumed);
} catch (Throwable t) {
return true;
}
}
@Override
/* package */ int setHeaderTopBottomOffset(CoordinatorLayout coordinatorLayout, AppBarLayout header, int newOffset, int minOffset, int maxOffset) {
try {
return super.setHeaderTopBottomOffset(coordinatorLayout, header, newOffset, minOffset, maxOffset);
} catch (Throwable t) {
return 0;
}
}
@Override
/* package */ int setHeaderTopBottomOffset(CoordinatorLayout parent, AppBarLayout header, int newOffset) {
try {
return super.setHeaderTopBottomOffset(parent, header, newOffset);
} catch (Throwable t) {
return 0;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment