some fixes

This commit is contained in:
Thomas 2020-07-04 17:44:22 +02:00
parent e2b653ca70
commit 6d3a820aff
2 changed files with 15 additions and 3 deletions

View File

@ -1669,7 +1669,7 @@ public class API {
notification.setAccount(parseAccountResponse(resobj.getJSONObject("account")));
if (resobj.has("status")) {
try {
notification.setStatus(parseStatuses(context, resobj.getJSONObject("status")));
notification.setStatus(parseStatuses(context, resobj.getJSONObject("status"), false));
} catch (Exception ignored) {
}
}

View File

@ -212,14 +212,24 @@ public class GNUAPI {
return statuses;
}
/**
* Parse json response for unique status
*
* @param resobj JSONObject
* @return Status
*/
@SuppressWarnings("InfiniteRecursion")
private static Status parseStatuses(Context context, JSONObject resobj) {
return parseStatuses(context, resobj, true);
}
/**
* Parse json response for unique status
*
* @param resobj JSONObject
* @return Status
*/
private static Status parseStatuses(Context context, JSONObject resobj, boolean recursive) {
Status status = new Status();
try {
status.setId(resobj.get("id").toString());
@ -337,7 +347,9 @@ public class GNUAPI {
status.setMuted(false);
status.setPinned(false);
try {
status.setReblog(parseStatuses(context, resobj.getJSONObject("retweeted_status")));
if (recursive) {
status.setReblog(parseStatuses(context, resobj.getJSONObject("retweeted_status"), false));
}
} catch (Exception ignored) {
status.setReblog(null);
}