From af1c7194e61557f00cf2ed5f05f249e2a9fe1227 Mon Sep 17 00:00:00 2001 From: Grishka Date: Wed, 18 Jan 2023 18:41:48 +0300 Subject: [PATCH] Workaround to fix #497 --- .../RegisterForPushNotifications.java | 4 ++-- .../notifications/UpdatePushSettings.java | 17 +++++++++++++++-- .../android/model/PushSubscription.java | 1 + 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/requests/notifications/RegisterForPushNotifications.java b/mastodon/src/main/java/org/joinmastodon/android/api/requests/notifications/RegisterForPushNotifications.java index 5b096f2ba..b1ef8ace9 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/api/requests/notifications/RegisterForPushNotifications.java +++ b/mastodon/src/main/java/org/joinmastodon/android/api/requests/notifications/RegisterForPushNotifications.java @@ -9,7 +9,7 @@ public class RegisterForPushNotifications extends MastodonAPIRequest{ + private final PushSubscription.Policy policy; + public UpdatePushSettings(PushSubscription.Alerts alerts, PushSubscription.Policy policy){ super(HttpMethod.PUT, "/push/subscription", PushSubscription.class); setRequestBody(new Request(alerts, policy)); + this.policy=policy; + } + + @Override + public void validateAndPostprocessResponse(PushSubscription respObj, Response httpResponse) throws IOException{ + super.validateAndPostprocessResponse(respObj, httpResponse); + respObj.policy=policy; } private static class Request{ public Data data=new Data(); + public PushSubscription.Policy policy; public Request(PushSubscription.Alerts alerts, PushSubscription.Policy policy){ this.data.alerts=alerts; - this.data.policy=policy; + this.policy=policy; } private static class Data{ public PushSubscription.Alerts alerts; - public PushSubscription.Policy policy; } } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/PushSubscription.java b/mastodon/src/main/java/org/joinmastodon/android/model/PushSubscription.java index e70dfa4aa..82b6b62a6 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/PushSubscription.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/PushSubscription.java @@ -23,6 +23,7 @@ public class PushSubscription extends BaseModel implements Cloneable{ ", endpoint='"+endpoint+'\''+ ", alerts="+alerts+ ", serverKey='"+serverKey+'\''+ + ", policy="+policy+ '}'; }