about summary refs log tree commit diff
path: root/patches/expo-notifications+0.28.3.patch
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2024-06-07 19:17:00 -0700
committerGitHub <noreply@github.com>2024-06-08 03:17:00 +0100
commit5f63b8d40f7ede8bbaaf1d1f68200126896f061b (patch)
tree72e470faecb5112fdc0f9d6a2157977e99ffa78a /patches/expo-notifications+0.28.3.patch
parent480a40862f329f98a37772f01fd774d0e6d89a9e (diff)
downloadvoidsky-5f63b8d40f7ede8bbaaf1d1f68200126896f061b.tar.zst
Bump `expo-notifications` to fix NPE (#4425)
* bump library

* rename patch file
Diffstat (limited to 'patches/expo-notifications+0.28.3.patch')
-rw-r--r--patches/expo-notifications+0.28.3.patch191
1 files changed, 0 insertions, 191 deletions
diff --git a/patches/expo-notifications+0.28.3.patch b/patches/expo-notifications+0.28.3.patch
deleted file mode 100644
index 3a9985c7b..000000000
--- a/patches/expo-notifications+0.28.3.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-diff --git a/node_modules/expo-notifications/android/build.gradle b/node_modules/expo-notifications/android/build.gradle
-index d233e1f..cc2f856 100644
---- a/node_modules/expo-notifications/android/build.gradle
-+++ b/node_modules/expo-notifications/android/build.gradle
-@@ -32,6 +32,7 @@ dependencies {
-   api 'com.google.firebase:firebase-messaging:22.0.0'
-
-   api 'me.leolin:ShortcutBadger:1.1.22@aar'
-+  implementation project(':expo-background-notification-handler')
-
-   if (project.findProject(':expo-modules-test-core')) {
-     testImplementation project(':expo-modules-test-core')
-diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/JSONNotificationContentBuilder.java b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/JSONNotificationContentBuilder.java
-index 0af7fe0..8f2c8d8 100644
---- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/JSONNotificationContentBuilder.java
-+++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/JSONNotificationContentBuilder.java
-@@ -14,6 +14,7 @@ import expo.modules.notifications.notifications.enums.NotificationPriority;
- import expo.modules.notifications.notifications.model.NotificationContent;
-
- public class JSONNotificationContentBuilder extends NotificationContent.Builder {
-+  private static final String CHANNEL_ID_KEY = "channelId";
-   private static final String TITLE_KEY = "title";
-   private static final String TEXT_KEY = "message";
-   private static final String SUBTITLE_KEY = "subtitle";
-@@ -36,6 +37,7 @@ public class JSONNotificationContentBuilder extends NotificationContent.Builder
-
-   public NotificationContent.Builder setPayload(JSONObject payload) {
-     this.setTitle(getTitle(payload))
-+      .setChannelId(getChannelId(payload))
-       .setSubtitle(getSubtitle(payload))
-       .setText(getText(payload))
-       .setBody(getBody(payload))
-@@ -60,6 +62,14 @@ public class JSONNotificationContentBuilder extends NotificationContent.Builder
-     return this;
-   }
-
-+  protected String getChannelId(JSONObject payload) {
-+    try {
-+      return payload.getString(CHANNEL_ID_KEY);
-+    } catch (JSONException e) {
-+      return null;
-+    }
-+  }
-+
-   protected String getTitle(JSONObject payload) {
-     try {
-       return payload.getString(TITLE_KEY);
-diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java
-index f1fed19..80afe9e 100644
---- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java
-+++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java
-@@ -20,6 +20,7 @@ import expo.modules.notifications.notifications.enums.NotificationPriority;
-  * should be created using {@link NotificationContent.Builder}.
-  */
- public class NotificationContent implements Parcelable, Serializable {
-+  private String mChannelId;
-   private String mTitle;
-   private String mText;
-   private String mSubtitle;
-@@ -50,6 +51,11 @@ public class NotificationContent implements Parcelable, Serializable {
-     }
-   };
-
-+  @Nullable
-+  public String getChannelId() {
-+    return mTitle;
-+  }
-+
-   @Nullable
-   public String getTitle() {
-     return mTitle;
-@@ -121,6 +127,7 @@ public class NotificationContent implements Parcelable, Serializable {
-   }
-
-   protected NotificationContent(Parcel in) {
-+    mChannelId = in.readString();
-     mTitle = in.readString();
-     mText = in.readString();
-     mSubtitle = in.readString();
-@@ -146,6 +153,7 @@ public class NotificationContent implements Parcelable, Serializable {
-
-   @Override
-   public void writeToParcel(Parcel dest, int flags) {
-+    dest.writeString(mChannelId);
-     dest.writeString(mTitle);
-     dest.writeString(mText);
-     dest.writeString(mSubtitle);
-@@ -166,6 +174,7 @@ public class NotificationContent implements Parcelable, Serializable {
-   private static final long serialVersionUID = 397666843266836802L;
-
-   private void writeObject(java.io.ObjectOutputStream out) throws IOException {
-+    out.writeObject(mChannelId);
-     out.writeObject(mTitle);
-     out.writeObject(mText);
-     out.writeObject(mSubtitle);
-@@ -190,6 +199,7 @@ public class NotificationContent implements Parcelable, Serializable {
-   }
-
-   private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
-+    mChannelId = (String) in.readObject();
-     mTitle = (String) in.readObject();
-     mText = (String) in.readObject();
-     mSubtitle = (String) in.readObject();
-@@ -240,6 +250,7 @@ public class NotificationContent implements Parcelable, Serializable {
-   }
-
-   public static class Builder {
-+    private String mChannelId;
-     private String mTitle;
-     private String mText;
-     private String mSubtitle;
-@@ -260,6 +271,11 @@ public class NotificationContent implements Parcelable, Serializable {
-       useDefaultVibrationPattern();
-     }
-
-+    public Builder setChannelId(String channelId) {
-+      mChannelId = channelId;
-+      return this;
-+    }
-+
-     public Builder setTitle(String title) {
-       mTitle = title;
-       return this;
-@@ -336,6 +352,7 @@ public class NotificationContent implements Parcelable, Serializable {
-
-     public NotificationContent build() {
-       NotificationContent content = new NotificationContent();
-+      content.mChannelId = mChannelId;
-       content.mTitle = mTitle;
-       content.mSubtitle = mSubtitle;
-       content.mText = mText;
-diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.java b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.java
-index 6bd9928..ee93d70 100644
---- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.java
-+++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.java
-@@ -48,6 +48,10 @@ public class ExpoNotificationBuilder extends ChannelAwareNotificationBuilder {
-
-     NotificationContent content = getNotificationContent();
-
-+    if (content.getChannelId() != null) {
-+      builder.setChannelId(content.getChannelId());
-+    }
-+
-     builder.setAutoCancel(content.isAutoDismiss());
-     builder.setOngoing(content.isSticky());
-
-diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt
-index 55b3a8d..1b99d5b 100644
---- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt
-+++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt
-@@ -12,11 +12,14 @@ import expo.modules.notifications.notifications.model.triggers.FirebaseNotificat
- import expo.modules.notifications.service.NotificationsService
- import expo.modules.notifications.service.interfaces.FirebaseMessagingDelegate
- import expo.modules.notifications.tokens.interfaces.FirebaseTokenListener
-+import expo.modules.backgroundnotificationhandler.BackgroundNotificationHandler
-+import expo.modules.backgroundnotificationhandler.BackgroundNotificationHandlerInterface
-+import expo.modules.backgroundnotificationhandler.ExpoBackgroundNotificationHandlerModule
- import org.json.JSONObject
- import java.lang.ref.WeakReference
- import java.util.*
-
--open class FirebaseMessagingDelegate(protected val context: Context) : FirebaseMessagingDelegate {
-+open class FirebaseMessagingDelegate(protected val context: Context) : FirebaseMessagingDelegate, BackgroundNotificationHandlerInterface {
-   companion object {
-     // Unfortunately we cannot save state between instances of a service other way
-     // than by static properties. Fortunately, using weak references we can
-@@ -89,12 +92,21 @@ open class FirebaseMessagingDelegate(protected val context: Context) : FirebaseM
-   fun getBackgroundTasks() = sBackgroundTaskConsumerReferences.values.mapNotNull { it.get() }
-
-   override fun onMessageReceived(remoteMessage: RemoteMessage) {
--    NotificationsService.receive(context, createNotification(remoteMessage))
--    getBackgroundTasks().forEach {
--      it.scheduleJob(RemoteMessageSerializer.toBundle(remoteMessage))
-+    if (!ExpoBackgroundNotificationHandlerModule.isForegrounded) {
-+      BackgroundNotificationHandler(context, this).handleMessage(remoteMessage)
-+      return
-+    } else {
-+      showMessage(remoteMessage)
-+      getBackgroundTasks().forEach {
-+        it.scheduleJob(RemoteMessageSerializer.toBundle(remoteMessage))
-+      }
-     }
-   }
-
-+  override fun showMessage(remoteMessage: RemoteMessage) {
-+    NotificationsService.receive(context, createNotification(remoteMessage))
-+  }
-+
-   protected fun createNotification(remoteMessage: RemoteMessage): Notification {
-     val identifier = getNotificationIdentifier(remoteMessage)
-     val payload = JSONObject(remoteMessage.data as Map<*, *>)