directmessage bug fix

This commit is contained in:
nuclearfog 2022-09-09 22:21:47 +02:00
parent 2739a8e382
commit d72959164a
No known key found for this signature in database
GPG Key ID: AA0271FBE406DB98
2 changed files with 13 additions and 7 deletions

View File

@ -102,12 +102,14 @@ public class MessageLoader extends AsyncTask<Void, Void, Directmessages> {
protected void onPostExecute(@Nullable Directmessages messages) {
MessageFragment fragment = weakRef.get();
if (fragment != null) {
if (messages != null) {
fragment.setData(messages);
if (twException != null) {
fragment.onError(twException, messageId);
} else {
if (twException != null) {
fragment.onError(twException);
} else {
if (action == DB || action == LOAD) {
if (messages != null) {
fragment.setData(messages);
}
} else if (action == DEL) {
fragment.removeItem(messageId);
}
}

View File

@ -205,10 +205,14 @@ public class MessageFragment extends ListFragment implements OnMessageClickListe
/**
* called from {@link MessageLoader} if an error occurs
*
* @param error Twitter exception
* @param error Twitter exception
* @param messageId ID of the message assosiated with the error
*/
public void onError(@NonNull ErrorHandler.TwitterError error) {
public void onError(@NonNull ErrorHandler.TwitterError error, long messageId) {
ErrorHandler.handleFailure(requireContext(), error);
if (error.getErrorType() == ErrorHandler.TwitterError.RESOURCE_NOT_FOUND) {
adapter.remove(messageId);
}
setRefresh(false);
}