22
33import android .animation .ObjectAnimator ;
44import android .animation .ValueAnimator ;
5- import android .content .Context ;
6- import android .content .res .TypedArray ;
75import android .os .Build ;
86import android .support .design .widget .CoordinatorLayout ;
97import android .support .design .widget .FloatingActionButton ;
1210import android .support .v4 .view .ViewPropertyAnimatorCompat ;
1311import android .support .v4 .view .ViewPropertyAnimatorUpdateListener ;
1412import android .support .v4 .view .animation .LinearOutSlowInInterpolator ;
15- import android .util .AttributeSet ;
1613import android .view .View ;
1714import android .view .ViewGroup ;
1815import android .view .animation .Interpolator ;
1916
20- import com .gigamole .navigationtabbar .R ;
2117import com .gigamole .navigationtabbar .ntb .NavigationTabBar ;
2218
2319public class NavigationTabBarBehavior extends VerticalScrollingBehavior <NavigationTabBar > {
@@ -27,10 +23,10 @@ public class NavigationTabBarBehavior extends VerticalScrollingBehavior<Navigati
2723
2824 private ViewPropertyAnimatorCompat mTranslationAnimator ;
2925 private ObjectAnimator mTranslationObjectAnimator ;
30- private Snackbar .SnackbarLayout mSnackbarLayout ;
26+ private Snackbar .SnackbarLayout mSnackBarLayout ;
3127 private FloatingActionButton mFloatingActionButton ;
3228
33- private int mSnackbarHeight = -1 ;
29+ private int mSnackBarHeight = -1 ;
3430 private float
3531 mTargetOffset = 0 ,
3632 mFabTargetOffset = 0 ,
@@ -45,13 +41,6 @@ public NavigationTabBarBehavior(final boolean behaviorTranslationEnabled) {
4541 this .mBehaviorTranslationEnabled = behaviorTranslationEnabled ;
4642 }
4743
48- public NavigationTabBarBehavior (final Context context , final AttributeSet attrs ) {
49- super (context , attrs );
50- final TypedArray typedArray =
51- context .obtainStyledAttributes (attrs , R .styleable .NavigationTabBar );
52- typedArray .recycle ();
53- }
54-
5544 @ Override
5645 public boolean onLayoutChild (CoordinatorLayout parent , NavigationTabBar child , int layoutDirection ) {
5746 return super .onLayoutChild (parent , child , layoutDirection );
@@ -70,21 +59,23 @@ public void onDependentViewRemoved(CoordinatorLayout parent, NavigationTabBar ch
7059
7160 @ Override
7261 public boolean layoutDependsOn (CoordinatorLayout parent , NavigationTabBar child , View dependency ) {
73- updateSnackbar (child , dependency );
62+ updateSnackBar (child , dependency );
7463 updateFloatingActionButton (dependency );
7564 return super .layoutDependsOn (parent , child , dependency );
7665 }
7766
7867 @ Override
79- public void onNestedVerticalOverScroll (CoordinatorLayout coordinatorLayout , NavigationTabBar child , @ ScrollDirection int direction , int currentOverScroll , int totalOverScroll ) {
68+ public void onNestedVerticalOverScroll () {
69+ // This method is intentionally empty, because of override
8070 }
8171
8272 @ Override
83- public void onDirectionNestedPreScroll (CoordinatorLayout coordinatorLayout , NavigationTabBar child , View target , int dx , int dy , int [] consumed , @ ScrollDirection int scrollDirection ) {
73+ public void onDirectionNestedPreScroll () {
74+ // This method is intentionally empty, because of override
8475 }
8576
8677 @ Override
87- protected boolean onNestedDirectionFling (CoordinatorLayout coordinatorLayout , NavigationTabBar child , View target , float velocityX , float velocityY , @ ScrollDirection int scrollDirection ) {
78+ protected boolean onNestedDirectionFling () {
8879 return false ;
8980 }
9081
@@ -132,15 +123,15 @@ private void ensureOrCancelAnimator(final NavigationTabBar child, boolean withAn
132123 mTranslationAnimator .setUpdateListener (new ViewPropertyAnimatorUpdateListener () {
133124 @ Override
134125 public void onAnimationUpdate (View view ) {
135- // Animate snackbar
136- if (mSnackbarLayout != null && mSnackbarLayout .getLayoutParams () instanceof ViewGroup .MarginLayoutParams ) {
126+ // Animate snack bar
127+ if (mSnackBarLayout != null && mSnackBarLayout .getLayoutParams () instanceof ViewGroup .MarginLayoutParams ) {
137128 mTargetOffset = child .getBarHeight () - view .getTranslationY ();
138129
139130 final ViewGroup .MarginLayoutParams p =
140- (ViewGroup .MarginLayoutParams ) mSnackbarLayout .getLayoutParams ();
131+ (ViewGroup .MarginLayoutParams ) mSnackBarLayout .getLayoutParams ();
141132
142133 p .setMargins (p .leftMargin , p .topMargin , p .rightMargin , (int ) mTargetOffset );
143- mSnackbarLayout .requestLayout ();
134+ mSnackBarLayout .requestLayout ();
144135 }
145136 // Animate Floating Action Button
146137 if (mFloatingActionButton != null && mFloatingActionButton .getLayoutParams () instanceof ViewGroup .MarginLayoutParams ) {
@@ -183,13 +174,13 @@ private void ensureOrCancelObjectAnimation(final NavigationTabBar child, final i
183174 mTranslationObjectAnimator .addUpdateListener (new ValueAnimator .AnimatorUpdateListener () {
184175 @ Override
185176 public void onAnimationUpdate (ValueAnimator animation ) {
186- if (mSnackbarLayout != null && mSnackbarLayout .getLayoutParams () instanceof ViewGroup .MarginLayoutParams ) {
177+ if (mSnackBarLayout != null && mSnackBarLayout .getLayoutParams () instanceof ViewGroup .MarginLayoutParams ) {
187178 mTargetOffset = child .getBarHeight () - child .getTranslationY ();
188179
189180 final ViewGroup .MarginLayoutParams p =
190- (ViewGroup .MarginLayoutParams ) mSnackbarLayout .getLayoutParams ();
181+ (ViewGroup .MarginLayoutParams ) mSnackBarLayout .getLayoutParams ();
191182 p .setMargins (p .leftMargin , p .topMargin , p .rightMargin , (int ) mTargetOffset );
192- mSnackbarLayout .requestLayout ();
183+ mSnackBarLayout .requestLayout ();
193184 }
194185 // Animate Floating Action Button
195186 if (mFloatingActionButton != null && mFloatingActionButton .getLayoutParams () instanceof ViewGroup .MarginLayoutParams ) {
@@ -204,6 +195,7 @@ public void onAnimationUpdate(ValueAnimator animation) {
204195 });
205196 }
206197
198+ @ SuppressWarnings ("unused" )
207199 public static NavigationTabBarBehavior from (NavigationTabBar view ) {
208200 final ViewGroup .LayoutParams params = view .getLayoutParams ();
209201 if (!(params instanceof CoordinatorLayout .LayoutParams ))
@@ -232,19 +224,20 @@ public void hideView(NavigationTabBar view, int offset, boolean withAnimation) {
232224 }
233225
234226 // Reset NTB position with animation
227+ @ SuppressWarnings ("SameParameterValue" )
235228 public void resetOffset (NavigationTabBar view , boolean withAnimation ) {
236229 if (mHidden ) {
237230 mHidden = false ;
238231 animateOffset (view , 0 , true , withAnimation );
239232 }
240233 }
241234
242- // Update Snackbar bottom margin
243- public void updateSnackbar (final NavigationTabBar child , View dependency ) {
235+ // Update snack bar bottom margin
236+ private void updateSnackBar (final NavigationTabBar child , View dependency ) {
244237 if (dependency != null && dependency instanceof Snackbar .SnackbarLayout ) {
245- mSnackbarLayout = (Snackbar .SnackbarLayout ) dependency ;
238+ mSnackBarLayout = (Snackbar .SnackbarLayout ) dependency ;
246239 if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .KITKAT ) {
247- mSnackbarLayout .addOnLayoutChangeListener (new View .OnLayoutChangeListener () {
240+ mSnackBarLayout .addOnLayoutChangeListener (new View .OnLayoutChangeListener () {
248241 @ Override
249242 public void onLayoutChange (View v , int left , int top , int right , int bottom ,
250243 int oldLeft , int oldTop , int oldRight , int oldBottom ) {
@@ -261,7 +254,7 @@ public void onLayoutChange(View v, int left, int top, int right, int bottom,
261254 });
262255 }
263256
264- if (mSnackbarHeight == -1 ) mSnackbarHeight = dependency .getHeight ();
257+ if (mSnackBarHeight == -1 ) mSnackBarHeight = dependency .getHeight ();
265258 final int targetMargin = (int ) (child .getBarHeight () - child .getTranslationY ());
266259
267260 child .bringToFront ();
@@ -281,7 +274,7 @@ public void onLayoutChange(View v, int left, int top, int right, int bottom,
281274 }
282275
283276 // Update floating action button bottom margin
284- public void updateFloatingActionButton (final View dependency ) {
277+ private void updateFloatingActionButton (final View dependency ) {
285278 if (dependency != null && dependency instanceof FloatingActionButton ) {
286279 mFloatingActionButton = (FloatingActionButton ) dependency ;
287280
0 commit comments