From 0f61cb12d49cb7a9b899c7cad200d431d0ddeb29 Mon Sep 17 00:00:00 2001 From: Grishka Date: Wed, 13 Apr 2022 01:21:17 +0300 Subject: [PATCH] Fix crash --- mastodon/build.gradle | 2 +- .../joinmastodon/android/model/Filter.java | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/mastodon/build.gradle b/mastodon/build.gradle index 294d0239..cb5fe46d 100644 --- a/mastodon/build.gradle +++ b/mastodon/build.gradle @@ -10,7 +10,7 @@ android { applicationId "org.joinmastodon.android" minSdk 23 targetSdk 31 - versionCode 25 + versionCode 26 versionName "0.1" } diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/Filter.java b/mastodon/src/main/java/org/joinmastodon/android/model/Filter.java index 7084798e..c1a3ee87 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/Filter.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/Filter.java @@ -4,10 +4,12 @@ import android.text.TextUtils; import com.google.gson.annotations.SerializedName; +import org.joinmastodon.android.api.ObjectValidationException; import org.joinmastodon.android.api.RequiredField; import java.time.Instant; import java.util.EnumSet; +import java.util.List; import java.util.regex.Pattern; public class Filter extends BaseModel{ @@ -15,14 +17,27 @@ public class Filter extends BaseModel{ public String id; @RequiredField public String phrase; - @RequiredField - public EnumSet context; + public transient EnumSet context=EnumSet.noneOf(FilterContext.class); public Instant expiresAt; public boolean irreversible; public boolean wholeWord; + @SerializedName("context") + private List _context; + private transient Pattern pattern; + @Override + public void postprocess() throws ObjectValidationException{ + super.postprocess(); + if(_context==null) + throw new ObjectValidationException(); + for(FilterContext c:_context){ + if(c!=null) + context.add(c); + } + } + public boolean matches(CharSequence text){ if(TextUtils.isEmpty(text)) return false;