2017-11-03 22:17:31 +01:00
|
|
|
/* Copyright 2017 Andrew Dawson
|
|
|
|
*
|
|
|
|
* This file is a part of Tusky.
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
|
|
|
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
|
|
|
* License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* Tusky is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
|
|
|
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
|
|
* Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License along with Tusky; if not,
|
|
|
|
* see <http://www.gnu.org/licenses>. */
|
|
|
|
|
|
|
|
package com.keylesspalace.tusky.adapter;
|
|
|
|
|
2018-12-17 15:25:35 +01:00
|
|
|
import androidx.recyclerview.widget.RecyclerView;
|
2017-11-03 22:17:31 +01:00
|
|
|
import android.view.View;
|
|
|
|
import android.widget.Button;
|
2018-05-27 10:22:12 +02:00
|
|
|
import android.widget.ProgressBar;
|
2017-11-03 22:17:31 +01:00
|
|
|
|
|
|
|
import com.keylesspalace.tusky.R;
|
|
|
|
import com.keylesspalace.tusky.interfaces.StatusActionListener;
|
|
|
|
|
2018-05-27 10:22:12 +02:00
|
|
|
public final class PlaceholderViewHolder extends RecyclerView.ViewHolder {
|
2017-11-03 22:17:31 +01:00
|
|
|
|
|
|
|
private Button loadMoreButton;
|
2018-05-27 10:22:12 +02:00
|
|
|
private ProgressBar progressBar;
|
2017-11-03 22:17:31 +01:00
|
|
|
|
|
|
|
PlaceholderViewHolder(View itemView) {
|
|
|
|
super(itemView);
|
|
|
|
loadMoreButton = itemView.findViewById(R.id.button_load_more);
|
2019-02-12 19:22:37 +01:00
|
|
|
progressBar = itemView.findViewById(R.id.progressBar);
|
2018-05-27 10:22:12 +02:00
|
|
|
}
|
2017-11-03 22:17:31 +01:00
|
|
|
|
2018-08-22 21:18:56 +02:00
|
|
|
public void setup(final StatusActionListener listener, boolean progress) {
|
2018-05-27 10:22:12 +02:00
|
|
|
loadMoreButton.setVisibility(progress ? View.GONE : View.VISIBLE);
|
|
|
|
progressBar.setVisibility(progress ? View.VISIBLE : View.GONE);
|
|
|
|
|
2018-08-22 21:18:56 +02:00
|
|
|
loadMoreButton.setEnabled(true);
|
|
|
|
loadMoreButton.setOnClickListener(v -> {
|
|
|
|
loadMoreButton.setEnabled(false);
|
|
|
|
listener.onLoadMore(getAdapterPosition());
|
|
|
|
});
|
|
|
|
|
2017-11-03 22:17:31 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|