From 7dd72ccc54c2f3c8e91dc0d1d2a55c4679ce52f9 Mon Sep 17 00:00:00 2001 From: vitvvv1 Date: Wed, 12 Mar 2025 19:45:51 +0200 Subject: [PATCH 1/3] add 'proxy' to AndroidNotification --- .../messaging/AndroidNotification.java | 31 ++++++++++++++++++- .../firebase/messaging/MessageTest.java | 2 ++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/google/firebase/messaging/AndroidNotification.java b/src/main/java/com/google/firebase/messaging/AndroidNotification.java index 05e680910..b67cd447d 100644 --- a/src/main/java/com/google/firebase/messaging/AndroidNotification.java +++ b/src/main/java/com/google/firebase/messaging/AndroidNotification.java @@ -112,6 +112,9 @@ public class AndroidNotification { @Key("notification_count") private final Integer notificationCount; + @Key("proxy") + private final String proxy; + private static final Map PRIORITY_MAP = ImmutableMap.builder() .put(Priority.MIN, "PRIORITY_MIN") @@ -179,6 +182,11 @@ private AndroidNotification(Builder builder) { checkArgument(builder.notificationCount >= 0, "notificationCount if specified must be zero or positive valued"); } + if (builder.proxy != null) { + this.proxy = builder.proxy.name(); + } else { + this.proxy = null; + } this.notificationCount = builder.notificationCount; } @@ -194,13 +202,20 @@ public String toString() { return PRIORITY_MAP.get(this); } } - + public enum Visibility { PRIVATE, PUBLIC, SECRET, } + public enum Proxy { + PROXY_UNSPECIFIED, + ALLOW, + DENY, + IF_PRIORITY_LOWERED + } + /** * Creates a new {@link AndroidNotification.Builder}. * @@ -237,6 +252,7 @@ public static class Builder { private LightSettings lightSettings; private Boolean defaultLightSettings; private Visibility visibility; + private Proxy proxy; private Builder() {} @@ -602,6 +618,19 @@ public Builder setNotificationCount(int notificationCount) { return this; } + /** + * Sets the proxy of this notification. + * + * @param proxy The proxy value. one of the values in + * {PROXY_UNSPECIFIED, ALLOW, DENY, IF_PRIORITY_LOWERED} + * + * @return This builder. + */ + public Builder setProxy(Proxy proxy) { + this.proxy = proxy; + return this; + } + /** * Creates a new {@link AndroidNotification} instance from the parameters set on this builder. * diff --git a/src/test/java/com/google/firebase/messaging/MessageTest.java b/src/test/java/com/google/firebase/messaging/MessageTest.java index 992644b35..cea440cca 100644 --- a/src/test/java/com/google/firebase/messaging/MessageTest.java +++ b/src/test/java/com/google/firebase/messaging/MessageTest.java @@ -890,6 +890,7 @@ public void testExtendedAndroidNotificationParameters() throws IOException { .setDefaultLightSettings(false) .setVisibility(AndroidNotification.Visibility.PUBLIC) .setNotificationCount(10) + .setProxy(AndroidNotification.Proxy.DENY) .build()) .build()) .setTopic("test-topic") @@ -923,6 +924,7 @@ public void testExtendedAndroidNotificationParameters() throws IOException { .put("default_light_settings", false) .put("visibility", "public") .put("notification_count", new BigDecimal(10)) + .put("proxy", "DENY") .build()) .build(); assertJsonEquals(ImmutableMap.of( From 92138cbd705af9cfd2162478e485ac18db86378d Mon Sep 17 00:00:00 2001 From: vitvvv1 Date: Sat, 15 Mar 2025 00:08:10 +0200 Subject: [PATCH 2/3] fix: removed PROXY_UNSPECIFIED from AndroidNotification.Proxy --- .../java/com/google/firebase/messaging/AndroidNotification.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/google/firebase/messaging/AndroidNotification.java b/src/main/java/com/google/firebase/messaging/AndroidNotification.java index b67cd447d..fd0793479 100644 --- a/src/main/java/com/google/firebase/messaging/AndroidNotification.java +++ b/src/main/java/com/google/firebase/messaging/AndroidNotification.java @@ -210,7 +210,6 @@ public enum Visibility { } public enum Proxy { - PROXY_UNSPECIFIED, ALLOW, DENY, IF_PRIORITY_LOWERED From 4020900a54a9e8cbf8f6b652f79672a4fd9591a3 Mon Sep 17 00:00:00 2001 From: vitvvv1 <36170346+vitvvv1@users.noreply.github.com> Date: Thu, 20 Mar 2025 23:49:04 +0200 Subject: [PATCH 3/3] Update src/main/java/com/google/firebase/messaging/AndroidNotification.java fix comment AndroidNotification.setProxy Co-authored-by: Jonathan Edey <145066863+jonathanedey@users.noreply.github.com> --- .../com/google/firebase/messaging/AndroidNotification.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/google/firebase/messaging/AndroidNotification.java b/src/main/java/com/google/firebase/messaging/AndroidNotification.java index fd0793479..b509a9843 100644 --- a/src/main/java/com/google/firebase/messaging/AndroidNotification.java +++ b/src/main/java/com/google/firebase/messaging/AndroidNotification.java @@ -620,8 +620,7 @@ public Builder setNotificationCount(int notificationCount) { /** * Sets the proxy of this notification. * - * @param proxy The proxy value. one of the values in - * {PROXY_UNSPECIFIED, ALLOW, DENY, IF_PRIORITY_LOWERED} + * @param proxy The proxy value, one of the values in {ALLOW, DENY, IF_PRIORITY_LOWERED} * * @return This builder. */