react-native-rook-sdk 4.0.0-beta.2 → 4.1.0
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 +3 -35
- package/android/build.gradle +45 -20
- package/android/gradle.properties +5 -5
- package/android/src/main/AndroidManifest.xml +2 -1
- package/android/src/main/AndroidManifestNew.xml +36 -0
- package/android/src/main/java/com/rooksdk/RookSdkModule.kt +263 -11
- package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +42 -26
- package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +65 -0
- package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +70 -0
- package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +52 -0
- package/android/src/main/java/com/rooksdk/modules/RookBackgroundSyncModule.kt +99 -0
- package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +182 -0
- package/android/src/main/java/com/rooksdk/modules/RookLocalData.kt +301 -0
- package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +382 -0
- package/android/src/main/java/com/rooksdk/modules/RookSourcesModule.kt +102 -0
- package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +189 -0
- package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +551 -0
- package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +34 -0
- package/android/src/main/java/com/rooksdk/utils/PermissionConversion.kt +21 -0
- package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +145 -0
- package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +26 -0
- package/android/src/main/java/com/rooksdk/utils/RookGsonBuilder.kt +17 -0
- package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +21 -0
- package/android/src/main/java/com/rooksdk/utils/Source.kt +6 -0
- package/android/src/main/java/com/rooksdk/utils/StringToSyncType.kt +41 -0
- package/android/src/main/java/com/rooksdk/utils/serializers/InstantSerializer.kt +19 -0
- package/android/src/main/java/com/rooksdk/utils/serializers/LocalDateSerializer.kt +21 -0
- package/android/src/main/res/drawable/ic_health_connect.xml +19 -0
- package/android/src/main/res/values/themes.xml +3 -0
- package/ios/DateHelper.swift +4 -4
- package/ios/EncodableDataSource.swift +3 -2
- package/ios/EncodableDataSourceAuthorizer.swift +3 -2
- package/ios/{HearRateMapper.swift → EncodableHeartRate.swift} +3 -3
- package/ios/EncodableRookDataSource.swift +36 -0
- package/ios/EncodableSDKState.swift +94 -0
- package/ios/EncodableStatusDataSources.swift +47 -0
- package/ios/NutritionMapper.swift +114 -0
- package/ios/RookBackground.swift +8 -5
- package/ios/RookBackgroundModule.h +5 -0
- package/ios/RookBackgroundModule.mm +15 -0
- package/ios/RookConfiguration.swift +34 -24
- package/ios/RookConfigurationModule.h +5 -0
- package/ios/RookConfigurationModule.mm +22 -0
- package/ios/RookExternalModule.h +5 -0
- package/ios/RookExternalModule.m +31 -0
- package/ios/{RookData.swift → RookLocalData.swift} +70 -48
- package/ios/RookPermissions.swift +33 -5
- package/ios/RookPermissionsModule.h +5 -0
- package/ios/RookPermissionsModule.mm +20 -0
- package/ios/RookSdk.h +2 -14
- package/ios/RookSdk.mm +97 -546
- package/ios/RookSources.swift +54 -60
- package/ios/RookSourcesModule.h +5 -0
- package/ios/RookSourcesModule.mm +18 -0
- package/ios/RookSync.h +5 -0
- package/ios/RookSync.m +35 -0
- package/ios/RookSync.swift +78 -48
- package/ios/SwiftTest.swift +18 -0
- package/ios/react-native-rook-sdk-Bridging-Header.h +12 -0
- package/{src/context/RookSyncGateContext.ts → lib/commonjs/context/RookSyncGateContext.js} +13 -10
- package/lib/commonjs/context/RookSyncGateContext.js.map +1 -0
- package/lib/commonjs/context/RookSyncGateProvider.js +108 -0
- package/lib/commonjs/context/RookSyncGateProvider.js.map +1 -0
- package/{src/context/RookSyncGateReducer.ts → lib/commonjs/context/RookSyncGateReducer.js} +44 -13
- package/lib/commonjs/context/RookSyncGateReducer.js.map +1 -0
- package/lib/commonjs/context/RookSyncGateTypes.js +6 -0
- package/lib/commonjs/context/RookSyncGateTypes.js.map +1 -0
- package/lib/commonjs/context/index.js +14 -0
- package/lib/commonjs/context/index.js.map +1 -0
- package/lib/commonjs/hooks/index.js +83 -0
- package/lib/commonjs/hooks/index.js.map +1 -0
- package/{src/hooks/useRookAPISources.ts → lib/commonjs/hooks/useRookAPISources.js} +36 -40
- package/lib/commonjs/hooks/useRookAPISources.js.map +1 -0
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +88 -0
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +1 -0
- package/lib/commonjs/hooks/useRookAndroidStepCounter.js +56 -0
- package/lib/commonjs/hooks/useRookAndroidStepCounter.js.map +1 -0
- package/lib/commonjs/hooks/useRookAppleHealth.js +63 -0
- package/lib/commonjs/hooks/useRookAppleHealth.js.map +1 -0
- package/lib/commonjs/hooks/useRookConfiguration.js +113 -0
- package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -0
- package/lib/commonjs/hooks/useRookData.js +116 -0
- package/lib/commonjs/hooks/useRookData.js.map +1 -0
- package/lib/commonjs/hooks/useRookHealthConnect.js +70 -0
- package/lib/commonjs/hooks/useRookHealthConnect.js.map +1 -0
- package/lib/commonjs/hooks/useRookPermissions.js +223 -0
- package/lib/commonjs/hooks/useRookPermissions.js.map +1 -0
- package/lib/commonjs/hooks/useRookSamsungHealth.js +54 -0
- package/lib/commonjs/hooks/useRookSamsungHealth.js.map +1 -0
- package/lib/commonjs/hooks/useRookSync.js +148 -0
- package/lib/commonjs/hooks/useRookSync.js.map +1 -0
- package/lib/commonjs/hooks/useRookVariables.js +93 -0
- package/lib/commonjs/hooks/useRookVariables.js.map +1 -0
- package/lib/commonjs/index.js +121 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/modules/hook/useRookAutoSync.js +261 -0
- package/lib/commonjs/modules/hook/useRookAutoSync.js.map +1 -0
- package/lib/commonjs/modules/types/sendMessageBroadcast.js +2 -0
- package/lib/commonjs/modules/types/sendMessageBroadcast.js.map +1 -0
- package/lib/commonjs/modules/utils/errors.js +12 -0
- package/lib/commonjs/modules/utils/errors.js.map +1 -0
- package/lib/commonjs/types/ActivityEvent.js +6 -0
- package/lib/commonjs/types/ActivityEvent.js.map +1 -0
- package/lib/commonjs/types/AppleHealthNutritionEvent.js +77 -0
- package/lib/commonjs/types/AppleHealthNutritionEvent.js.map +1 -0
- package/lib/commonjs/types/AppleHealthPermissions.js +57 -0
- package/lib/commonjs/types/AppleHealthPermissions.js.map +1 -0
- package/lib/commonjs/types/AuthorizedSources.js +6 -0
- package/lib/commonjs/types/AuthorizedSources.js.map +1 -0
- package/lib/commonjs/types/BodySummary.js +6 -0
- package/lib/{module/types/Rook.js.map → commonjs/types/BodySummary.js.map} +1 -1
- package/lib/commonjs/types/DataSource.js +16 -0
- package/lib/commonjs/types/DataSource.js.map +1 -0
- package/lib/commonjs/types/DiagnosticState.js +2 -0
- package/lib/commonjs/types/DiagnosticState.js.map +1 -0
- package/lib/commonjs/types/HCMealData.js +65 -0
- package/lib/commonjs/types/HCMealData.js.map +1 -0
- package/lib/commonjs/types/HeartRateEvent.js +2 -0
- package/lib/commonjs/types/HeartRateEvent.js.map +1 -0
- package/lib/commonjs/types/PermissionsType.js +2 -0
- package/lib/commonjs/types/PermissionsType.js.map +1 -0
- package/lib/commonjs/types/PhysicalSummary.js +6 -0
- package/lib/commonjs/types/PhysicalSummary.js.map +1 -0
- package/lib/commonjs/types/SDKSources.js +13 -0
- package/lib/commonjs/types/SDKSources.js.map +1 -0
- package/lib/commonjs/types/SamsungHealthPermissions.js +23 -0
- package/lib/commonjs/types/SamsungHealthPermissions.js.map +1 -0
- package/lib/commonjs/types/SleepSummary.js +6 -0
- package/lib/commonjs/types/SleepSummary.js.map +1 -0
- package/lib/commonjs/types/SummaryTypes.js +2 -0
- package/lib/commonjs/types/SummaryTypes.js.map +1 -0
- package/lib/commonjs/types/SyncTypes.js +33 -0
- package/lib/commonjs/types/SyncTypes.js.map +1 -0
- package/lib/commonjs/types/WriteNutrition.js +18 -0
- package/lib/commonjs/types/WriteNutrition.js.map +1 -0
- package/lib/commonjs/utils/getNativeModule.js +29 -0
- package/lib/commonjs/utils/getNativeModule.js.map +1 -0
- package/lib/commonjs/utils/getRookModule.js +28 -0
- package/lib/commonjs/utils/getRookModule.js.map +1 -0
- package/{src/utils/isModuleReady.ts → lib/commonjs/utils/isModuleReady.js} +10 -4
- package/lib/commonjs/utils/isModuleReady.js.map +1 -0
- package/lib/commonjs/utils/isRunningOnAndroid.js +15 -0
- package/lib/commonjs/utils/isRunningOnAndroid.js.map +1 -0
- package/lib/commonjs/utils/isRunningOniOS.js +15 -0
- package/lib/commonjs/utils/isRunningOniOS.js.map +1 -0
- package/lib/commonjs/utils/isValidDate.js +41 -0
- package/lib/commonjs/utils/isValidDate.js.map +1 -0
- package/lib/commonjs/utils/nativeModules.js +29 -0
- package/lib/commonjs/utils/nativeModules.js.map +1 -0
- package/lib/commonjs/utils/packageInfo.js +13 -0
- package/lib/commonjs/utils/packageInfo.js.map +1 -0
- package/lib/module/context/RookSyncGateContext.js +0 -2
- package/lib/module/context/RookSyncGateContext.js.map +1 -1
- package/lib/module/context/RookSyncGateProvider.js +31 -22
- package/lib/module/context/RookSyncGateProvider.js.map +1 -1
- package/lib/module/context/RookSyncGateReducer.js +12 -4
- package/lib/module/context/RookSyncGateReducer.js.map +1 -1
- package/lib/module/context/RookSyncGateTypes.js +0 -2
- package/lib/module/context/index.js +2 -0
- package/lib/module/context/index.js.map +1 -0
- package/lib/module/hooks/index.js +12 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useRookAPISources.js +16 -10
- package/lib/module/hooks/useRookAPISources.js.map +1 -1
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js +12 -11
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
- package/lib/module/hooks/useRookAndroidStepCounter.js +48 -0
- package/lib/module/hooks/useRookAndroidStepCounter.js.map +1 -0
- package/lib/module/hooks/useRookAppleHealth.js +10 -9
- package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
- package/lib/module/hooks/useRookConfiguration.js +34 -10
- package/lib/module/hooks/useRookConfiguration.js.map +1 -1
- package/lib/module/hooks/useRookData.js +45 -31
- package/lib/module/hooks/useRookData.js.map +1 -1
- package/lib/module/hooks/useRookHealthConnect.js +10 -9
- package/lib/module/hooks/useRookHealthConnect.js.map +1 -1
- package/lib/module/hooks/useRookPermissions.js +63 -28
- package/lib/module/hooks/useRookPermissions.js.map +1 -1
- package/lib/module/hooks/useRookSamsungHealth.js +20 -8
- package/lib/module/hooks/useRookSamsungHealth.js.map +1 -1
- package/lib/module/hooks/useRookSync.js +32 -23
- package/lib/module/hooks/useRookSync.js.map +1 -1
- package/lib/module/hooks/useRookVariables.js +37 -19
- package/lib/module/hooks/useRookVariables.js.map +1 -1
- package/lib/module/index.js +10 -18
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/hook/useRookAutoSync.js +40 -27
- package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
- package/lib/module/modules/types/sendMessageBroadcast.js +1 -1
- package/lib/module/modules/utils/errors.js +0 -2
- package/lib/module/modules/utils/errors.js.map +1 -1
- package/lib/module/types/ActivityEvent.js +0 -2
- package/lib/module/types/AppleHealthNutritionEvent.js +70 -0
- package/lib/module/types/AppleHealthNutritionEvent.js.map +1 -0
- package/lib/module/types/AppleHealthPermissions.js +0 -2
- package/lib/module/types/AppleHealthPermissions.js.map +1 -1
- package/lib/module/types/AuthorizedSources.js +0 -2
- package/lib/module/types/BodySummary.js +0 -2
- package/lib/module/types/DataSource.js +0 -2
- package/lib/module/types/DataSource.js.map +1 -1
- package/lib/module/types/DiagnosticState.js +2 -0
- package/lib/module/types/DiagnosticState.js.map +1 -0
- package/lib/module/types/HCMealData.js +59 -0
- package/lib/module/types/HCMealData.js.map +1 -0
- package/lib/module/types/HeartRateEvent.js +1 -1
- package/lib/module/types/PermissionsType.js +1 -1
- package/lib/module/types/PhysicalSummary.js +0 -2
- package/lib/module/types/SDKSources.js +0 -2
- package/lib/module/types/SDKSources.js.map +1 -1
- package/lib/module/types/SamsungHealthPermissions.js +0 -3
- package/lib/module/types/SamsungHealthPermissions.js.map +1 -1
- package/lib/module/types/SleepSummary.js +0 -2
- package/lib/module/types/SummaryTypes.js +1 -1
- package/lib/module/types/SyncTypes.js +0 -2
- package/lib/module/types/SyncTypes.js.map +1 -1
- package/lib/module/types/WriteNutrition.js +12 -0
- package/lib/module/types/WriteNutrition.js.map +1 -0
- package/lib/module/utils/getNativeModule.js +23 -0
- package/lib/module/utils/getNativeModule.js.map +1 -0
- package/lib/module/utils/getRookModule.js +22 -0
- package/lib/module/utils/getRookModule.js.map +1 -0
- package/lib/module/utils/isModuleReady.js +0 -2
- package/lib/module/utils/isModuleReady.js.map +1 -1
- package/lib/module/utils/isRunningOnAndroid.js +0 -2
- package/lib/module/utils/isRunningOnAndroid.js.map +1 -1
- package/lib/module/utils/isRunningOniOS.js +0 -2
- package/lib/module/utils/isRunningOniOS.js.map +1 -1
- package/lib/module/utils/isValidDate.js +20 -2
- package/lib/module/utils/isValidDate.js.map +1 -1
- package/lib/module/utils/nativeModules.js +23 -0
- package/lib/module/utils/nativeModules.js.map +1 -0
- package/lib/module/utils/packageInfo.js +7 -0
- package/lib/module/utils/packageInfo.js.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/context/RookSyncGateTypes.d.ts +14 -4
- package/lib/typescript/src/context/RookSyncGateTypes.d.ts.map +1 -1
- package/lib/typescript/src/context/index.d.ts +2 -0
- package/lib/typescript/src/context/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +12 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -0
- 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/useRookAndroidStepCounter.d.ts +9 -0
- package/lib/typescript/src/hooks/useRookAndroidStepCounter.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts +3 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookData.d.ts +2 -2
- 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 +6 -2
- package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts +6 -0
- 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 +2 -0
- package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +8 -17
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
- package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts +76 -0
- package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts.map +1 -0
- package/lib/typescript/src/types/AuthorizedSources.d.ts +0 -11
- package/lib/typescript/src/types/AuthorizedSources.d.ts.map +1 -1
- package/lib/typescript/src/types/DiagnosticState.d.ts +13 -0
- package/lib/typescript/src/types/DiagnosticState.d.ts.map +1 -0
- package/lib/typescript/src/types/HCMealData.d.ts +60 -0
- package/lib/typescript/src/types/HCMealData.d.ts.map +1 -0
- 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/SamsungHealthPermissions.d.ts +0 -1
- package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -1
- package/lib/typescript/src/types/SyncTypes.d.ts +1 -5
- package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
- package/lib/typescript/src/types/WriteNutrition.d.ts +61 -0
- package/lib/typescript/src/types/WriteNutrition.d.ts.map +1 -0
- package/lib/typescript/src/utils/getNativeModule.d.ts +10 -0
- package/lib/typescript/src/utils/getNativeModule.d.ts.map +1 -0
- package/lib/typescript/src/utils/getRookModule.d.ts +9 -0
- package/lib/typescript/src/utils/getRookModule.d.ts.map +1 -0
- package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
- package/lib/typescript/src/utils/isValidDate.d.ts +8 -0
- package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
- package/lib/typescript/src/utils/nativeModules.d.ts +24 -0
- package/lib/typescript/src/utils/nativeModules.d.ts.map +1 -0
- package/lib/typescript/src/utils/packageInfo.d.ts +6 -0
- package/lib/typescript/src/utils/packageInfo.d.ts.map +1 -0
- package/package.json +98 -94
- package/react-native-rook-sdk.podspec +45 -0
- package/RNRookSdk.podspec +0 -22
- package/ios/Encodable.swift +0 -25
- package/ios/RookEntry.swift +0 -61
- package/ios/RookSdk-Bridging-Header.h +0 -12
- package/ios/boost-boost_privacy-Bridging-Header.h +0 -4
- package/lib/module/NativeRookSdk.js +0 -13
- package/lib/module/NativeRookSdk.js.map +0 -1
- package/lib/module/package.json +0 -1
- package/lib/module/types/Rook.js +0 -2
- package/lib/typescript/package.json +0 -1
- package/lib/typescript/src/NativeRookSdk.d.ts +0 -116
- package/lib/typescript/src/NativeRookSdk.d.ts.map +0 -1
- package/lib/typescript/src/types/Rook.d.ts +0 -9
- package/lib/typescript/src/types/Rook.d.ts.map +0 -1
- package/src/NativeRookSdk.ts +0 -274
- package/src/context/RookSyncGateProvider.tsx +0 -78
- package/src/context/RookSyncGateTypes.ts +0 -34
- package/src/hooks/useRookAndroidBackgroundSteps.ts +0 -81
- package/src/hooks/useRookAppleHealth.ts +0 -55
- package/src/hooks/useRookConfiguration.ts +0 -82
- package/src/hooks/useRookData.ts +0 -122
- package/src/hooks/useRookHealthConnect.ts +0 -59
- package/src/hooks/useRookPermissions.ts +0 -224
- package/src/hooks/useRookSamsungHealth.ts +0 -37
- package/src/hooks/useRookSync.ts +0 -157
- package/src/hooks/useRookVariables.ts +0 -77
- package/src/index.tsx +0 -28
- package/src/modules/hook/useRookAutoSync.ts +0 -305
- package/src/modules/types/sendMessageBroadcast.ts +0 -5
- package/src/modules/utils/errors.ts +0 -9
- package/src/types/ActivityEvent.ts +0 -159
- package/src/types/AppleHealthPermissions.ts +0 -49
- package/src/types/AuthorizedSources.ts +0 -33
- package/src/types/BodySummary.ts +0 -116
- package/src/types/DataSource.ts +0 -16
- package/src/types/HeartRateEvent.ts +0 -26
- package/src/types/PermissionsType.ts +0 -9
- package/src/types/PhysicalSummary.ts +0 -84
- package/src/types/Rook.ts +0 -8
- package/src/types/SDKSources.ts +0 -5
- package/src/types/SamsungHealthPermissions.ts +0 -16
- package/src/types/SleepSummary.ts +0 -66
- package/src/types/SummaryTypes.ts +0 -70
- package/src/types/SyncTypes.ts +0 -63
- package/src/utils/isRunningOnAndroid.ts +0 -10
- package/src/utils/isRunningOniOS.ts +0 -10
- package/src/utils/isValidDate.ts +0 -15
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { isModuleReady } from
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import { Platform } from 'react-native';
|
|
3
|
+
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
4
|
+
import getNativeModule from '../utils/getNativeModule';
|
|
5
|
+
import { isModuleReady } from '../utils/isModuleReady';
|
|
6
|
+
import nativeModules from '../utils/nativeModules';
|
|
7
|
+
import { packageInfo } from '../utils/packageInfo';
|
|
8
|
+
import { SDKDataSource } from '../types/SDKSources';
|
|
6
9
|
/**
|
|
7
10
|
* The `useRookConfiguration` hook provides various asynchronous methods for managing the configuration
|
|
8
11
|
* of the ROOK SDK
|
|
@@ -10,6 +13,10 @@ import { isModuleReady } from "../utils/isModuleReady.js";
|
|
|
10
13
|
* the SDK
|
|
11
14
|
*/
|
|
12
15
|
export const useRookConfiguration = () => {
|
|
16
|
+
const rookSync = useRef(getNativeModule(Platform.select({
|
|
17
|
+
android: () => nativeModules.android.CONFIGURATION,
|
|
18
|
+
default: () => nativeModules.ios.CONFIGURATION
|
|
19
|
+
})()));
|
|
13
20
|
const {
|
|
14
21
|
state: {
|
|
15
22
|
ready
|
|
@@ -23,7 +30,7 @@ export const useRookConfiguration = () => {
|
|
|
23
30
|
*/
|
|
24
31
|
const getUserID = async () => {
|
|
25
32
|
isModuleReady(ready);
|
|
26
|
-
const result = await
|
|
33
|
+
const result = await rookSync.current.getUserID();
|
|
27
34
|
if (result) dispatch({
|
|
28
35
|
type: 'SET_USER_ID',
|
|
29
36
|
userID: result
|
|
@@ -40,7 +47,7 @@ export const useRookConfiguration = () => {
|
|
|
40
47
|
*/
|
|
41
48
|
const updateUserID = async userID => {
|
|
42
49
|
isModuleReady(ready);
|
|
43
|
-
const result = await
|
|
50
|
+
const result = await rookSync.current.updateUserID(userID);
|
|
44
51
|
dispatch({
|
|
45
52
|
type: 'SET_USER_ID',
|
|
46
53
|
userID
|
|
@@ -54,7 +61,7 @@ export const useRookConfiguration = () => {
|
|
|
54
61
|
*/
|
|
55
62
|
const syncUserTimeZone = async () => {
|
|
56
63
|
isModuleReady(ready);
|
|
57
|
-
const result = await
|
|
64
|
+
const result = await rookSync.current.syncUserTimeZone();
|
|
58
65
|
return result;
|
|
59
66
|
};
|
|
60
67
|
|
|
@@ -68,14 +75,31 @@ export const useRookConfiguration = () => {
|
|
|
68
75
|
type: 'SET_USER_ID',
|
|
69
76
|
userID: ''
|
|
70
77
|
});
|
|
71
|
-
return
|
|
78
|
+
if (!packageInfo.isAndroid) return rookSync.current.removeUserFromRook();
|
|
79
|
+
return rookSync.current.removeUserFromRook(sources);
|
|
80
|
+
};
|
|
81
|
+
const getDiagnosticState = async source => {
|
|
82
|
+
isModuleReady(ready);
|
|
83
|
+
if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
|
|
84
|
+
const value = await rookSync.current.getHealthConnectDiagnosticState();
|
|
85
|
+
return JSON.parse(value);
|
|
86
|
+
}
|
|
87
|
+
if (packageInfo.isAndroid && source === SDKDataSource.SAMSUNG_HEALTH) {
|
|
88
|
+
const value = rookSync.current.getSamsungHealthDiagnosticState();
|
|
89
|
+
return JSON.parse(value);
|
|
90
|
+
}
|
|
91
|
+
if (!packageInfo.isAndroid && source === SDKDataSource.APPLE_HEALTH) {
|
|
92
|
+
return rookSync.current.getDiagnosticState();
|
|
93
|
+
}
|
|
94
|
+
throw new Error('Check the datasource');
|
|
72
95
|
};
|
|
73
96
|
return {
|
|
74
97
|
ready,
|
|
75
98
|
getUserID,
|
|
76
99
|
updateUserID,
|
|
77
100
|
removeUserFromRook,
|
|
78
|
-
syncUserTimeZone
|
|
101
|
+
syncUserTimeZone,
|
|
102
|
+
getDiagnosticState
|
|
79
103
|
};
|
|
80
104
|
};
|
|
81
105
|
//# sourceMappingURL=useRookConfiguration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useRef","Platform","useRookSyncGateContext","getNativeModule","isModuleReady","nativeModules","packageInfo","SDKDataSource","useRookConfiguration","rookSync","select","android","CONFIGURATION","default","ios","state","ready","dispatch","getUserID","result","current","type","userID","updateUserID","syncUserTimeZone","removeUserFromRook","sources","isAndroid","getDiagnosticState","source","HEALTH_CONNECT","value","getHealthConnectDiagnosticState","JSON","parse","SAMSUNG_HEALTH","getSamsungHealthDiagnosticState","APPLE_HEALTH","Error"],"sourceRoot":"../../../src","sources":["hooks/useRookConfiguration.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import RookSdk from "../NativeRookSdk.js";
|
|
1
|
+
import { useRef } from 'react';
|
|
4
2
|
import { Platform } from 'react-native';
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
3
|
+
import getNativeModule from '../utils/getNativeModule';
|
|
4
|
+
import { isModuleReady } from '../utils/isModuleReady';
|
|
5
|
+
import { isValidDate, isValidZonedDateTime } from '../utils/isValidDate';
|
|
6
|
+
import nativeModules from '../utils/nativeModules';
|
|
7
|
+
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
8
|
+
import { SDKDataSource } from '../types/SDKSources';
|
|
9
|
+
import { packageInfo } from '../utils/packageInfo';
|
|
10
|
+
import { parseWriteNutritionToHC } from '../types/HCMealData';
|
|
11
|
+
import { parseWriteNutritionToAH } from '../types/AppleHealthNutritionEvent';
|
|
9
12
|
export const useRookData = () => {
|
|
13
|
+
const rookData = useRef(getNativeModule(Platform.select({
|
|
14
|
+
android: () => nativeModules.android.LOCAL_DATA,
|
|
15
|
+
default: () => nativeModules.ios.LOCAL_DATA
|
|
16
|
+
})()));
|
|
10
17
|
const {
|
|
11
18
|
state: {
|
|
12
19
|
ready
|
|
@@ -18,15 +25,15 @@ export const useRookData = () => {
|
|
|
18
25
|
}) => {
|
|
19
26
|
isModuleReady(ready);
|
|
20
27
|
isValidDate(date);
|
|
21
|
-
if (
|
|
22
|
-
const result = await
|
|
28
|
+
if (packageInfo.isAndroid && source === SDKDataSource.SAMSUNG_HEALTH) {
|
|
29
|
+
const result = await rookData.current.getSamsungSleepSummary(date);
|
|
23
30
|
return JSON.parse(result);
|
|
24
31
|
}
|
|
25
|
-
if (
|
|
26
|
-
const result = await
|
|
32
|
+
if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
|
|
33
|
+
const result = await rookData.current.getHealthConnectSleepSummary(date);
|
|
27
34
|
return JSON.parse(result);
|
|
28
35
|
}
|
|
29
|
-
return
|
|
36
|
+
return rookData.current.getAppleHealthSleepSummary(date);
|
|
30
37
|
};
|
|
31
38
|
const getPhysicalSummary = async ({
|
|
32
39
|
date,
|
|
@@ -34,15 +41,15 @@ export const useRookData = () => {
|
|
|
34
41
|
}) => {
|
|
35
42
|
isModuleReady(ready);
|
|
36
43
|
isValidDate(date);
|
|
37
|
-
if (
|
|
38
|
-
const result = await
|
|
44
|
+
if (packageInfo.isAndroid && source === SDKDataSource.SAMSUNG_HEALTH) {
|
|
45
|
+
const result = await rookData.current.getSamsungPhysicalSummary(date);
|
|
39
46
|
return JSON.parse(result);
|
|
40
47
|
}
|
|
41
|
-
if (
|
|
42
|
-
const result = await
|
|
48
|
+
if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
|
|
49
|
+
const result = await rookData.current.getHealthConnectPhysicalSummary(date);
|
|
43
50
|
return JSON.parse(result);
|
|
44
51
|
}
|
|
45
|
-
return
|
|
52
|
+
return rookData.current.getAppleHealthPhysicalSummary(date);
|
|
46
53
|
};
|
|
47
54
|
const getBodySummary = async ({
|
|
48
55
|
date,
|
|
@@ -50,15 +57,15 @@ export const useRookData = () => {
|
|
|
50
57
|
}) => {
|
|
51
58
|
isModuleReady(ready);
|
|
52
59
|
isValidDate(date);
|
|
53
|
-
if (
|
|
54
|
-
const result = await
|
|
60
|
+
if (packageInfo.isAndroid && source === SDKDataSource.SAMSUNG_HEALTH) {
|
|
61
|
+
const result = await rookData.current.getSamsungBodySummary(date);
|
|
55
62
|
return JSON.parse(result);
|
|
56
63
|
}
|
|
57
|
-
if (
|
|
58
|
-
const result = await
|
|
64
|
+
if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
|
|
65
|
+
const result = await rookData.current.getHealthConnectBodySummary(date);
|
|
59
66
|
return JSON.parse(result);
|
|
60
67
|
}
|
|
61
|
-
return
|
|
68
|
+
return rookData.current.getAppleHealthBodySummary(date);
|
|
62
69
|
};
|
|
63
70
|
const getActivityEvents = async ({
|
|
64
71
|
date,
|
|
@@ -66,19 +73,26 @@ export const useRookData = () => {
|
|
|
66
73
|
}) => {
|
|
67
74
|
isModuleReady(ready);
|
|
68
75
|
isValidDate(date);
|
|
69
|
-
if (
|
|
70
|
-
const result = await
|
|
76
|
+
if (packageInfo.isAndroid && source === SDKDataSource.SAMSUNG_HEALTH) {
|
|
77
|
+
const result = await rookData.current.getSamsungActivityEvents(date);
|
|
71
78
|
return JSON.parse(result);
|
|
72
79
|
}
|
|
73
|
-
if (
|
|
74
|
-
const result = await
|
|
80
|
+
if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
|
|
81
|
+
const result = await rookData.current.getHealthConnectActivityEvents(date);
|
|
75
82
|
return JSON.parse(result);
|
|
76
83
|
}
|
|
77
|
-
return
|
|
84
|
+
return rookData.current.getAppleHealthActivityEvents(date);
|
|
78
85
|
};
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
86
|
+
const writeNutritionData = async (data, source) => {
|
|
87
|
+
isModuleReady(ready);
|
|
88
|
+
isValidZonedDateTime(data.date);
|
|
89
|
+
if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
|
|
90
|
+
const event = parseWriteNutritionToHC(data);
|
|
91
|
+
return rookData.current.writeHealthConnectMealData(event);
|
|
92
|
+
}
|
|
93
|
+
if (!packageInfo.isAndroid && source === SDKDataSource.APPLE_HEALTH) {
|
|
94
|
+
const event = parseWriteNutritionToAH(data);
|
|
95
|
+
return rookData.current.writeAppleHealthMealData(event);
|
|
82
96
|
}
|
|
83
97
|
throw new Error('Please check the data source');
|
|
84
98
|
};
|
|
@@ -88,7 +102,7 @@ export const useRookData = () => {
|
|
|
88
102
|
getPhysicalSummary,
|
|
89
103
|
getBodySummary,
|
|
90
104
|
getActivityEvents,
|
|
91
|
-
|
|
105
|
+
writeNutritionData
|
|
92
106
|
};
|
|
93
107
|
};
|
|
94
108
|
//# sourceMappingURL=useRookData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useRef","Platform","getNativeModule","isModuleReady","isValidDate","isValidZonedDateTime","nativeModules","useRookSyncGateContext","SDKDataSource","packageInfo","parseWriteNutritionToHC","parseWriteNutritionToAH","useRookData","rookData","select","android","LOCAL_DATA","default","ios","state","ready","getSleepSummary","date","source","isAndroid","SAMSUNG_HEALTH","result","current","getSamsungSleepSummary","JSON","parse","HEALTH_CONNECT","getHealthConnectSleepSummary","getAppleHealthSleepSummary","getPhysicalSummary","getSamsungPhysicalSummary","getHealthConnectPhysicalSummary","getAppleHealthPhysicalSummary","getBodySummary","getSamsungBodySummary","getHealthConnectBodySummary","getAppleHealthBodySummary","getActivityEvents","getSamsungActivityEvents","getHealthConnectActivityEvents","getAppleHealthActivityEvents","writeNutritionData","data","event","writeHealthConnectMealData","APPLE_HEALTH","writeAppleHealthMealData","Error"],"sourceRoot":"../../../src","sources":["hooks/useRookData.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
3
|
+
import getNativeModule from '../utils/getNativeModule';
|
|
4
|
+
import { isModuleReady } from '../utils/isModuleReady';
|
|
5
|
+
import isRunningOnAndroid from '../utils/isRunningOnAndroid';
|
|
6
|
+
import nativeModules from '../utils/nativeModules';
|
|
7
7
|
export const useRookHealthConnect = () => {
|
|
8
|
+
const rookSync = useRef(getNativeModule(nativeModules.android.BACKGROUND));
|
|
8
9
|
const {
|
|
9
10
|
state: {
|
|
10
11
|
ready,
|
|
@@ -27,7 +28,7 @@ export const useRookHealthConnect = () => {
|
|
|
27
28
|
const scheduleBackgroundSync = () => {
|
|
28
29
|
isRunningOnAndroid();
|
|
29
30
|
isModuleReady(ready);
|
|
30
|
-
return
|
|
31
|
+
return rookSync.current.scheduleBackgroundSync(enableLogs);
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
/**
|
|
@@ -44,12 +45,12 @@ export const useRookHealthConnect = () => {
|
|
|
44
45
|
const cancelBackgroundSync = () => {
|
|
45
46
|
isRunningOnAndroid();
|
|
46
47
|
isModuleReady(ready);
|
|
47
|
-
return
|
|
48
|
+
return rookSync.current.cancelBackgroundSync();
|
|
48
49
|
};
|
|
49
50
|
const isBackgroundSyncEnabled = () => {
|
|
50
51
|
isRunningOnAndroid();
|
|
51
52
|
isModuleReady(ready);
|
|
52
|
-
return
|
|
53
|
+
return rookSync.current.isBackgroundSyncEnabled();
|
|
53
54
|
};
|
|
54
55
|
return {
|
|
55
56
|
ready,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useRef","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","nativeModules","useRookHealthConnect","rookSync","android","BACKGROUND","state","ready","enableLogs","scheduleBackgroundSync","current","cancelBackgroundSync","isBackgroundSyncEnabled"],"sourceRoot":"../../../src","sources":["hooks/useRookHealthConnect.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,OAAOC,kBAAkB,MAAM,6BAA6B;AAC5D,OAAOC,aAAa,MAAM,wBAAwB;AAElD,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMC,QAAQ,GAAGP,MAAM,CAACE,eAAe,CAACG,aAAa,CAACG,OAAO,CAACC,UAAU,CAAC,CAAC;EAC1E,MAAM;IACJC,KAAK,EAAE;MAAEC,KAAK;MAAEC;IAAW;EAC7B,CAAC,GAAGX,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMY,sBAAsB,GAAGA,CAAA,KAAwB;IACrDT,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IACpB,OAAOJ,QAAQ,CAACO,OAAO,CAACD,sBAAsB,CAACD,UAAU,CAAC;EAC5D,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMG,oBAAoB,GAAGA,CAAA,KAAwB;IACnDX,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IACpB,OAAOJ,QAAQ,CAACO,OAAO,CAACC,oBAAoB,CAAC,CAAC;EAChD,CAAC;EAED,MAAMC,uBAAuB,GAAGA,CAAA,KAAwB;IACtDZ,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACO,OAAO,CAACE,uBAAuB,CAAC,CAAC;EACnD,CAAC;EAED,OAAO;IACLL,KAAK;IACLE,sBAAsB;IACtBE,oBAAoB;IACpBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { isModuleReady } from
|
|
6
|
-
import isRunningOnAndroid from
|
|
7
|
-
import { isRunningOniOS } from
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import { Platform } from 'react-native';
|
|
3
|
+
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
4
|
+
import getNativeModule from '../utils/getNativeModule';
|
|
5
|
+
import { isModuleReady } from '../utils/isModuleReady';
|
|
6
|
+
import isRunningOnAndroid from '../utils/isRunningOnAndroid';
|
|
7
|
+
import { isRunningOniOS } from '../utils/isRunningOniOS';
|
|
8
|
+
import nativeModules from '../utils/nativeModules';
|
|
9
|
+
import { SamsungHealthPermission } from '../types/SamsungHealthPermissions';
|
|
10
|
+
import { AppleHealthPermission } from '../types/AppleHealthPermissions';
|
|
10
11
|
/**
|
|
11
12
|
* The `useRookPermissions` hook manages permissions for accessing Apple Health and Health Connect data,
|
|
12
13
|
* including requesting various types of permissions and checking their status.
|
|
@@ -15,6 +16,10 @@ import { AppleHealthPermission } from "../types/AppleHealthPermissions.js";
|
|
|
15
16
|
* following properties and functions:
|
|
16
17
|
*/
|
|
17
18
|
export const useRookPermissions = () => {
|
|
19
|
+
const rookSync = useRef(getNativeModule(Platform.select({
|
|
20
|
+
android: () => nativeModules.android.PERMISSIONS,
|
|
21
|
+
default: () => nativeModules.ios.PERMISSIONS
|
|
22
|
+
})()));
|
|
18
23
|
const {
|
|
19
24
|
state: {
|
|
20
25
|
ready
|
|
@@ -30,12 +35,12 @@ export const useRookPermissions = () => {
|
|
|
30
35
|
const checkHealthConnectAvailability = () => {
|
|
31
36
|
isModuleReady(ready);
|
|
32
37
|
isRunningOnAndroid();
|
|
33
|
-
return
|
|
38
|
+
return rookSync.current.checkHealthConnectAvailability();
|
|
34
39
|
};
|
|
35
40
|
const checkSamsungAvailability = () => {
|
|
36
41
|
isModuleReady(ready);
|
|
37
42
|
isRunningOnAndroid();
|
|
38
|
-
return
|
|
43
|
+
return rookSync.current.checkSamsungAvailability();
|
|
39
44
|
};
|
|
40
45
|
|
|
41
46
|
/**
|
|
@@ -46,7 +51,7 @@ export const useRookPermissions = () => {
|
|
|
46
51
|
const healthConnectHasPermissions = () => {
|
|
47
52
|
isRunningOnAndroid();
|
|
48
53
|
isModuleReady(ready);
|
|
49
|
-
return
|
|
54
|
+
return rookSync.current.checkHealthConnectPermissions();
|
|
50
55
|
};
|
|
51
56
|
|
|
52
57
|
/**
|
|
@@ -57,7 +62,7 @@ export const useRookPermissions = () => {
|
|
|
57
62
|
const healthConnectHasPartialPermissions = () => {
|
|
58
63
|
isRunningOnAndroid();
|
|
59
64
|
isModuleReady(ready);
|
|
60
|
-
return
|
|
65
|
+
return rookSync.current.checkHealthConnectPermissionsPartially();
|
|
61
66
|
};
|
|
62
67
|
|
|
63
68
|
/**
|
|
@@ -68,17 +73,27 @@ export const useRookPermissions = () => {
|
|
|
68
73
|
const appleHealthHasPermissions = param => {
|
|
69
74
|
isRunningOniOS();
|
|
70
75
|
isModuleReady(ready);
|
|
71
|
-
return
|
|
76
|
+
return rookSync.current.checkPermissionsStatus(param ? param : null);
|
|
72
77
|
};
|
|
73
78
|
const samsungHealthHasPermissions = () => {
|
|
74
79
|
isRunningOnAndroid();
|
|
75
80
|
isModuleReady(ready);
|
|
76
|
-
return
|
|
81
|
+
return rookSync.current.checkSamsungHealthPermissions();
|
|
77
82
|
};
|
|
78
83
|
const samsungHealthHasPartialPermissions = () => {
|
|
79
84
|
isRunningOnAndroid();
|
|
80
85
|
isModuleReady(ready);
|
|
81
|
-
return
|
|
86
|
+
return rookSync.current.checkSamsungHealthPermissionsPartially();
|
|
87
|
+
};
|
|
88
|
+
const androidHasAlarmPermissions = () => {
|
|
89
|
+
isRunningOnAndroid();
|
|
90
|
+
isModuleReady(ready);
|
|
91
|
+
return rookSync.current.androidHasAlarmPermissions();
|
|
92
|
+
};
|
|
93
|
+
const requestAndroidAlarmPermissions = () => {
|
|
94
|
+
isRunningOnAndroid();
|
|
95
|
+
isModuleReady(ready);
|
|
96
|
+
return rookSync.current.requestAndroidAlarmPermissions();
|
|
82
97
|
};
|
|
83
98
|
|
|
84
99
|
/**
|
|
@@ -87,13 +102,13 @@ export const useRookPermissions = () => {
|
|
|
87
102
|
const requestHealthConnectPermissions = async () => {
|
|
88
103
|
isRunningOnAndroid();
|
|
89
104
|
isModuleReady(ready);
|
|
90
|
-
return
|
|
105
|
+
return rookSync.current.requestHealthConnectPermissions();
|
|
91
106
|
};
|
|
92
107
|
const requestAppleHealthPermissions = async permissions => {
|
|
93
108
|
isModuleReady(ready);
|
|
94
109
|
isRunningOniOS();
|
|
95
110
|
const bridge = permissions || Object.values(AppleHealthPermission);
|
|
96
|
-
const result = await
|
|
111
|
+
const result = await rookSync.current.requestAppleHealthPermissions(bridge);
|
|
97
112
|
dispatch({
|
|
98
113
|
type: 'SET_PERMISSIONS'
|
|
99
114
|
});
|
|
@@ -103,9 +118,14 @@ export const useRookPermissions = () => {
|
|
|
103
118
|
isRunningOnAndroid();
|
|
104
119
|
isModuleReady(ready);
|
|
105
120
|
const bridge = permissions || Object.values(SamsungHealthPermission);
|
|
106
|
-
const result = await
|
|
121
|
+
const result = await rookSync.current.requestSamsungPermissions(bridge);
|
|
107
122
|
return result;
|
|
108
123
|
};
|
|
124
|
+
const requestWriteNutritionPermission = async () => {
|
|
125
|
+
isRunningOniOS();
|
|
126
|
+
isModuleReady(ready);
|
|
127
|
+
return rookSync.current.requestWriteNutritionPermission();
|
|
128
|
+
};
|
|
109
129
|
|
|
110
130
|
/**
|
|
111
131
|
* The function `openAppleHealthSettings` opens the apple health settings
|
|
@@ -113,7 +133,7 @@ export const useRookPermissions = () => {
|
|
|
113
133
|
const openAppleHealthSettings = async () => {
|
|
114
134
|
isRunningOniOS();
|
|
115
135
|
isModuleReady(ready);
|
|
116
|
-
return
|
|
136
|
+
return rookSync.current.openAppleHealthSettings();
|
|
117
137
|
};
|
|
118
138
|
|
|
119
139
|
/**
|
|
@@ -122,7 +142,7 @@ export const useRookPermissions = () => {
|
|
|
122
142
|
const openHealthConnectSettings = async () => {
|
|
123
143
|
isRunningOnAndroid();
|
|
124
144
|
isModuleReady(ready);
|
|
125
|
-
return
|
|
145
|
+
return rookSync.current.openHealthConnectSettings();
|
|
126
146
|
};
|
|
127
147
|
|
|
128
148
|
/**
|
|
@@ -133,7 +153,7 @@ export const useRookPermissions = () => {
|
|
|
133
153
|
const requestAndroidBackgroundPermissions = () => {
|
|
134
154
|
isRunningOnAndroid();
|
|
135
155
|
isModuleReady(ready);
|
|
136
|
-
return
|
|
156
|
+
return rookSync.current.requestAndroidBackgroundPermissions();
|
|
137
157
|
};
|
|
138
158
|
|
|
139
159
|
/**
|
|
@@ -145,36 +165,51 @@ export const useRookPermissions = () => {
|
|
|
145
165
|
const androidHasBackgroundPermissions = () => {
|
|
146
166
|
isRunningOnAndroid();
|
|
147
167
|
isModuleReady(ready);
|
|
148
|
-
return
|
|
168
|
+
return rookSync.current.hasAndroidBackgroundPermissions();
|
|
149
169
|
};
|
|
150
170
|
const checkHealthConnectBackgroundReadStatus = () => {
|
|
151
171
|
isRunningOnAndroid();
|
|
152
172
|
isModuleReady(ready);
|
|
153
|
-
return
|
|
173
|
+
return rookSync.current.checkHealthConnectBackgroundReadStatus();
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* The function `shouldRequestPermissions` checks if permissions should be requested.
|
|
178
|
+
* @returns The function `shouldRequestPermissions` returns a `Promise` that resolves to a `boolean`
|
|
179
|
+
* value.
|
|
180
|
+
*/
|
|
181
|
+
const shouldRequestAndroidBackgroundPermissions = () => {
|
|
182
|
+
isRunningOnAndroid();
|
|
183
|
+
isModuleReady(ready);
|
|
184
|
+
return rookSync.current.shouldRequestAndroidBackgroundPermissions();
|
|
154
185
|
};
|
|
155
186
|
const revokeHealthConnectPermissions = () => {
|
|
156
187
|
isRunningOnAndroid();
|
|
157
188
|
isModuleReady(ready);
|
|
158
|
-
return
|
|
189
|
+
return rookSync.current.revokeHealthConnectPermissions();
|
|
159
190
|
};
|
|
160
191
|
return {
|
|
161
192
|
ready,
|
|
162
193
|
androidHasBackgroundPermissions,
|
|
194
|
+
androidHasAlarmPermissions,
|
|
163
195
|
appleHealthHasPermissions,
|
|
164
196
|
checkHealthConnectAvailability,
|
|
165
197
|
checkHealthConnectBackgroundReadStatus,
|
|
166
198
|
checkSamsungAvailability,
|
|
167
199
|
healthConnectHasPartialPermissions,
|
|
168
200
|
healthConnectHasPermissions,
|
|
201
|
+
samsungHealthHasPermissions,
|
|
202
|
+
samsungHealthHasPartialPermissions,
|
|
169
203
|
openAppleHealthSettings,
|
|
170
204
|
openHealthConnectSettings,
|
|
171
205
|
requestAndroidBackgroundPermissions,
|
|
206
|
+
requestAndroidAlarmPermissions,
|
|
172
207
|
requestAppleHealthPermissions,
|
|
173
208
|
requestHealthConnectPermissions,
|
|
174
209
|
requestSamsungHealthPermissions,
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
210
|
+
requestWriteNutritionPermission,
|
|
211
|
+
revokeHealthConnectPermissions,
|
|
212
|
+
shouldRequestAndroidBackgroundPermissions
|
|
178
213
|
};
|
|
179
214
|
};
|
|
180
215
|
//# sourceMappingURL=useRookPermissions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useRef","Platform","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","isRunningOniOS","nativeModules","SamsungHealthPermission","AppleHealthPermission","useRookPermissions","rookSync","select","android","PERMISSIONS","default","ios","state","ready","dispatch","checkHealthConnectAvailability","current","checkSamsungAvailability","healthConnectHasPermissions","checkHealthConnectPermissions","healthConnectHasPartialPermissions","checkHealthConnectPermissionsPartially","appleHealthHasPermissions","param","checkPermissionsStatus","samsungHealthHasPermissions","checkSamsungHealthPermissions","samsungHealthHasPartialPermissions","checkSamsungHealthPermissionsPartially","androidHasAlarmPermissions","requestAndroidAlarmPermissions","requestHealthConnectPermissions","requestAppleHealthPermissions","permissions","bridge","Object","values","result","type","requestSamsungHealthPermissions","requestSamsungPermissions","requestWriteNutritionPermission","openAppleHealthSettings","openHealthConnectSettings","requestAndroidBackgroundPermissions","androidHasBackgroundPermissions","hasAndroidBackgroundPermissions","checkHealthConnectBackgroundReadStatus","shouldRequestAndroidBackgroundPermissions","revokeHealthConnectPermissions"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import { Platform } from 'react-native';
|
|
3
|
+
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
4
|
+
import getNativeModule from '../utils/getNativeModule';
|
|
5
|
+
import { isModuleReady } from '../utils/isModuleReady';
|
|
6
|
+
import isRunningOnAndroid from '../utils/isRunningOnAndroid';
|
|
7
|
+
import nativeModules from '../utils/nativeModules';
|
|
2
8
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
9
|
+
/**
|
|
10
|
+
* The `useRookSamsungHealth` hook provides various asynchronous methods for managing the configuration
|
|
11
|
+
* of the samsung health integration
|
|
12
|
+
* @returns The `useRookSamsungHealth` function returns an object containing that allow the user to configure
|
|
13
|
+
* the SDK
|
|
14
|
+
*/
|
|
7
15
|
export const useRookSamsungHealth = () => {
|
|
16
|
+
const rookSync = useRef(getNativeModule(Platform.select({
|
|
17
|
+
android: () => nativeModules.android.SYNC,
|
|
18
|
+
default: () => nativeModules.ios.CONFIGURATION
|
|
19
|
+
})()));
|
|
8
20
|
const {
|
|
9
21
|
state: {
|
|
10
22
|
ready
|
|
@@ -13,17 +25,17 @@ export const useRookSamsungHealth = () => {
|
|
|
13
25
|
const enableSamsungSync = async () => {
|
|
14
26
|
isRunningOnAndroid();
|
|
15
27
|
isModuleReady(ready);
|
|
16
|
-
return
|
|
28
|
+
return rookSync.current.enableSamsungSync();
|
|
17
29
|
};
|
|
18
30
|
const isSamsungSyncEnabled = async () => {
|
|
19
31
|
isRunningOnAndroid();
|
|
20
32
|
isModuleReady(ready);
|
|
21
|
-
return
|
|
33
|
+
return rookSync.current.isSamsungSyncEnabled();
|
|
22
34
|
};
|
|
23
35
|
const disableSamsungSync = async () => {
|
|
24
36
|
isRunningOnAndroid();
|
|
25
37
|
isModuleReady(ready);
|
|
26
|
-
return
|
|
38
|
+
return rookSync.current.disableSamsungSync();
|
|
27
39
|
};
|
|
28
40
|
return {
|
|
29
41
|
ready,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useRef","Platform","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","nativeModules","useRookSamsungHealth","rookSync","select","android","SYNC","default","ios","CONFIGURATION","state","ready","enableSamsungSync","current","isSamsungSyncEnabled","disableSamsungSync"],"sourceRoot":"../../../src","sources":["hooks/useRookSamsungHealth.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,OAAOC,kBAAkB,MAAM,6BAA6B;AAC5D,OAAOC,aAAa,MAAM,wBAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMC,QAAQ,GAAGR,MAAM,CACrBG,eAAe,CACbF,QAAQ,CAACQ,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMJ,aAAa,CAACI,OAAO,CAACC,IAAI;IACzCC,OAAO,EAAEA,CAAA,KAAMN,aAAa,CAACO,GAAG,CAACC;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EACD,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGd,sBAAsB,CAAC,CAAC;EAE5B,MAAMe,iBAAiB,GAAG,MAAAA,CAAA,KAA8B;IACtDZ,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACY,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACU,OAAO,CAACD,iBAAiB,CAAC,CAAC;EAC7C,CAAC;EAED,MAAME,oBAAoB,GAAG,MAAAA,CAAA,KAA8B;IACzDd,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACY,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACU,OAAO,CAACC,oBAAoB,CAAC,CAAC;EAChD,CAAC;EAED,MAAMC,kBAAkB,GAAG,MAAAA,CAAA,KAA8B;IACvDf,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACY,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACU,OAAO,CAACE,kBAAkB,CAAC,CAAC;EAC9C,CAAC;EAED,OAAO;IACLJ,KAAK;IACLC,iBAAiB;IACjBG,kBAAkB;IAClBD;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|