1package eu.siacs.conversations.ui;
 2
 3import androidx.annotation.NonNull;
 4import androidx.recyclerview.widget.RecyclerView;
 5import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton;
 6
 7public class ExtendedFabSizeChanger extends RecyclerView.OnScrollListener {
 8
 9    private final ExtendedFloatingActionButton extendedFloatingActionButton;
10
11    private ExtendedFabSizeChanger(
12            final ExtendedFloatingActionButton extendedFloatingActionButton) {
13        this.extendedFloatingActionButton = extendedFloatingActionButton;
14    }
15
16    @Override
17    public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
18        super.onScrolled(recyclerView, dx, dy);
19        if (RecyclerViews.findFirstVisibleItemPosition(recyclerView) > 0) {
20            extendedFloatingActionButton.shrink();
21        } else {
22            extendedFloatingActionButton.extend();
23        }
24    }
25
26    public static RecyclerView.OnScrollListener of(final ExtendedFloatingActionButton fab) {
27        return new ExtendedFabSizeChanger(fab);
28    }
29}