From 0cd14d8bba6809c63478f1e8d076d10cc86c646d Mon Sep 17 00:00:00 2001 From: Roland Osborne Date: Tue, 13 Jun 2023 13:59:49 -0700 Subject: [PATCH] refactored unifiedpush connector into external plugin --- app/mobile/App.js | 2 + .../android/app/src/main/AndroidManifest.xml | 2 +- .../main/java/com/databag/CustomReceiver.java | 103 ------------------ .../main/java/com/databag/MainActivity.java | 19 ---- app/mobile/package.json | 1 + app/mobile/yarn.lock | 93 ++++++++-------- 6 files changed, 53 insertions(+), 167 deletions(-) delete mode 100644 app/mobile/android/app/src/main/java/com/databag/CustomReceiver.java diff --git a/app/mobile/App.js b/app/mobile/App.js index cec271f4..09007cbe 100644 --- a/app/mobile/App.js +++ b/app/mobile/App.js @@ -19,6 +19,7 @@ import { Dashboard } from 'src/dashboard/Dashboard'; import { Session } from 'src/session/Session'; import ReceiveSharingIntent from 'react-native-receive-sharing-intent'; import { Platform, PermissionsAndroid } from 'react-native'; +import { initUnifiedPush } from 'react-native-unifiedpush-connector'; // silence warning: Sending `onAnimatedValueUpdate` with no listeners registered //LogBox.ignoreLogs(['Sending']); @@ -31,6 +32,7 @@ export default function App() { if (Platform.OS !== 'ios') { PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS); + initUnifiedPush(); } ReceiveSharingIntent.getReceivedFiles(files => { diff --git a/app/mobile/android/app/src/main/AndroidManifest.xml b/app/mobile/android/app/src/main/AndroidManifest.xml index a02cfc4c..c05f09ee 100644 --- a/app/mobile/android/app/src/main/AndroidManifest.xml +++ b/app/mobile/android/app/src/main/AndroidManifest.xml @@ -77,7 +77,7 @@ diff --git a/app/mobile/android/app/src/main/java/com/databag/CustomReceiver.java b/app/mobile/android/app/src/main/java/com/databag/CustomReceiver.java deleted file mode 100644 index 7152ebe4..00000000 --- a/app/mobile/android/app/src/main/java/com/databag/CustomReceiver.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.databag; - -import android.content.Context; -import org.jetbrains.annotations.NotNull; -import org.unifiedpush.android.connector.MessagingReceiver; -import android.util.Log; - -import android.app.NotificationChannel; -import android.app.NotificationManager; -import android.app.PendingIntent; -import android.content.Intent; - -import android.app.ActivityManager.RunningAppProcessInfo; -import android.app.ActivityManager; -import android.os.Build; -import android.net.Uri; -import android.media.RingtoneManager; -import androidx.core.app.NotificationCompat; -import java.nio.charset.StandardCharsets; - -import com.facebook.react.ReactApplication; -import com.facebook.react.ReactInstanceManager; -import com.facebook.react.bridge.Arguments; -import com.facebook.react.bridge.ReactContext; -import com.facebook.react.bridge.WritableMap; -import com.facebook.react.modules.core.DeviceEventManagerModule; - -public class CustomReceiver extends MessagingReceiver { - public CustomReceiver() { - super(); - } - - private boolean forgrounded () { - ActivityManager.RunningAppProcessInfo appProcessInfo = new ActivityManager.RunningAppProcessInfo(); - ActivityManager.getMyMemoryState(appProcessInfo); - return (appProcessInfo.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND || appProcessInfo.importance == RunningAppProcessInfo.IMPORTANCE_VISIBLE); - } - - @Override - public void onNewEndpoint(@NotNull Context context, @NotNull String endpoint, @NotNull String instance) { - - final ReactInstanceManager reactInstanceManager = - ((ReactApplication) context.getApplicationContext()) - .getReactNativeHost() - .getReactInstanceManager(); - ReactContext reactContext = reactInstanceManager.getCurrentReactContext(); - - WritableMap params = Arguments.createMap(); - params.putString("instance", instance); - params.putString("endpoint", endpoint); - reactContext - .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class) - .emit("unifiedPushURL", params); - - // Called when a new endpoint be used for sending push messages - } - - @Override - public void onRegistrationFailed(@NotNull Context context, @NotNull String instance) { - // called when the registration is not possible, eg. no network - } - - @Override - public void onUnregistered(@NotNull Context context, @NotNull String instance) { - // called when this application is unregistered from receiving push messages - } - - @Override - public void onMessage(@NotNull Context context, @NotNull byte[] message, @NotNull String instance) { - - if (forgrounded()) { - return; - } - - String strMessage = new String(message, StandardCharsets.UTF_8); - - - Intent intent = new Intent(context, MainActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - PendingIntent pendingIntent = PendingIntent.getActivity(context, 0 /* Request code */, intent, - PendingIntent.FLAG_IMMUTABLE); - - String channelId = "fcm_default_channel"; - Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); - NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context, - channelId) - .setSmallIcon(R.mipmap.ic_launcher) - .setContentTitle(strMessage).setAutoCancel(true).setSound( - defaultSoundUri).setContentIntent(pendingIntent); - - NotificationManager notificationManager = (NotificationManager) context.getSystemService( - Context.NOTIFICATION_SERVICE); - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - NotificationChannel channel = new NotificationChannel(channelId, "Channel human readable title", - NotificationManager.IMPORTANCE_DEFAULT); - notificationManager.createNotificationChannel(channel); - } - - notificationManager.notify(0, notificationBuilder.build()); - } -} - diff --git a/app/mobile/android/app/src/main/java/com/databag/MainActivity.java b/app/mobile/android/app/src/main/java/com/databag/MainActivity.java index a7170a13..73490b90 100644 --- a/app/mobile/android/app/src/main/java/com/databag/MainActivity.java +++ b/app/mobile/android/app/src/main/java/com/databag/MainActivity.java @@ -35,25 +35,6 @@ public class MainActivity extends ReactActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(null); - MainActivity activityContext = this; - - this.getSharedPreferences("unifiedpush.connector", Context.MODE_PRIVATE).edit().putBoolean("unifiedpush.no_distrib_dialog", true).apply(); - - - ReactInstanceManager mReactInstanceManager = getReactNativeHost().getReactInstanceManager(); - mReactInstanceManager.addReactInstanceEventListener(new ReactInstanceManager.ReactInstanceEventListener() { - public void onReactContextInitialized(ReactContext validContext) { - - UnifiedPush.registerAppWithDialog( - activityContext, - "default", - new RegistrationDialogContent(), - new ArrayList(), - getApplicationContext().getPackageName() - ); - - } - }); } /** diff --git a/app/mobile/package.json b/app/mobile/package.json index d99af06c..35196e40 100644 --- a/app/mobile/package.json +++ b/app/mobile/package.json @@ -44,6 +44,7 @@ "react-native-screens": "^3.20.0", "react-native-share": "^8.2.2", "react-native-sqlite-storage": "^6.0.1", + "react-native-unifiedpush-connector": "^0.1.5", "react-native-vector-icons": "^9.2.0", "react-native-video": "^5.2.1", "react-native-webrtc": "^106.0.7", diff --git a/app/mobile/yarn.lock b/app/mobile/yarn.lock index 99fd9e80..b3204ccd 100644 --- a/app/mobile/yarn.lock +++ b/app/mobile/yarn.lock @@ -1074,7 +1074,7 @@ "@bam.tech/react-native-image-resizer@^3.0.5": version "3.0.5" - resolved "https://registry.yarnpkg.com/@bam.tech/react-native-image-resizer/-/react-native-image-resizer-3.0.5.tgz#6661ba020de156268f73bdc92fbb93ef86f88a13" + resolved "https://registry.npmjs.org/@bam.tech/react-native-image-resizer/-/react-native-image-resizer-3.0.5.tgz" integrity sha512-u5QGUQGGVZiVCJ786k9/kd7pPRZ6eYfJCYO18myVCH8FbVI7J8b5GT2Svjj2x808DlWeqfaZOOzxPqo27XYvrQ== "@bcoe/v8-coverage@^0.2.3": @@ -1084,7 +1084,7 @@ "@braintree/sanitize-url@^6.0.2": version "6.0.2" - resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz#6110f918d273fe2af8ea1c4398a88774bb9fc12f" + resolved "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz" integrity sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg== "@egjs/hammerjs@^2.0.17": @@ -1504,7 +1504,7 @@ "@react-native-clipboard/clipboard@^1.11.1": version "1.11.1" - resolved "https://registry.yarnpkg.com/@react-native-clipboard/clipboard/-/clipboard-1.11.1.tgz#d3a9e685ce2383b1e92b89a334896c5575cc103d" + resolved "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.11.1.tgz" integrity sha512-nvSIIHzybVWqYxcJE5hpT17ekxAAg383Ggzw5WrYHtkKX61N1AwaKSNmXs5xHV7pmKSOe/yWjtSwxIzfW51I5Q== "@react-native-community/cli-clean@^10.1.1": @@ -1723,7 +1723,7 @@ "@react-navigation/bottom-tabs@^6.5.5": version "6.5.5" - resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.5.tgz#901e213560b669ed4a58cfa12880beb65d3b819f" + resolved "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.5.tgz" integrity sha512-NKnbniyw7eEx1ubXHQ1Rx2rwj33cYQ4ffX0ZN8/UCncCY2Y1ruCjh3x3eEWVeZY8rPicLUaX3h0742CAh5mjEw== dependencies: "@react-navigation/elements" "^1.3.15" @@ -1758,7 +1758,7 @@ "@react-navigation/native-stack@^6.9.10": version "6.9.10" - resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.10.tgz#5a5d5de9f49b72e603d0cdca9771e0324f65c1c7" + resolved "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.10.tgz" integrity sha512-dSazcWNxHg4qkid/AxFRvbhRtNXy/RqE00h/Qp+d7aBN0TwrOJn8mH/Inkkf4pHAntMbj0+mVAlKfxKmyLEGlA== dependencies: "@react-navigation/elements" "^1.3.15" @@ -1783,7 +1783,7 @@ "@react-navigation/stack@^6.3.14": version "6.3.14" - resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-6.3.14.tgz#de282d8bc5616bfb12fa4c89f18792193563fb7a" + resolved "https://registry.npmjs.org/@react-navigation/stack/-/stack-6.3.14.tgz" integrity sha512-a1ivkESWsZYimUQHr3TA2Nu2g3FALEyJqQ8bJxXkEcBp+5cglOakhfKbbCuNV2knC/9zjUmP9N0Q3Jh3fK9nfw== dependencies: "@react-navigation/elements" "^1.3.15" @@ -1797,7 +1797,7 @@ "@sayem314/react-native-keep-awake@^1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@sayem314/react-native-keep-awake/-/react-native-keep-awake-1.1.0.tgz#852f9f8481c0ab38a54d6f0b85324f3024eb6031" + resolved "https://registry.npmjs.org/@sayem314/react-native-keep-awake/-/react-native-keep-awake-1.1.0.tgz" integrity sha512-1k57PXJIfhZrjA4ZQr+goTEYer8MBhe1At6XjVYJq1oBuhG/CIu0gX1EH9fU9exC65e5uDs/zAwjl6Ps+3lCgg== "@sideway/address@^4.1.3": @@ -2142,7 +2142,7 @@ acorn@^8.5.0, acorn@^8.8.0: adm-zip@0.5.9: version "0.5.9" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.9.tgz#b33691028333821c0cf95c31374c5462f2905a83" + resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz" integrity sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg== ajv@^6.10.0, ajv@^6.12.4: @@ -2484,7 +2484,7 @@ balanced-match@^1.0.0: base-64@0.1.0, base-64@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb" + resolved "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz" integrity sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA== base64-js@1.5.1, base64-js@^1.1.2, base64-js@^1.2.3, base64-js@^1.3.1, base64-js@^1.5.1: @@ -2685,7 +2685,7 @@ char-regex@^1.0.2: chownr@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== ci-info@^2.0.0: @@ -2970,7 +2970,7 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: crypto-js@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" + resolved "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz" integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== csstype@^3.0.2: @@ -3104,7 +3104,7 @@ depd@2.0.0: deprecated-react-native-prop-types@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz#c10c6ee75ff2b6de94bb127f142b814e6e08d9ab" + resolved "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz" integrity sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA== dependencies: "@react-native/normalize-color" "*" @@ -3173,7 +3173,7 @@ electron-to-chromium@^1.4.284: eme-encryption-scheme-polyfill@^2.0.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/eme-encryption-scheme-polyfill/-/eme-encryption-scheme-polyfill-2.1.1.tgz#91c823ed584e8ec5a9f03a6a676def8f80c57a4c" + resolved "https://registry.npmjs.org/eme-encryption-scheme-polyfill/-/eme-encryption-scheme-polyfill-2.1.1.tgz" integrity sha512-njD17wcUrbqCj0ArpLu5zWXtaiupHb/2fIUQGdInf83GlI+Q6mmqaPGLdrke4savKAu15J/z1Tg/ivDgl14g0g== emittery@^0.13.1: @@ -3531,7 +3531,7 @@ etag@~1.8.1: event-target-shim@6.0.2: version "6.0.2" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-6.0.2.tgz#ea5348c3618ee8b62ff1d344f01908ee2b8a2b71" + resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-6.0.2.tgz" integrity sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA== event-target-shim@^5.0.0, event-target-shim@^5.0.1: @@ -3828,7 +3828,7 @@ fs-extra@^8.1.0: fs-minipass@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== dependencies: minipass "^3.0.0" @@ -3840,7 +3840,7 @@ fs.realpath@^1.0.0: fsevents@^2.3.2: version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: @@ -3933,7 +3933,7 @@ glob-parent@^6.0.2: glob@7.0.6: version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" + resolved "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz" integrity sha512-f8c0rE8JiCxpa52kWPAOa3ZaYEnzofDzCQLCn3Vdk0Z5OVLq3BsRFJI4S4ykpeVW6QMGBUkMeUpoEgWnMTnw5Q== dependencies: fs.realpath "^1.0.0" @@ -5058,7 +5058,7 @@ jscodeshift@^0.13.1: jsencrypt@^3.3.1: version "3.3.1" - resolved "https://registry.yarnpkg.com/jsencrypt/-/jsencrypt-3.3.1.tgz#5d47e6c1079bb50e714a36d009ba09ea81fbfa18" + resolved "https://registry.npmjs.org/jsencrypt/-/jsencrypt-3.3.1.tgz" integrity sha512-dVvV54GdFuJgmEKn+oBiaifDMen4p6o6j/lJh0OVMcouME8sST0bJ7bldIgKBQk4za0zyGn0/pm4vOznR25mLw== jsesc@^2.5.1: @@ -5120,7 +5120,7 @@ jsonfile@^4.0.0: keymirror@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/keymirror/-/keymirror-0.1.1.tgz#918889ea13f8d0a42e7c557250eee713adc95c35" + resolved "https://registry.npmjs.org/keymirror/-/keymirror-0.1.1.tgz" integrity sha512-vIkZAFWoDijgQT/Nvl2AHCMmnegN2ehgTPYuyy2hWQkQSntI0S7ESYqdLkoSe1HyEBFHHkCgSIvVdSEiWwKvCg== kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: @@ -5654,14 +5654,14 @@ minimist@^1.2.0, minimist@^1.2.6: minipass@^3.0.0: version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== dependencies: yallist "^4.0.0" minizlib@^2.1.1: version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: minipass "^3.0.0" @@ -5692,12 +5692,12 @@ mkdirp@^0.5.1: mkdirp@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== moment@^2.29.4: version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz" integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== ms@2.0.0: @@ -6277,7 +6277,7 @@ react-devtools-core@^4.26.1: react-freeze@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.3.tgz#5e3ca90e682fed1d73a7cb50c2c7402b3e85618d" + resolved "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz" integrity sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g== "react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0: @@ -6312,7 +6312,7 @@ react-native-codegen@^0.71.5: react-native-create-thumbnail@^1.6.4: version "1.6.4" - resolved "https://registry.yarnpkg.com/react-native-create-thumbnail/-/react-native-create-thumbnail-1.6.4.tgz#90f5b0a587de6e3738a7632fe3d9a9624ed83581" + resolved "https://registry.npmjs.org/react-native-create-thumbnail/-/react-native-create-thumbnail-1.6.4.tgz" integrity sha512-JWuKXswDXtqUPfuqh6rjCVMvTSSG3kUtwvSK/YdaNU0i+nZKxeqHmt/CO2+TyI/WSUFynGVmWT1xOHhCZAFsRQ== react-native-device-info@^10.4.0: @@ -6322,24 +6322,24 @@ react-native-device-info@^10.4.0: react-native-document-picker@^8.1.3: version "8.1.3" - resolved "https://registry.yarnpkg.com/react-native-document-picker/-/react-native-document-picker-8.1.3.tgz#200b47c182d2d654747b5e41b5843fd378ac9d2e" + resolved "https://registry.npmjs.org/react-native-document-picker/-/react-native-document-picker-8.1.3.tgz" integrity sha512-lC+SZnzqIEE30x2CSHeZT+f7FzhQOTJprCNMRPpFVl4mLV9dDCJ/wZAmMByJFT79oQMPrzjlhhJlmjm+sVRUWQ== dependencies: invariant "^2.2.4" react-native-elevation@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/react-native-elevation/-/react-native-elevation-1.0.0.tgz#2a091c688290ac9b08b5842d1a8e8a00fc84233e" + resolved "https://registry.npmjs.org/react-native-elevation/-/react-native-elevation-1.0.0.tgz" integrity sha512-BWIKcEYtzjRV6GpkX0Km5/w2E7fgIcywiQOT7JZTc5NSbv/YI9kpFinB9lRFsOoRVGmiqq/O3VfP/oH2clIiBA== react-native-fast-image@^8.6.3: version "8.6.3" - resolved "https://registry.yarnpkg.com/react-native-fast-image/-/react-native-fast-image-8.6.3.tgz#6edc3f9190092a909d636d93eecbcc54a8822255" + resolved "https://registry.npmjs.org/react-native-fast-image/-/react-native-fast-image-8.6.3.tgz" integrity sha512-Sdw4ESidXCXOmQ9EcYguNY2swyoWmx53kym2zRsvi+VeFCHEdkO+WG1DK+6W81juot40bbfLNhkc63QnWtesNg== react-native-fs@^2.20.0: version "2.20.0" - resolved "https://registry.yarnpkg.com/react-native-fs/-/react-native-fs-2.20.0.tgz#05a9362b473bfc0910772c0acbb73a78dbc810f6" + resolved "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.20.0.tgz" integrity sha512-VkTBzs7fIDUiy/XajOSNk0XazFE9l+QlMAce7lGuebZcag5CnjszB+u4BdqzwaQOdcYb5wsJIsqq4kxInIRpJQ== dependencies: base-64 "^0.1.0" @@ -6347,7 +6347,7 @@ react-native-fs@^2.20.0: react-native-gesture-handler@^2.9.0: version "2.9.0" - resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.9.0.tgz#2f63812e523c646f25b9ad660fc6f75948e51241" + resolved "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.9.0.tgz" integrity sha512-a0BcH3Qb1tgVqUutc6d3VuWQkI1AM3+fJx8dkxzZs9t06qA27QgURYFoklpabuWpsUTzuKRpxleykp25E8m7tg== dependencies: "@egjs/hammerjs" "^2.0.17" @@ -6363,22 +6363,22 @@ react-native-gradle-plugin@^0.71.15: react-native-image-crop-picker@^0.39.0: version "0.39.0" - resolved "https://registry.yarnpkg.com/react-native-image-crop-picker/-/react-native-image-crop-picker-0.39.0.tgz#9cb8e8ffb0e8ab06f7b3227cadf077169e225eba" + resolved "https://registry.npmjs.org/react-native-image-crop-picker/-/react-native-image-crop-picker-0.39.0.tgz" integrity sha512-4aANbQMrmU6zN/4b0rVBA7SbaZ3aa5JESm3Xk751sINybZMt1yz/9h95LkO7U0pbslHDo3ofXjG75PmQRP6a/w== react-native-incall-manager@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/react-native-incall-manager/-/react-native-incall-manager-4.0.1.tgz#7dae419433383ed31262d811fd549bba7951b2f2" + resolved "https://registry.npmjs.org/react-native-incall-manager/-/react-native-incall-manager-4.0.1.tgz" integrity sha512-Bqq7C+p7vCmCTpM8Xv6l4DJ3UJYzVr60IvkHMw1Ugs0KJswh3veBJrpk+hUPSETPT6J/5oUwxChXlNsymsh7fg== react-native-reanimated-carousel@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/react-native-reanimated-carousel/-/react-native-reanimated-carousel-3.3.0.tgz#e71e9441ee6aaae401c5a023b27bf48a54565d16" + resolved "https://registry.npmjs.org/react-native-reanimated-carousel/-/react-native-reanimated-carousel-3.3.0.tgz" integrity sha512-rprUl+LqWoXyH/8OvHv+m9Kol2YORHEnz7tvRum+o4ciCUCcYnafQBbSqG44RMllOCqm3WOAcuEX5p8a7W3ZZw== react-native-reanimated@^2.14.4: version "2.14.4" - resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-2.14.4.tgz#3fa3da4e7b99f5dfb28f86bcf24d9d1024d38836" + resolved "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-2.14.4.tgz" integrity sha512-DquSbl7P8j4SAmc+kRdd75Ianm8G+IYQ9T4AQ6lrpLVeDkhZmjWI0wkutKWnp6L7c5XNVUrFDUf69dwETLCItQ== dependencies: "@babel/plugin-transform-object-assign" "^7.16.7" @@ -6391,7 +6391,7 @@ react-native-reanimated@^2.14.4: react-native-receive-sharing-intent@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/react-native-receive-sharing-intent/-/react-native-receive-sharing-intent-2.0.0.tgz#0d835387976e2343f85f0172522e83233a09c0d9" + resolved "https://registry.npmjs.org/react-native-receive-sharing-intent/-/react-native-receive-sharing-intent-2.0.0.tgz" integrity sha512-JFSO8mZm/hU0EJQYhC5z2m1iiMwJhD9CQ/hYQ8t1UQ9mQynoS/yo+hjX2T6hFXa8mtzlwO/BFwKZjBaVNPdWuw== react-native-rsa-native@^2.0.5: @@ -6406,7 +6406,7 @@ react-native-safe-area-context@^4.5.0: react-native-screens@^3.20.0: version "3.20.0" - resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.20.0.tgz#4d154177395e5541387d9a05bc2e12e54d2fb5b1" + resolved "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.20.0.tgz" integrity sha512-joWUKWAVHxymP3mL9gYApFHAsbd9L6ZcmpoZa6Sl3W/82bvvNVMqcfP7MeNqVCg73qZ8yL4fW+J/syusHleUgg== dependencies: react-freeze "^1.0.0" @@ -6414,7 +6414,7 @@ react-native-screens@^3.20.0: react-native-share@^8.2.2: version "8.2.2" - resolved "https://registry.yarnpkg.com/react-native-share/-/react-native-share-8.2.2.tgz#987d6f164afe57b089950dca42e0555f19045d27" + resolved "https://registry.npmjs.org/react-native-share/-/react-native-share-8.2.2.tgz" integrity sha512-kVCI/cT0GnuYUTXe6mAimrjrnt4VWoRfrWqJZjFeoYFqAyOEfos84RC4eZlZnOT5eVtmTXRIkor5vgSkKOlZhw== react-native-sqlite-storage@^6.0.1: @@ -6422,6 +6422,11 @@ react-native-sqlite-storage@^6.0.1: resolved "https://registry.npmjs.org/react-native-sqlite-storage/-/react-native-sqlite-storage-6.0.1.tgz" integrity sha512-1tDFjrint6X6qSYKf3gDyz+XB+X79jfiL6xTugKHPRtF0WvqMtVgdLuNqZunIXjNEvNtNVEbXaeZ6MsguFu00A== +react-native-unifiedpush-connector@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/react-native-unifiedpush-connector/-/react-native-unifiedpush-connector-0.1.5.tgz#ed244f4a14d3daa21965006cf87b254e5b70ed06" + integrity sha512-KtmjPk3HzkkTX/Cs0/JW58jlBVm90QXH08zFPBxcwkT1Osk5P32uMAIqFvgZ+nq9HXa9imsa4X6bZxq9FvX2eA== + react-native-vector-icons@^9.2.0: version "9.2.0" resolved "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-9.2.0.tgz" @@ -6432,7 +6437,7 @@ react-native-vector-icons@^9.2.0: react-native-video@^5.2.1: version "5.2.1" - resolved "https://registry.yarnpkg.com/react-native-video/-/react-native-video-5.2.1.tgz#a17e856759d7e17eee9cbd9df0d05ba22e88d457" + resolved "https://registry.npmjs.org/react-native-video/-/react-native-video-5.2.1.tgz" integrity sha512-aJlr9MeTuQ0LpZ4n+EC9RvhoKeiPbLtI2Rxy8u7zo/wzGevbRpWHSBj9xZ5YDBXnAVXzuqyNIkGhdw7bfdIBZw== dependencies: deprecated-react-native-prop-types "^2.2.0" @@ -6442,7 +6447,7 @@ react-native-video@^5.2.1: react-native-webrtc@^106.0.7: version "106.0.7" - resolved "https://registry.yarnpkg.com/react-native-webrtc/-/react-native-webrtc-106.0.7.tgz#a00ec9828ecb9910ac525474c59b292eded7408f" + resolved "https://registry.npmjs.org/react-native-webrtc/-/react-native-webrtc-106.0.7.tgz" integrity sha512-Ro/NoxN/9/b/bcZErM+oVbWC8ZCplp00sHWDOOh289KDkAkFYZdyFZAKsgJQoMj5rOJZVzIIxuJW91ox+0k92w== dependencies: adm-zip "0.5.9" @@ -6453,7 +6458,7 @@ react-native-webrtc@^106.0.7: react-native-wheel-color-picker@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/react-native-wheel-color-picker/-/react-native-wheel-color-picker-1.2.0.tgz#56ba38fc57411edececb0fb6a8f049e91160b015" + resolved "https://registry.npmjs.org/react-native-wheel-color-picker/-/react-native-wheel-color-picker-1.2.0.tgz" integrity sha512-j4IcN7so9dZAkXyrPTTaPqCKsjkGBZkd5F7HqLo0OTRB1EZX3Ww5VMKsKjloxv6Omv193wGOhwfG20ec2KnxJQ== dependencies: react-native-elevation "^1.0.0" @@ -6761,7 +6766,7 @@ rimraf@~2.6.2: rn-fetch-blob@^0.12.0: version "0.12.0" - resolved "https://registry.yarnpkg.com/rn-fetch-blob/-/rn-fetch-blob-0.12.0.tgz#ec610d2f9b3f1065556b58ab9c106eeb256f3cba" + resolved "https://registry.npmjs.org/rn-fetch-blob/-/rn-fetch-blob-0.12.0.tgz" integrity sha512-+QnR7AsJ14zqpVVUbzbtAjq0iI8c9tCg49tIoKO2ezjzRunN7YL6zFSFSWZm6d+mE/l9r+OeDM3jmb2tBb2WbA== dependencies: base-64 "0.1.0" @@ -6890,7 +6895,7 @@ setprototypeof@1.2.0: shaka-player@^2.5.9: version "2.5.23" - resolved "https://registry.yarnpkg.com/shaka-player/-/shaka-player-2.5.23.tgz#db92d1c6cf2314f0180a2cec11b0e2f2560336f5" + resolved "https://registry.npmjs.org/shaka-player/-/shaka-player-2.5.23.tgz" integrity sha512-3MC9k0OXJGw8AZ4n/ZNCZS2yDxx+3as5KgH6Tx4Q5TRboTBBCu6dYPI5vp1DxKeyU12MBN1Zcbs7AKzXv2EnCg== dependencies: eme-encryption-scheme-polyfill "^2.0.1" @@ -7285,7 +7290,7 @@ supports-preserve-symlinks-flag@^1.0.0: tar@6.1.11: version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== dependencies: chownr "^2.0.0" @@ -7563,7 +7568,7 @@ use@^3.1.0: utf8@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + resolved "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz" integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== util-deprecate@^1.0.1, util-deprecate@~1.0.1: