react-native-rook-sdk 4.0.0 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +35 -3
- package/RNRookSdk.podspec +22 -0
- package/android/build.gradle +21 -40
- package/android/gradle.properties +5 -5
- package/android/src/main/AndroidManifest.xml +1 -2
- package/android/src/main/java/com/rooksdk/RookSdkModule.kt +1709 -117
- package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +26 -42
- package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +34 -37
- package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +8 -14
- package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +8 -16
- package/android/src/main/java/com/rooksdk/utils/{DatasourcesUtils.kt → DatasourceUtils.kt} +10 -9
- package/android/src/main/java/com/rooksdk/utils/{PermissionConversion.kt → PermissionConvertions.kt} +1 -1
- package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +0 -1
- package/android/src/main/java/com/rooksdk/utils/RookGsonBuilder.kt +3 -0
- package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +1 -0
- package/android/src/main/java/com/rooksdk/utils/serializers/InstantSerializer.kt +0 -1
- package/android/src/main/java/com/rooksdk/utils/serializers/ZoneDateTimeSerializer.kt +18 -0
- package/ios/DateHelper.swift +4 -4
- package/ios/Encodable.swift +25 -0
- package/ios/EncodableDataSource.swift +2 -3
- package/ios/EncodableDataSourceAuthorizer.swift +2 -3
- package/ios/EncodableSDKState.swift +3 -2
- package/ios/{EncodableHeartRate.swift → HearRateMapper.swift} +3 -3
- package/ios/NutritionMapper.swift +3 -3
- package/ios/RookBackground.swift +5 -8
- package/ios/RookConfiguration.swift +33 -30
- package/ios/{RookLocalData.swift → RookData.swift} +76 -69
- package/ios/RookEntry.swift +62 -0
- package/ios/RookPermissions.swift +36 -40
- package/ios/RookSdk-Bridging-Header.h +12 -0
- package/ios/RookSdk.h +3 -3
- package/ios/RookSdk.mm +390 -134
- package/ios/RookSources.swift +60 -54
- package/ios/RookSync.swift +48 -78
- package/ios/boost-boost_privacy-Bridging-Header.h +4 -0
- package/lib/{commonjs/types/AppleHealthPermissions.js → module/NativeRookSdk.js} +50 -6
- package/lib/module/NativeRookSdk.js.map +1 -0
- package/lib/module/context/RookSyncGateContext.js +2 -0
- package/lib/module/context/RookSyncGateContext.js.map +1 -1
- package/lib/module/context/RookSyncGateProvider.js +17 -18
- package/lib/module/context/RookSyncGateProvider.js.map +1 -1
- package/lib/module/context/RookSyncGateReducer.js +2 -0
- package/lib/module/context/RookSyncGateReducer.js.map +1 -1
- package/lib/module/context/RookSyncGateTypes.js +2 -0
- package/lib/module/hooks/useRookAPISources.js +10 -16
- package/lib/module/hooks/useRookAPISources.js.map +1 -1
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js +11 -12
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
- package/lib/module/hooks/useRookAppleHealth.js +9 -10
- package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
- package/lib/module/hooks/useRookConfiguration.js +17 -22
- package/lib/module/hooks/useRookConfiguration.js.map +1 -1
- package/lib/module/hooks/useRookData.js +33 -38
- package/lib/module/hooks/useRookData.js.map +1 -1
- package/lib/module/hooks/useRookHealthConnect.js +9 -10
- package/lib/module/hooks/useRookHealthConnect.js.map +1 -1
- package/lib/module/hooks/useRookPermissions.js +34 -45
- package/lib/module/hooks/useRookPermissions.js.map +1 -1
- package/lib/module/hooks/useRookSamsungHealth.js +8 -20
- package/lib/module/hooks/useRookSamsungHealth.js.map +1 -1
- package/lib/module/hooks/useRookSync.js +23 -32
- package/lib/module/hooks/useRookSync.js.map +1 -1
- package/lib/module/hooks/useRookVariables.js +26 -29
- package/lib/module/hooks/useRookVariables.js.map +1 -1
- package/lib/module/index.js +18 -10
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/components/RookStateManager.js +31 -0
- package/lib/module/modules/components/RookStateManager.js.map +1 -0
- package/lib/module/modules/hook/useRookAutoSync.js +24 -36
- package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
- package/lib/module/modules/hook/useRookEmitter.js +61 -0
- package/lib/module/modules/hook/useRookEmitter.js.map +1 -0
- package/lib/module/modules/types/sendMessageBroadcast.js +1 -1
- package/lib/module/modules/utils/errors.js +2 -0
- package/lib/module/modules/utils/errors.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/types/ActivityEvent.js +2 -0
- package/lib/module/types/AppleHealthNutritionEvent.js +2 -0
- package/lib/module/types/AppleHealthNutritionEvent.js.map +1 -1
- package/lib/module/types/AppleHealthPermissions.js +2 -0
- package/lib/module/types/AppleHealthPermissions.js.map +1 -1
- package/lib/module/types/AuthorizedSources.js +2 -0
- package/lib/module/types/BodySummary.js +2 -0
- package/lib/module/types/DataSource.js +2 -0
- package/lib/module/types/DataSource.js.map +1 -1
- package/lib/module/types/HCMealData.js +3 -1
- package/lib/module/types/HCMealData.js.map +1 -1
- package/lib/module/types/HeartRateEvent.js +1 -1
- package/lib/module/types/PermissionsType.js +1 -1
- package/lib/module/types/PhysicalSummary.js +2 -0
- package/lib/module/types/Rook.js +2 -0
- package/lib/{commonjs/types/BodySummary.js.map → module/types/Rook.js.map} +1 -1
- package/lib/module/types/SDKSources.js +2 -0
- package/lib/module/types/SDKSources.js.map +1 -1
- package/lib/module/types/SamsungHealthPermissions.js +3 -0
- package/lib/module/types/SamsungHealthPermissions.js.map +1 -1
- package/lib/module/types/SleepSummary.js +2 -0
- package/lib/module/types/SummaryTypes.js +1 -1
- package/lib/module/types/SyncTypes.js +2 -0
- package/lib/module/types/SyncTypes.js.map +1 -1
- package/lib/module/types/WriteNutrition.js +2 -0
- package/lib/module/types/WriteNutrition.js.map +1 -1
- package/lib/module/utils/isModuleReady.js +2 -0
- package/lib/module/utils/isModuleReady.js.map +1 -1
- package/lib/module/utils/isRunningOnAndroid.js +2 -0
- package/lib/module/utils/isRunningOnAndroid.js.map +1 -1
- package/lib/module/utils/isRunningOniOS.js +2 -0
- package/lib/module/utils/isRunningOniOS.js.map +1 -1
- package/lib/module/utils/isValidDate.js +2 -0
- package/lib/module/utils/isValidDate.js.map +1 -1
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NativeRookSdk.d.ts +705 -0
- package/lib/typescript/src/NativeRookSdk.d.ts.map +1 -0
- package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -1
- package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
- package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAPISources.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts +1 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookData.d.ts +1 -1
- package/lib/typescript/src/hooks/useRookData.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookHealthConnect.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookPermissions.d.ts +1 -1
- package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts +0 -6
- package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookSync.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookVariables.d.ts +1 -1
- package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +18 -8
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/modules/components/RookStateManager.d.ts +10 -0
- package/lib/typescript/src/modules/components/RookStateManager.d.ts.map +1 -0
- package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
- package/lib/typescript/src/modules/hook/useRookEmitter.d.ts +4 -0
- package/lib/typescript/src/modules/hook/useRookEmitter.d.ts.map +1 -0
- package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts.map +1 -1
- package/lib/typescript/src/types/AuthorizedSources.d.ts +11 -0
- package/lib/typescript/src/types/AuthorizedSources.d.ts.map +1 -1
- package/lib/typescript/src/types/HCMealData.d.ts.map +1 -1
- package/lib/typescript/src/types/HeartRateEvent.d.ts +2 -2
- package/lib/typescript/src/types/HeartRateEvent.d.ts.map +1 -1
- package/lib/typescript/src/types/Rook.d.ts +9 -0
- package/lib/typescript/src/types/Rook.d.ts.map +1 -0
- package/lib/typescript/src/types/SamsungHealthPermissions.d.ts +1 -0
- package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -1
- package/lib/typescript/src/types/SyncTypes.d.ts +5 -1
- package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
- package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
- package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
- package/package.json +94 -98
- package/src/NativeRookSdk.ts +839 -0
- package/{lib/commonjs/context/RookSyncGateContext.js → src/context/RookSyncGateContext.ts} +10 -13
- package/src/context/RookSyncGateProvider.tsx +82 -0
- package/{lib/commonjs/context/RookSyncGateReducer.js → src/context/RookSyncGateReducer.ts} +14 -41
- package/src/context/RookSyncGateTypes.ts +40 -0
- package/{lib/commonjs/hooks/useRookAPISources.js → src/hooks/useRookAPISources.ts} +40 -36
- package/src/hooks/useRookAndroidBackgroundSteps.ts +81 -0
- package/src/hooks/useRookAppleHealth.ts +55 -0
- package/src/hooks/useRookConfiguration.ts +106 -0
- package/src/hooks/useRookData.ts +133 -0
- package/src/hooks/useRookHealthConnect.ts +59 -0
- package/src/hooks/useRookPermissions.ts +240 -0
- package/src/hooks/useRookSamsungHealth.ts +37 -0
- package/src/hooks/useRookSync.ts +157 -0
- package/src/hooks/useRookVariables.ts +98 -0
- package/src/index.tsx +29 -0
- package/src/modules/components/RookStateManager.tsx +41 -0
- package/{lib/commonjs/modules/hook/useRookAutoSync.js → src/modules/hook/useRookAutoSync.ts} +141 -95
- package/src/modules/hook/useRookEmitter.ts +94 -0
- package/src/modules/types/sendMessageBroadcast.ts +5 -0
- package/src/modules/utils/errors.ts +9 -0
- package/src/types/ActivityEvent.ts +159 -0
- package/src/types/AppleHealthNutritionEvent.ts +142 -0
- package/src/types/AppleHealthPermissions.ts +49 -0
- package/src/types/AuthorizedSources.ts +33 -0
- package/src/types/BodySummary.ts +116 -0
- package/src/types/DataSource.ts +16 -0
- package/{lib/commonjs/types/HCMealData.js → src/types/HCMealData.ts} +60 -11
- package/src/types/HeartRateEvent.ts +26 -0
- package/src/types/PermissionsType.ts +9 -0
- package/src/types/PhysicalSummary.ts +84 -0
- package/src/types/Rook.ts +8 -0
- package/src/types/SDKSources.ts +5 -0
- package/src/types/SamsungHealthPermissions.ts +16 -0
- package/src/types/SleepSummary.ts +66 -0
- package/src/types/SummaryTypes.ts +70 -0
- package/src/types/SyncTypes.ts +63 -0
- package/src/types/WriteNutrition.ts +66 -0
- package/{lib/commonjs/utils/isModuleReady.js → src/utils/isModuleReady.ts} +4 -10
- package/src/utils/isRunningOnAndroid.ts +10 -0
- package/src/utils/isRunningOniOS.ts +10 -0
- package/{lib/commonjs/utils/isValidDate.js → src/utils/isValidDate.ts} +12 -14
- package/android/src/main/AndroidManifestNew.xml +0 -36
- package/android/src/main/java/com/rooksdk/modules/RookBackgroundSyncModule.kt +0 -99
- package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +0 -182
- package/android/src/main/java/com/rooksdk/modules/RookLocalData.kt +0 -301
- package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +0 -359
- package/android/src/main/java/com/rooksdk/modules/RookSourcesModule.kt +0 -102
- package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +0 -119
- package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +0 -551
- package/android/src/main/res/drawable/ic_health_connect.xml +0 -19
- package/android/src/main/res/values/themes.xml +0 -3
- package/ios/EncodableRookDataSource.swift +0 -36
- package/ios/EncodableStatusDataSources.swift +0 -47
- package/ios/RookBackgroundModule.h +0 -5
- package/ios/RookBackgroundModule.mm +0 -15
- package/ios/RookConfigurationModule.h +0 -5
- package/ios/RookConfigurationModule.mm +0 -22
- package/ios/RookExternalModule.h +0 -5
- package/ios/RookExternalModule.m +0 -31
- package/ios/RookPermissionsModule.h +0 -5
- package/ios/RookPermissionsModule.mm +0 -20
- package/ios/RookSourcesModule.h +0 -5
- package/ios/RookSourcesModule.mm +0 -18
- package/ios/RookSync.h +0 -5
- package/ios/RookSync.m +0 -35
- package/ios/SwiftTest.swift +0 -18
- package/ios/react-native-rook-sdk-Bridging-Header.h +0 -12
- package/lib/commonjs/context/RookSyncGateContext.js.map +0 -1
- package/lib/commonjs/context/RookSyncGateProvider.js +0 -108
- package/lib/commonjs/context/RookSyncGateProvider.js.map +0 -1
- package/lib/commonjs/context/RookSyncGateReducer.js.map +0 -1
- package/lib/commonjs/context/RookSyncGateTypes.js +0 -6
- package/lib/commonjs/context/RookSyncGateTypes.js.map +0 -1
- package/lib/commonjs/context/index.js +0 -14
- package/lib/commonjs/context/index.js.map +0 -1
- package/lib/commonjs/hooks/index.js +0 -76
- package/lib/commonjs/hooks/index.js.map +0 -1
- package/lib/commonjs/hooks/useRookAPISources.js.map +0 -1
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +0 -88
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +0 -1
- package/lib/commonjs/hooks/useRookAppleHealth.js +0 -63
- package/lib/commonjs/hooks/useRookAppleHealth.js.map +0 -1
- package/lib/commonjs/hooks/useRookConfiguration.js +0 -113
- package/lib/commonjs/hooks/useRookConfiguration.js.map +0 -1
- package/lib/commonjs/hooks/useRookData.js +0 -116
- package/lib/commonjs/hooks/useRookData.js.map +0 -1
- package/lib/commonjs/hooks/useRookHealthConnect.js +0 -70
- package/lib/commonjs/hooks/useRookHealthConnect.js.map +0 -1
- package/lib/commonjs/hooks/useRookPermissions.js +0 -211
- package/lib/commonjs/hooks/useRookPermissions.js.map +0 -1
- package/lib/commonjs/hooks/useRookSamsungHealth.js +0 -54
- package/lib/commonjs/hooks/useRookSamsungHealth.js.map +0 -1
- package/lib/commonjs/hooks/useRookSync.js +0 -148
- package/lib/commonjs/hooks/useRookSync.js.map +0 -1
- package/lib/commonjs/hooks/useRookVariables.js +0 -93
- package/lib/commonjs/hooks/useRookVariables.js.map +0 -1
- package/lib/commonjs/index.js +0 -121
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/modules/hook/useRookAutoSync.js.map +0 -1
- package/lib/commonjs/modules/types/sendMessageBroadcast.js +0 -2
- package/lib/commonjs/modules/types/sendMessageBroadcast.js.map +0 -1
- package/lib/commonjs/modules/utils/errors.js +0 -12
- package/lib/commonjs/modules/utils/errors.js.map +0 -1
- package/lib/commonjs/types/ActivityEvent.js +0 -6
- package/lib/commonjs/types/ActivityEvent.js.map +0 -1
- package/lib/commonjs/types/AppleHealthNutritionEvent.js +0 -77
- package/lib/commonjs/types/AppleHealthNutritionEvent.js.map +0 -1
- package/lib/commonjs/types/AppleHealthPermissions.js.map +0 -1
- package/lib/commonjs/types/AuthorizedSources.js +0 -6
- package/lib/commonjs/types/AuthorizedSources.js.map +0 -1
- package/lib/commonjs/types/BodySummary.js +0 -6
- package/lib/commonjs/types/DataSource.js +0 -16
- package/lib/commonjs/types/DataSource.js.map +0 -1
- package/lib/commonjs/types/DiagnosticState.js +0 -2
- package/lib/commonjs/types/DiagnosticState.js.map +0 -1
- package/lib/commonjs/types/HCMealData.js.map +0 -1
- package/lib/commonjs/types/HeartRateEvent.js +0 -2
- package/lib/commonjs/types/HeartRateEvent.js.map +0 -1
- package/lib/commonjs/types/PermissionsType.js +0 -2
- package/lib/commonjs/types/PermissionsType.js.map +0 -1
- package/lib/commonjs/types/PhysicalSummary.js +0 -6
- package/lib/commonjs/types/PhysicalSummary.js.map +0 -1
- package/lib/commonjs/types/SDKSources.js +0 -13
- package/lib/commonjs/types/SDKSources.js.map +0 -1
- package/lib/commonjs/types/SamsungHealthPermissions.js +0 -23
- package/lib/commonjs/types/SamsungHealthPermissions.js.map +0 -1
- package/lib/commonjs/types/SleepSummary.js +0 -6
- package/lib/commonjs/types/SleepSummary.js.map +0 -1
- package/lib/commonjs/types/SummaryTypes.js +0 -2
- package/lib/commonjs/types/SummaryTypes.js.map +0 -1
- package/lib/commonjs/types/SyncTypes.js +0 -33
- package/lib/commonjs/types/SyncTypes.js.map +0 -1
- package/lib/commonjs/types/WriteNutrition.js +0 -18
- package/lib/commonjs/types/WriteNutrition.js.map +0 -1
- package/lib/commonjs/utils/getNativeModule.js +0 -29
- package/lib/commonjs/utils/getNativeModule.js.map +0 -1
- package/lib/commonjs/utils/getRookModule.js +0 -28
- package/lib/commonjs/utils/getRookModule.js.map +0 -1
- package/lib/commonjs/utils/isModuleReady.js.map +0 -1
- package/lib/commonjs/utils/isRunningOnAndroid.js +0 -15
- package/lib/commonjs/utils/isRunningOnAndroid.js.map +0 -1
- package/lib/commonjs/utils/isRunningOniOS.js +0 -15
- package/lib/commonjs/utils/isRunningOniOS.js.map +0 -1
- package/lib/commonjs/utils/isValidDate.js.map +0 -1
- package/lib/commonjs/utils/nativeModules.js +0 -29
- package/lib/commonjs/utils/nativeModules.js.map +0 -1
- package/lib/commonjs/utils/packageInfo.js +0 -13
- package/lib/commonjs/utils/packageInfo.js.map +0 -1
- package/lib/module/context/index.js +0 -2
- package/lib/module/context/index.js.map +0 -1
- package/lib/module/hooks/index.js +0 -11
- package/lib/module/hooks/index.js.map +0 -1
- package/lib/module/types/DiagnosticState.js +0 -2
- package/lib/module/types/DiagnosticState.js.map +0 -1
- package/lib/module/utils/getNativeModule.js +0 -23
- package/lib/module/utils/getNativeModule.js.map +0 -1
- package/lib/module/utils/getRookModule.js +0 -22
- package/lib/module/utils/getRookModule.js.map +0 -1
- package/lib/module/utils/nativeModules.js +0 -23
- package/lib/module/utils/nativeModules.js.map +0 -1
- package/lib/module/utils/packageInfo.js +0 -7
- package/lib/module/utils/packageInfo.js.map +0 -1
- package/lib/typescript/src/context/index.d.ts +0 -2
- package/lib/typescript/src/context/index.d.ts.map +0 -1
- package/lib/typescript/src/hooks/index.d.ts +0 -11
- package/lib/typescript/src/hooks/index.d.ts.map +0 -1
- package/lib/typescript/src/types/DiagnosticState.d.ts +0 -13
- package/lib/typescript/src/types/DiagnosticState.d.ts.map +0 -1
- package/lib/typescript/src/utils/getNativeModule.d.ts +0 -10
- package/lib/typescript/src/utils/getNativeModule.d.ts.map +0 -1
- package/lib/typescript/src/utils/getRookModule.d.ts +0 -9
- package/lib/typescript/src/utils/getRookModule.d.ts.map +0 -1
- package/lib/typescript/src/utils/nativeModules.d.ts +0 -24
- package/lib/typescript/src/utils/nativeModules.d.ts.map +0 -1
- package/lib/typescript/src/utils/packageInfo.d.ts +0 -6
- package/lib/typescript/src/utils/packageInfo.d.ts.map +0 -1
- package/react-native-rook-sdk.podspec +0 -45
|
@@ -1,49 +1,33 @@
|
|
|
1
1
|
package com.rooksdk
|
|
2
2
|
|
|
3
|
-
import com.facebook.react.
|
|
3
|
+
import com.facebook.react.BaseReactPackage
|
|
4
4
|
import com.facebook.react.bridge.NativeModule
|
|
5
5
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
|
-
import com.facebook.react.
|
|
7
|
-
import com.
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class RookSdkPackage : ReactPackage {
|
|
20
|
-
private var rookConfigurationManager: RookConfigurationManager? = null
|
|
21
|
-
private var rookSamsung: RookSamsung? = null
|
|
22
|
-
private var rookApiSources: RookApiSources? = null
|
|
23
|
-
|
|
24
|
-
override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
|
|
25
|
-
if (rookConfigurationManager == null)
|
|
26
|
-
rookConfigurationManager = RookConfigurationManager(reactContext)
|
|
27
|
-
|
|
28
|
-
if (rookSamsung == null)
|
|
29
|
-
rookSamsung = RookSamsung(reactContext)
|
|
30
|
-
|
|
31
|
-
if (rookApiSources == null)
|
|
32
|
-
rookApiSources = RookApiSources(reactContext)
|
|
33
|
-
|
|
34
|
-
return listOf(
|
|
35
|
-
RookSdkModule(reactContext, rookConfigurationManager!!, rookSamsung!!, rookApiSources!!),
|
|
36
|
-
RookPermissionsModule(reactContext, rookSamsung!!),
|
|
37
|
-
RookConfigurationModule(reactContext, rookConfigurationManager!!, rookSamsung!!),
|
|
38
|
-
RookSyncModule(reactContext, rookSamsung!!),
|
|
39
|
-
RookBackgroundSyncModule(reactContext),
|
|
40
|
-
RookStepsModule(reactContext),
|
|
41
|
-
RookLocalData(reactContext, rookSamsung!!),
|
|
42
|
-
RookSourcesModule(reactContext),
|
|
43
|
-
)
|
|
44
|
-
}
|
|
6
|
+
import com.facebook.react.module.model.ReactModuleInfo
|
|
7
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider
|
|
8
|
+
import java.util.HashMap
|
|
9
|
+
|
|
10
|
+
class RookSdkPackage : BaseReactPackage() {
|
|
11
|
+
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
|
12
|
+
return if (name == RookSdkModule.NAME) {
|
|
13
|
+
RookSdkModule(reactContext)
|
|
14
|
+
} else {
|
|
15
|
+
null
|
|
16
|
+
}
|
|
17
|
+
}
|
|
45
18
|
|
|
46
|
-
override fun
|
|
47
|
-
return
|
|
19
|
+
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
|
|
20
|
+
return ReactModuleInfoProvider {
|
|
21
|
+
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
|
|
22
|
+
moduleInfos[RookSdkModule.NAME] = ReactModuleInfo(
|
|
23
|
+
RookSdkModule.NAME,
|
|
24
|
+
RookSdkModule.NAME,
|
|
25
|
+
canOverrideExistingModule = false, // canOverrideExistingModule
|
|
26
|
+
needsEagerInit = false, // needsEagerInit
|
|
27
|
+
isCxxModule = false, // isCxxModule
|
|
28
|
+
isTurboModule = true // isTurboModule
|
|
29
|
+
)
|
|
30
|
+
moduleInfos
|
|
31
|
+
}
|
|
48
32
|
}
|
|
49
33
|
}
|
package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt
CHANGED
|
@@ -5,7 +5,7 @@ import android.content.Context
|
|
|
5
5
|
import android.content.Intent
|
|
6
6
|
import com.facebook.react.bridge.Arguments
|
|
7
7
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
-
import com.facebook.react.
|
|
8
|
+
import com.facebook.react.bridge.ReadableMap
|
|
9
9
|
import com.rookmotion.rook.sdk.RookPermissionsManager
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -14,9 +14,10 @@ import com.rookmotion.rook.sdk.RookPermissionsManager
|
|
|
14
14
|
* It listens for a broadcast containing permission status, then emits a corresponding event to JavaScript.
|
|
15
15
|
*/
|
|
16
16
|
class AndroidPermissionsReceiverTransmitter: BroadcastReceiver() {
|
|
17
|
+
var onActionReceived: ((ReadableMap) -> Unit)? = null
|
|
17
18
|
private var reactApplicationContext: ReactApplicationContext? = null
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
/**
|
|
20
21
|
* This method is called when a broadcast is received.
|
|
21
22
|
* It checks whether the broadcast includes the permission status and emits an event to the React Native
|
|
22
23
|
* JavaScript layer with the results.
|
|
@@ -24,42 +25,38 @@ class AndroidPermissionsReceiverTransmitter: BroadcastReceiver() {
|
|
|
24
25
|
* @param context The context in which the receiver is running.
|
|
25
26
|
* @param intent The intent containing permission-related data.
|
|
26
27
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
28
|
+
override fun onReceive(context: Context?, intent: Intent?) {
|
|
29
|
+
val permissionsGranted = intent?.getBooleanExtra(
|
|
30
|
+
/* name = */ RookPermissionsManager.EXTRA_ANDROID_PERMISSIONS_GRANTED,
|
|
31
|
+
/* defaultValue = */ false
|
|
32
|
+
) ?: false
|
|
33
|
+
|
|
34
|
+
val dialogDisplayed = intent?.getBooleanExtra(
|
|
35
|
+
RookPermissionsManager.EXTRA_ANDROID_PERMISSIONS_DIALOG_DISPLAYED,
|
|
36
|
+
false
|
|
37
|
+
) ?: false
|
|
38
|
+
|
|
39
|
+
if (reactApplicationContext == null || reactApplicationContext?.hasReactInstance() == false)
|
|
40
|
+
return
|
|
41
|
+
|
|
42
|
+
val events = listOf(
|
|
43
|
+
"ROOK_BACKGROUND_ANDROID_PERMISSIONS" to permissionsGranted,
|
|
44
|
+
"ROOK_BACKGROUND_ANDROID_PERMISSIONS_DIALOG_DISPLAYED" to dialogDisplayed
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
events.forEach { (type, value) ->
|
|
48
|
+
Arguments.createMap().apply {
|
|
49
|
+
putString("type", type)
|
|
50
|
+
putBoolean("value", value)
|
|
51
|
+
onActionReceived?.invoke(this)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
* @param context The ReactApplicationContext provided by React Native.
|
|
60
|
-
*/
|
|
61
|
-
fun setReactApplicationContext(context: ReactApplicationContext) {
|
|
62
|
-
this.reactApplicationContext = context
|
|
56
|
+
fun setConfig(ctx: ReactApplicationContext, emit: (ReadableMap) -> Unit) {
|
|
57
|
+
this.reactApplicationContext = ctx
|
|
58
|
+
this.onActionReceived = emit
|
|
63
59
|
}
|
|
64
60
|
|
|
65
61
|
}
|
|
62
|
+
|
package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt
CHANGED
|
@@ -5,7 +5,7 @@ import android.content.Context
|
|
|
5
5
|
import android.content.Intent
|
|
6
6
|
import com.facebook.react.bridge.Arguments
|
|
7
7
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
-
import com.facebook.react.
|
|
8
|
+
import com.facebook.react.bridge.ReadableMap
|
|
9
9
|
import com.rookmotion.rook.sdk.RookPermissionsManager
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -14,6 +14,7 @@ import com.rookmotion.rook.sdk.RookPermissionsManager
|
|
|
14
14
|
* It listens for a broadcast containing permission status, then emits a corresponding event to JavaScript.
|
|
15
15
|
*/
|
|
16
16
|
class HealthConnectPermissionsReceiverTransmitter: BroadcastReceiver() {
|
|
17
|
+
var onActionReceived: ((ReadableMap) -> Unit)? = null
|
|
17
18
|
private var reactApplicationContext: ReactApplicationContext? = null
|
|
18
19
|
|
|
19
20
|
/**
|
|
@@ -40,31 +41,24 @@ class HealthConnectPermissionsReceiverTransmitter: BroadcastReceiver() {
|
|
|
40
41
|
false
|
|
41
42
|
) ?: false
|
|
42
43
|
|
|
43
|
-
reactApplicationContext?.also { reactContext ->
|
|
44
44
|
val events = listOf(
|
|
45
45
|
"ROOK_HEALTH_CONNECT_PERMISSIONS" to permissionsGranted,
|
|
46
46
|
"ROOK_HEALTH_CONNECT_PERMISSIONS_PARTIALLY_GRANTED" to partiallyGranted,
|
|
47
47
|
"ROOK_HEALTH_CONNECT_BACKGROUND_PERMISSIONS" to backgroundReadStatus,
|
|
48
48
|
)
|
|
49
49
|
|
|
50
|
-
val emitter = reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
51
|
-
|
|
52
50
|
events.forEach { (type, value) ->
|
|
53
51
|
Arguments.createMap().apply {
|
|
54
52
|
putString("type", type)
|
|
55
53
|
putBoolean("value", value)
|
|
56
|
-
|
|
54
|
+
onActionReceived?.invoke(this)
|
|
57
55
|
}
|
|
58
56
|
}
|
|
59
57
|
}
|
|
60
|
-
}
|
|
61
58
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
*/
|
|
67
|
-
fun setReactApplicationContext(context: ReactApplicationContext) {
|
|
68
|
-
this.reactApplicationContext = context
|
|
59
|
+
fun setConfig(ctx: ReactApplicationContext,emit: (ReadableMap) -> Unit) {
|
|
60
|
+
this.reactApplicationContext = ctx
|
|
61
|
+
this.onActionReceived = emit
|
|
62
|
+
}
|
|
69
63
|
}
|
|
70
|
-
|
|
64
|
+
|
package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt
CHANGED
|
@@ -5,21 +5,12 @@ import android.content.Context
|
|
|
5
5
|
import android.content.Intent
|
|
6
6
|
import com.facebook.react.bridge.Arguments
|
|
7
7
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
-
import com.facebook.react.
|
|
8
|
+
import com.facebook.react.bridge.ReadableMap
|
|
9
9
|
import io.tryrook.sdk.samsung.domain.enums.SamsungHealthPermission
|
|
10
|
-
|
|
11
10
|
class SamsungHealthPermissionsReceiverTransmitter: BroadcastReceiver() {
|
|
11
|
+
var onActionReceived: ((ReadableMap) -> Unit)? = null
|
|
12
12
|
private var reactApplicationContext: ReactApplicationContext? = null
|
|
13
13
|
|
|
14
|
-
/**
|
|
15
|
-
* Sets the ReactApplicationContext to be used for emitting events to the React Native side.
|
|
16
|
-
*
|
|
17
|
-
* @param context The ReactApplicationContext provided by React Native.
|
|
18
|
-
*/
|
|
19
|
-
fun setReactApplicationContext(context: ReactApplicationContext) {
|
|
20
|
-
this.reactApplicationContext = context
|
|
21
|
-
}
|
|
22
|
-
|
|
23
14
|
override fun onReceive(conext: Context?, intent: Intent?) {
|
|
24
15
|
val allPermissionsGranted = intent?.getBooleanExtra(
|
|
25
16
|
/* name = */ SamsungHealthPermission.EXTRA_SAMSUNG_HEALTH_PERMISSIONS_GRANTED,
|
|
@@ -31,22 +22,23 @@ class SamsungHealthPermissionsReceiverTransmitter: BroadcastReceiver() {
|
|
|
31
22
|
/* defaultValue = */ false
|
|
32
23
|
) ?: false
|
|
33
24
|
|
|
34
|
-
reactApplicationContext?.also { reactContext ->
|
|
35
25
|
val events = listOf(
|
|
36
26
|
"ROOK_SAMSUNG_HEALTH_PERMISSIONS" to allPermissionsGranted,
|
|
37
27
|
"ROOK_SAMSUNG_HEALTH_PERMISSIONS_PARTIALLY_GRANTED" to permissionsPartiallyGranted,
|
|
38
28
|
)
|
|
39
29
|
|
|
40
|
-
val emitter = reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
41
|
-
|
|
42
30
|
events.forEach { (type, value) ->
|
|
43
31
|
Arguments.createMap().apply {
|
|
44
32
|
putString("type", type)
|
|
45
33
|
putBoolean("value", value)
|
|
46
|
-
|
|
34
|
+
onActionReceived?.invoke(this)
|
|
47
35
|
}
|
|
48
36
|
}
|
|
49
|
-
|
|
37
|
+
}
|
|
50
38
|
|
|
39
|
+
fun setConfig(ctx: ReactApplicationContext, emit: (ReadableMap) -> Unit) {
|
|
40
|
+
this.reactApplicationContext = ctx
|
|
41
|
+
this.onActionReceived = emit
|
|
51
42
|
}
|
|
52
43
|
}
|
|
44
|
+
|
|
@@ -3,7 +3,7 @@ package com.rooksdk.utils
|
|
|
3
3
|
import com.facebook.react.bridge.ReadableArray
|
|
4
4
|
import io.tryrook.api.sources.domain.enums.DataSourceType
|
|
5
5
|
|
|
6
|
-
object
|
|
6
|
+
object DatasourceUtils {
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Maps a data source string to its corresponding DataSourceType enum.
|
|
@@ -12,7 +12,7 @@ object DatasourcesUtils {
|
|
|
12
12
|
*/
|
|
13
13
|
fun mapToDataSourceType(source: String): DataSourceType? {
|
|
14
14
|
return try {
|
|
15
|
-
DataSourceType.valueOf(source)
|
|
15
|
+
DataSourceType.valueOf(source.uppercase())
|
|
16
16
|
} catch (e: IllegalArgumentException) {
|
|
17
17
|
null
|
|
18
18
|
}
|
|
@@ -22,13 +22,14 @@ object DatasourcesUtils {
|
|
|
22
22
|
val rawList = sources.toArrayList()
|
|
23
23
|
|
|
24
24
|
return rawList
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
25
|
+
.mapNotNull { it as? String }
|
|
26
|
+
.mapNotNull {
|
|
27
|
+
try {
|
|
28
|
+
Source.valueOf(it)
|
|
29
|
+
} catch (e: IllegalArgumentException) {
|
|
30
|
+
null
|
|
32
31
|
}
|
|
32
|
+
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
+
|
package/android/src/main/java/com/rooksdk/utils/{PermissionConversion.kt → PermissionConvertions.kt}
RENAMED
|
@@ -5,7 +5,7 @@ import io.tryrook.sdk.samsung.domain.enums.SamsungHealthPermission
|
|
|
5
5
|
|
|
6
6
|
object PermissionConversion {
|
|
7
7
|
|
|
8
|
-
fun parseSamsungPermissions(rawPermissions: ReadableArray): Set<SamsungHealthPermission> {
|
|
8
|
+
fun parseSamsungPermissions(rawPermissions: ReadableArray): Set<SamsungHealthPermission> {
|
|
9
9
|
val rawList = rawPermissions.toArrayList()
|
|
10
10
|
|
|
11
11
|
return rawList
|
|
@@ -4,14 +4,17 @@ import com.google.gson.Gson
|
|
|
4
4
|
import com.google.gson.GsonBuilder
|
|
5
5
|
import com.rooksdk.utils.serializers.InstantSerializer
|
|
6
6
|
import com.rooksdk.utils.serializers.LocalDateSerializer
|
|
7
|
+
import com.rooksdk.utils.serializers.ZonedDateTimeAdapter
|
|
7
8
|
import java.time.Instant
|
|
8
9
|
import java.time.LocalDate
|
|
10
|
+
import java.time.ZonedDateTime
|
|
9
11
|
|
|
10
12
|
object RookGsonBuilder {
|
|
11
13
|
fun getGsonBuilder(): Gson {
|
|
12
14
|
return GsonBuilder()
|
|
13
15
|
.registerTypeAdapter(Instant::class.java, InstantSerializer())
|
|
14
16
|
.registerTypeAdapter(LocalDate::class.java, LocalDateSerializer())
|
|
17
|
+
.registerTypeAdapter(ZonedDateTime::class.java, ZonedDateTimeAdapter())
|
|
15
18
|
.create()
|
|
16
19
|
}
|
|
17
20
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
package com.rooksdk.utils.serializers
|
|
2
|
+
|
|
3
|
+
import com.google.gson.*
|
|
4
|
+
import java.lang.reflect.Type
|
|
5
|
+
import java.time.ZonedDateTime
|
|
6
|
+
import java.time.format.DateTimeFormatter
|
|
7
|
+
|
|
8
|
+
class ZonedDateTimeAdapter : JsonSerializer<ZonedDateTime>, JsonDeserializer<ZonedDateTime> {
|
|
9
|
+
private val formatter = DateTimeFormatter.ISO_ZONED_DATE_TIME
|
|
10
|
+
|
|
11
|
+
override fun serialize(src: ZonedDateTime, typeOfSrc: Type, context: JsonSerializationContext): JsonElement {
|
|
12
|
+
return JsonPrimitive(formatter.format(src))
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): ZonedDateTime {
|
|
16
|
+
return ZonedDateTime.parse(json.asString, formatter)
|
|
17
|
+
}
|
|
18
|
+
}
|
package/ios/DateHelper.swift
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
2
|
+
// File.swift
|
|
3
|
+
// RNRookSdk
|
|
4
4
|
//
|
|
5
|
-
// Created by Javier Villanueva on
|
|
5
|
+
// Created by Javier Villanueva on 18/12/25.
|
|
6
6
|
//
|
|
7
7
|
|
|
8
8
|
import Foundation
|
|
@@ -16,7 +16,7 @@ struct DateHelper: DateHelperProtocol {
|
|
|
16
16
|
|
|
17
17
|
private static let dateISOFormatterDateLocal: DateFormatter = {
|
|
18
18
|
let dateFormatter = DateFormatter()
|
|
19
|
-
dateFormatter.locale = Locale(identifier:
|
|
19
|
+
dateFormatter.locale = Locale(identifier: Locale.preferredLanguages[0])
|
|
20
20
|
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"
|
|
21
21
|
return dateFormatter
|
|
22
22
|
}()
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Encodable.swift
|
|
3
|
+
// RNRookSdk
|
|
4
|
+
//
|
|
5
|
+
// Created by Javier Villanueva on 17/12/25.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
extension Encodable {
|
|
9
|
+
func toDictionary() -> [String: Any] {
|
|
10
|
+
let encoder = JSONEncoder()
|
|
11
|
+
|
|
12
|
+
let dateFormatter = DateFormatter()
|
|
13
|
+
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
|
|
14
|
+
|
|
15
|
+
encoder.dateEncodingStrategy = .formatted(dateFormatter)
|
|
16
|
+
|
|
17
|
+
guard let data = try? encoder.encode(self),
|
|
18
|
+
let dictionary = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String: Any]
|
|
19
|
+
else {
|
|
20
|
+
return [:]
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return dictionary
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
//
|
|
2
2
|
// EncodableDataSource.swift
|
|
3
|
-
//
|
|
3
|
+
// RNRookSdk
|
|
4
4
|
//
|
|
5
|
-
// Created by Javier Villanueva on
|
|
5
|
+
// Created by Javier Villanueva on 17/12/25.
|
|
6
6
|
//
|
|
7
7
|
|
|
8
|
-
import Foundation
|
|
9
8
|
import RookSDK
|
|
10
9
|
|
|
11
10
|
struct EncodableDataSource: Encodable {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
//
|
|
2
2
|
// EncodableSDKState.swift
|
|
3
|
-
//
|
|
3
|
+
// RNRookSdk
|
|
4
4
|
//
|
|
5
|
-
// Created by Javier Villanueva on
|
|
5
|
+
// Created by Javier Villanueva on 07/04/26.
|
|
6
6
|
//
|
|
7
7
|
|
|
8
|
+
import Foundation
|
|
8
9
|
import RookSDK
|
|
9
10
|
|
|
10
11
|
private struct DateTransformer {
|
package/ios/RookBackground.swift
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
2
|
+
// File.swift
|
|
3
|
+
// RNRookSdk
|
|
4
4
|
//
|
|
5
|
-
// Created by Javier Villanueva on
|
|
5
|
+
// Created by Javier Villanueva on 17/12/25.
|
|
6
6
|
//
|
|
7
7
|
|
|
8
8
|
import RookSDK
|
|
9
|
+
import React
|
|
9
10
|
|
|
10
|
-
@
|
|
11
|
-
public class RookBackground: NSObject {
|
|
11
|
+
@objcMembers public class RookBackground: NSObject {
|
|
12
12
|
|
|
13
|
-
@objc(enableBackGroundUpdates:reject:)
|
|
14
13
|
public func enableBackGroundUpdates(
|
|
15
14
|
_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
16
15
|
) {
|
|
@@ -18,7 +17,6 @@ public class RookBackground: NSObject {
|
|
|
18
17
|
resolve(true)
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
@objc(disableBackGroundUpdates:reject:)
|
|
22
20
|
public func disableBackGroundUpdates(
|
|
23
21
|
_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
24
22
|
){
|
|
@@ -26,7 +24,6 @@ public class RookBackground: NSObject {
|
|
|
26
24
|
resolve(true)
|
|
27
25
|
}
|
|
28
26
|
|
|
29
|
-
@objc(isBackgroundUpdatesEnabled:reject:)
|
|
30
27
|
public func isBackgroundUpdatesEnabled(
|
|
31
28
|
_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
32
29
|
) {
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
2
|
+
// File.swift
|
|
3
|
+
// RNRookSdk
|
|
4
4
|
//
|
|
5
|
-
// Created by Javier Villanueva on
|
|
5
|
+
// Created by Javier Villanueva on 17/12/25.
|
|
6
6
|
//
|
|
7
|
+
|
|
8
|
+
import React
|
|
7
9
|
import RookSDK
|
|
8
10
|
|
|
9
|
-
@
|
|
10
|
-
public class RookConfiguration: NSObject {
|
|
11
|
-
|
|
11
|
+
@objcMembers public class RookConfiguration: NSObject {
|
|
12
12
|
lazy var userManager: UserManager = {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
@objc(getUserID:reject:)
|
|
13
|
+
return UserManager()
|
|
14
|
+
}()
|
|
15
|
+
|
|
17
16
|
public func getUserID(
|
|
18
17
|
_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
19
18
|
) {
|
|
@@ -30,13 +29,14 @@ public class RookConfiguration: NSObject {
|
|
|
30
29
|
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
31
30
|
}
|
|
32
31
|
} else {
|
|
33
|
-
|
|
32
|
+
DispatchQueue.main.async {
|
|
33
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
34
|
+
}
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
-
@objc(updateUserID:resolve:reject:)
|
|
39
|
+
|
|
40
40
|
public func updateUserID(
|
|
41
41
|
_ userID: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
42
42
|
){
|
|
@@ -55,13 +55,14 @@ public class RookConfiguration: NSObject {
|
|
|
55
55
|
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
56
56
|
}
|
|
57
57
|
} else {
|
|
58
|
-
|
|
58
|
+
DispatchQueue.main.async {
|
|
59
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
60
|
+
}
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
|
-
|
|
64
|
-
@objc(removeUserFromRook:reject:)
|
|
65
|
+
|
|
65
66
|
public func removeUserFromRook(
|
|
66
67
|
_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
67
68
|
) {
|
|
@@ -79,13 +80,14 @@ public class RookConfiguration: NSObject {
|
|
|
79
80
|
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
80
81
|
}
|
|
81
82
|
} else {
|
|
82
|
-
|
|
83
|
+
DispatchQueue.main.async {
|
|
84
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
85
|
+
}
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
88
|
}
|
|
86
89
|
}
|
|
87
|
-
|
|
88
|
-
@objc(syncUserTimeZone:reject:)
|
|
90
|
+
|
|
89
91
|
public func syncUserTimeZone(
|
|
90
92
|
_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
91
93
|
){
|
|
@@ -104,23 +106,24 @@ public class RookConfiguration: NSObject {
|
|
|
104
106
|
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
105
107
|
}
|
|
106
108
|
} else {
|
|
107
|
-
|
|
109
|
+
DispatchQueue.main.async {
|
|
110
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
111
|
+
}
|
|
108
112
|
}
|
|
109
113
|
}
|
|
110
114
|
}
|
|
111
115
|
}
|
|
112
116
|
|
|
113
|
-
@objc(getDiagnosticState:reject:)
|
|
114
117
|
public func getDiagnosticState(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
119
|
+
){
|
|
120
|
+
Task {
|
|
121
|
+
var result = await RookConnectConfigurationManager.shared.getDiagnosticState()
|
|
122
|
+
let dic = EncodableSDKState(result).toDictionary()
|
|
123
|
+
|
|
124
|
+
DispatchQueue.main.async {
|
|
125
|
+
resolve(dic)
|
|
126
|
+
}
|
|
123
127
|
}
|
|
124
128
|
}
|
|
125
|
-
}
|
|
126
129
|
}
|