class ListViewScrollHandlingDelegate implements ScrollHandlingDelegate, AbsListView.OnScrollListener {

  @Override
  public void startListening() {
    if (listView != null) {
      listView.setOnScrollListener(this);

      final ListAdapter adapter = listView.getAdapter();
      if (listView.getLastVisiblePosition() < adapter.getCount()) {
        requireScrollMixin.notifyScrollabilityChange(true);
      }
    } else {
      Log.w(TAG, "Cannot require scroll. List view is null");
    }
  }

  public  ListViewScrollHandlingDelegate(
      @NonNull RequireScrollMixin requireScrollMixin, @Nullable ListView listView);

}