mirror of
https://github.com/yuliskov/SmartTube.git
synced 2025-05-20 04:46:23 +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);
|
((LinearLayoutManager) layoutManager).setStackFromEnd(enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLoadingMessage(String message, boolean alignBottom) {
|
public void setLoadingMessage(String message) {
|
||||||
|
removeLoadingMessageIfNeeded();
|
||||||
|
|
||||||
if (message == null || !items.isEmpty()) {
|
if (message == null || !items.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Align top
|
|
||||||
//((LinearLayoutManager) layoutManager).setReverseLayout(alignBottom);
|
|
||||||
items.add(new Wrapper<>(message));
|
items.add(new Wrapper<>(message));
|
||||||
notifyItemInserted(0);
|
notifyItemInserted(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeLoadingMessageIfNeeded() {
|
private void removeLoadingMessageIfNeeded() {
|
||||||
if (items.size() == 1 && items.get(0).item instanceof String) {
|
if (items.size() == 1 && items.get(0).item instanceof String) {
|
||||||
// Reset to defaults (see MessagesList.setAdapter)
|
|
||||||
//((LinearLayoutManager) layoutManager).setReverseLayout(true);
|
|
||||||
items.remove(0);
|
items.remove(0);
|
||||||
notifyItemRemoved(0);
|
notifyItemRemoved(0);
|
||||||
}
|
}
|
||||||
|
@ -12,4 +12,5 @@ public interface CommentsReceiver {
|
|||||||
void onStart();
|
void onStart();
|
||||||
void onCommentClicked(String nestedCommentsKey);
|
void onCommentClicked(String nestedCommentsKey);
|
||||||
String getLoadingMessage();
|
String getLoadingMessage();
|
||||||
|
String getErrorMessage();
|
||||||
}
|
}
|
||||||
|
@ -38,4 +38,9 @@ public abstract class CommentsReceiverImpl implements CommentsReceiver {
|
|||||||
public String getLoadingMessage() {
|
public String getLoadingMessage() {
|
||||||
return mContext.getString(R.string.loading);
|
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.setAdapter(adapter);
|
||||||
messagesList.requestFocus(); // hold focus even when there's no messages
|
messagesList.requestFocus(); // hold focus even when there's no messages
|
||||||
adapter.enableStackFromEnd(true);
|
adapter.enableStackFromEnd(true);
|
||||||
adapter.setLoadingMessage(mCommentsReceiver.getLoadingMessage(), false);
|
adapter.setLoadingMessage(mCommentsReceiver.getLoadingMessage());
|
||||||
|
|
||||||
mCommentsReceiver.setCallback(commentGroup -> {
|
mCommentsReceiver.setCallback(commentGroup -> {
|
||||||
if (commentGroup == null || commentGroup.getComments() == null) {
|
if (commentGroup == null || commentGroup.getComments() == null) {
|
||||||
adapter.removeLoadingMessageIfNeeded();
|
adapter.setLoadingMessage(mCommentsReceiver.getErrorMessage());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user