mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2025-10-05 21:39:50 +02:00
Version 5.1.9-beta2. Optimize AppBarStateChangeListener.
This commit is contained in:
@@ -4,15 +4,21 @@ import com.google.android.material.appbar.AppBarLayout;
|
||||
|
||||
public abstract class AppBarStateChangeListener implements AppBarLayout.OnOffsetChangedListener {
|
||||
private AppBarStateChangeListener.State mCurrentState = AppBarStateChangeListener.State.IDLE;
|
||||
private int lastOffset = -1;
|
||||
|
||||
@Override
|
||||
public final void onOffsetChanged(AppBarLayout appBarLayout, int i) {
|
||||
if (i == 0) {
|
||||
public final void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
|
||||
if (lastOffset == verticalOffset) {
|
||||
return;
|
||||
}
|
||||
lastOffset = verticalOffset;
|
||||
|
||||
if (verticalOffset == 0) {
|
||||
if (mCurrentState != AppBarStateChangeListener.State.EXPANDED) {
|
||||
onStateChanged(appBarLayout, AppBarStateChangeListener.State.EXPANDED);
|
||||
}
|
||||
mCurrentState = AppBarStateChangeListener.State.EXPANDED;
|
||||
} else if (Math.abs(i) >= appBarLayout.getTotalScrollRange()) {
|
||||
} else if (Math.abs(verticalOffset) >= appBarLayout.getTotalScrollRange()) {
|
||||
if (mCurrentState != AppBarStateChangeListener.State.COLLAPSED) {
|
||||
onStateChanged(appBarLayout, AppBarStateChangeListener.State.COLLAPSED);
|
||||
}
|
||||
|
Reference in New Issue
Block a user