From a8da796956e1e1d0abdcae423780136fcc90616c Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Thu, 8 May 2025 11:29:07 -0300 Subject: [PATCH] refactor(status-account-field): make it not a required field, but do throw error if it's null This is for debugging purposes on newer glitch-soc versions. This should be reverted before a release. --- .../src/main/java/org/joinmastodon/android/model/Status.java | 2 +- .../android/ui/displayitems/StatusDisplayItem.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/Status.java b/mastodon/src/main/java/org/joinmastodon/android/model/Status.java index 83ebe6ff6..e0772602b 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/Status.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/Status.java @@ -47,7 +47,7 @@ public class Status extends BaseModel implements DisplayItemsParent, Searchable{ public String uri; // @RequiredField // sometimes null on calckey public Instant createdAt; - @RequiredField +// @RequiredField // sometimes null? Gonna make sure to check everytime. TODO: make account field required again public Account account; // @RequiredField public String content; diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java index af0d5b95c..9bccb44b8 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java @@ -181,6 +181,11 @@ public abstract class StatusDisplayItem{ Bundle args=new Bundle(); args.putString("account", accountID); try{ + // Check if account is null. This should never happen, but it seems to do in latest versions of glitch-soc + if (status.account == null || (status.reblog != null && status.reblog.account == null) || (status.quote != null) && status.quote.account == null) { + throw new Exception("status " + status.url + " has null account field"); + } + ScheduledStatus scheduledStatus=parentObject instanceof ScheduledStatus s ? s : null; HeaderStatusDisplayItem header=null;