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) { protected void onPostExecute(@Nullable Directmessages messages) {
MessageFragment fragment = weakRef.get(); MessageFragment fragment = weakRef.get();
if (fragment != null) { if (fragment != null) {
if (messages != null) { if (twException != null) {
fragment.setData(messages); fragment.onError(twException, messageId);
} else { } else {
if (twException != null) { if (action == DB || action == LOAD) {
fragment.onError(twException); if (messages != null) {
} else { fragment.setData(messages);
}
} else if (action == DEL) {
fragment.removeItem(messageId); fragment.removeItem(messageId);
} }
} }

View File

@ -205,10 +205,14 @@ public class MessageFragment extends ListFragment implements OnMessageClickListe
/** /**
* called from {@link MessageLoader} if an error occurs * 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); ErrorHandler.handleFailure(requireContext(), error);
if (error.getErrorType() == ErrorHandler.TwitterError.RESOURCE_NOT_FOUND) {
adapter.remove(messageId);
}
setRefresh(false); setRefresh(false);
} }