mirror of
https://github.com/yuliskov/SmartTube.git
synced 2025-05-17 19:35:54 +08:00
comments: show error when list is empty
This commit is contained in:
@ -423,21 +423,19 @@ public class MessagesListAdapter<MESSAGE extends IMessage>
|
||||
((LinearLayoutManager) layoutManager).setStackFromEnd(enable);
|
||||
}
|
||||
|
||||
public void setLoadingMessage(String message, boolean alignBottom) {
|
||||
public void setLoadingMessage(String message) {
|
||||
removeLoadingMessageIfNeeded();
|
||||
|
||||
if (message == null || !items.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Align top
|
||||
//((LinearLayoutManager) layoutManager).setReverseLayout(alignBottom);
|
||||
items.add(new Wrapper<>(message));
|
||||
notifyItemInserted(0);
|
||||
}
|
||||
|
||||
public void removeLoadingMessageIfNeeded() {
|
||||
private void removeLoadingMessageIfNeeded() {
|
||||
if (items.size() == 1 && items.get(0).item instanceof String) {
|
||||
// Reset to defaults (see MessagesList.setAdapter)
|
||||
//((LinearLayoutManager) layoutManager).setReverseLayout(true);
|
||||
items.remove(0);
|
||||
notifyItemRemoved(0);
|
||||
}
|
||||
|
@ -12,4 +12,5 @@ public interface CommentsReceiver {
|
||||
void onStart();
|
||||
void onCommentClicked(String nestedCommentsKey);
|
||||
String getLoadingMessage();
|
||||
String getErrorMessage();
|
||||
}
|
||||
|
@ -38,4 +38,9 @@ public abstract class CommentsReceiverImpl implements CommentsReceiver {
|
||||
public String getLoadingMessage() {
|
||||
return mContext.getString(R.string.loading);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorMessage() {
|
||||
return mContext.getString(R.string.section_is_empty);
|
||||
}
|
||||
}
|
||||
|
@ -78,11 +78,11 @@ public class CommentsPreferenceDialogFragment extends LeanbackPreferenceDialogFr
|
||||
messagesList.setAdapter(adapter);
|
||||
messagesList.requestFocus(); // hold focus even when there's no messages
|
||||
adapter.enableStackFromEnd(true);
|
||||
adapter.setLoadingMessage(mCommentsReceiver.getLoadingMessage(), false);
|
||||
adapter.setLoadingMessage(mCommentsReceiver.getLoadingMessage());
|
||||
|
||||
mCommentsReceiver.setCallback(commentGroup -> {
|
||||
if (commentGroup == null || commentGroup.getComments() == null) {
|
||||
adapter.removeLoadingMessageIfNeeded();
|
||||
adapter.setLoadingMessage(mCommentsReceiver.getErrorMessage());
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user