increase akkoma scheduled posts compatibility

This commit is contained in:
sk 2023-06-07 21:12:38 +02:00
parent b93b1847c3
commit d35ec18a88
2 changed files with 19 additions and 4 deletions

View File

@ -1,5 +1,6 @@
package org.joinmastodon.android.model; package org.joinmastodon.android.model;
import org.joinmastodon.android.api.ObjectValidationException;
import org.joinmastodon.android.api.RequiredField; import org.joinmastodon.android.api.RequiredField;
import org.joinmastodon.android.model.Poll.Option; import org.joinmastodon.android.model.Poll.Option;
import org.parceler.Parcel; import org.parceler.Parcel;
@ -16,7 +17,6 @@ public class ScheduledStatus extends BaseModel implements DisplayItemsParent{
public Instant scheduledAt; public Instant scheduledAt;
@RequiredField @RequiredField
public Params params; public Params params;
@RequiredField
public List<Attachment> mediaAttachments; public List<Attachment> mediaAttachments;
@Override @Override
@ -24,8 +24,17 @@ public class ScheduledStatus extends BaseModel implements DisplayItemsParent{
return id; return id;
} }
@Override
public void postprocess() throws ObjectValidationException {
super.postprocess();
if (mediaAttachments == null) mediaAttachments = List.of();
for(Attachment a:mediaAttachments)
a.postprocess();
if (params != null) params.postprocess();
}
@Parcel @Parcel
public static class Params { public static class Params extends BaseModel {
@RequiredField @RequiredField
public String text; public String text;
public String spoilerText; public String spoilerText;
@ -40,10 +49,16 @@ public class ScheduledStatus extends BaseModel implements DisplayItemsParent{
public String applicationId; public String applicationId;
public List<String> mediaIds; public List<String> mediaIds;
public ContentType contentType; public ContentType contentType;
@Override
public void postprocess() throws ObjectValidationException {
super.postprocess();
if (poll != null) poll.postprocess();
}
} }
@Parcel @Parcel
public static class ScheduledPoll { public static class ScheduledPoll extends BaseModel {
@RequiredField @RequiredField
public String expiresIn; public String expiresIn;
@RequiredField @RequiredField

View File

@ -39,7 +39,6 @@ public class Status extends BaseModel implements DisplayItemsParent, Searchable{
public boolean sensitive; public boolean sensitive;
@RequiredField @RequiredField
public String spoilerText; public String spoilerText;
@RequiredField
public List<Attachment> mediaAttachments; public List<Attachment> mediaAttachments;
public Application application; public Application application;
@RequiredField @RequiredField
@ -96,6 +95,7 @@ public class Status extends BaseModel implements DisplayItemsParent, Searchable{
t.postprocess(); t.postprocess();
for(Emoji e:emojis) for(Emoji e:emojis)
e.postprocess(); e.postprocess();
if (mediaAttachments == null) mediaAttachments = List.of();
for(Attachment a:mediaAttachments) for(Attachment a:mediaAttachments)
a.postprocess(); a.postprocess();
account.postprocess(); account.postprocess();