@ovok/native 1.5.1 → 1.5.3
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/android/build.gradle +43 -0
- package/android/src/main/AndroidManifest.xml +23 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/BackgroundSyncNotification.java +78 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncModule.java +109 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncPackage.java +26 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBluetoothForegroundService.java +28 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectTaskService.java +45 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectWorker.java +28 -0
- package/lib/commonjs/index.js +11 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/background-sync/android-background-sync.js +102 -0
- package/lib/commonjs/modules/background-sync/android-background-sync.js.map +1 -0
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +49 -0
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/commonjs/modules/background-sync/index.js +28 -0
- package/lib/commonjs/modules/background-sync/index.js.map +1 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +7 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +80 -88
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +24 -2
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +9 -6
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js +16 -0
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +96 -36
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js +5 -3
- package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-provider.js +94 -12
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js +7 -4
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
- package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js +27 -11
- package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
- package/lib/commonjs/modules/data-sync/index.js +11 -0
- package/lib/commonjs/modules/data-sync/index.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +4 -3
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js +9 -5
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js +19 -2
- package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
- package/lib/commonjs/modules/data-sync/types/health-authorization-status.js +6 -0
- package/lib/commonjs/modules/data-sync/types/health-authorization-status.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/background-sync/android-background-sync.js +93 -0
- package/lib/module/modules/background-sync/android-background-sync.js.map +1 -0
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +44 -0
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/module/modules/background-sync/index.js +5 -0
- package/lib/module/modules/background-sync/index.js.map +1 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +7 -2
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +81 -89
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +24 -2
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +9 -6
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js +16 -0
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -1
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +96 -36
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/components/android/android-health-sync.js +5 -3
- package/lib/module/modules/data-sync/components/android/android-health-sync.js.map +1 -1
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js +95 -13
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/components/apple/apple-health-sync.js +7 -4
- package/lib/module/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
- package/lib/module/modules/data-sync/hooks/use-listen-changes.js +27 -10
- package/lib/module/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
- package/lib/module/modules/data-sync/index.js +1 -0
- package/lib/module/modules/data-sync/index.js.map +1 -1
- package/lib/module/modules/data-sync/services/base-health-sync-service.js +4 -3
- package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js +9 -5
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-state-manager.js +19 -2
- package/lib/module/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
- package/lib/module/modules/data-sync/types/health-authorization-status.js +4 -0
- package/lib/module/modules/data-sync/types/health-authorization-status.js.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts +62 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +11 -4
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/data-sync.d.ts +4 -4
- package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +4 -4
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +7 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts +5 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -2
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +1 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts +62 -0
- package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts +12 -0
- package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +11 -4
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/data-sync.d.ts +4 -4
- package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/data-sync/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts +2 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +4 -4
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts +4 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +7 -1
- package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts +5 -1
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -2
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +15 -0
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts +6 -0
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts +4 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
- package/package.json +6 -3
- package/react-native.config.js +11 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
buildscript {
|
|
2
|
+
repositories {
|
|
3
|
+
google()
|
|
4
|
+
mavenCentral()
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
dependencies {
|
|
8
|
+
classpath "com.android.tools.build:gradle:8.8.0"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
apply plugin: "com.android.library"
|
|
13
|
+
|
|
14
|
+
def getExtOrDefault = { name, fallback ->
|
|
15
|
+
rootProject.ext.has(name) ? rootProject.ext.get(name) : fallback
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
android {
|
|
19
|
+
namespace "com.ovok.sdk.backgroundsync"
|
|
20
|
+
compileSdkVersion getExtOrDefault("compileSdkVersion", 35)
|
|
21
|
+
|
|
22
|
+
defaultConfig {
|
|
23
|
+
minSdkVersion getExtOrDefault("minSdkVersion", 26)
|
|
24
|
+
targetSdkVersion getExtOrDefault("targetSdkVersion", 35)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
compileOptions {
|
|
28
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
29
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
repositories {
|
|
34
|
+
google()
|
|
35
|
+
mavenCentral()
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
dependencies {
|
|
39
|
+
// For modern React Native this is resolved by the React Gradle plugin.
|
|
40
|
+
implementation "com.facebook.react:react-native:+"
|
|
41
|
+
implementation "androidx.core:core:1.13.1"
|
|
42
|
+
implementation "androidx.work:work-runtime:2.10.1"
|
|
43
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<manifest
|
|
2
|
+
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
xmlns:tools="http://schemas.android.com/tools">
|
|
4
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
5
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" />
|
|
6
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
|
7
|
+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
8
|
+
<uses-permission
|
|
9
|
+
android:name="android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND"
|
|
10
|
+
tools:targetApi="34" />
|
|
11
|
+
|
|
12
|
+
<application>
|
|
13
|
+
<service
|
|
14
|
+
android:name=".OvokBluetoothForegroundService"
|
|
15
|
+
android:exported="false"
|
|
16
|
+
android:foregroundServiceType="connectedDevice"
|
|
17
|
+
android:stopWithTask="false" />
|
|
18
|
+
<service
|
|
19
|
+
android:name=".OvokHealthConnectTaskService"
|
|
20
|
+
android:exported="false"
|
|
21
|
+
android:foregroundServiceType="dataSync" />
|
|
22
|
+
</application>
|
|
23
|
+
</manifest>
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
package com.ovok.sdk.backgroundsync;
|
|
2
|
+
|
|
3
|
+
import android.app.Notification;
|
|
4
|
+
import android.app.NotificationChannel;
|
|
5
|
+
import android.app.NotificationManager;
|
|
6
|
+
import android.content.Context;
|
|
7
|
+
import android.os.Build;
|
|
8
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
9
|
+
|
|
10
|
+
final class BackgroundSyncNotification {
|
|
11
|
+
static final String BLUETOOTH_CHANNEL = "ovok-bluetooth-background-sync";
|
|
12
|
+
static final String HEALTH_CHANNEL = "ovok-health-background-sync";
|
|
13
|
+
|
|
14
|
+
private BackgroundSyncNotification() {}
|
|
15
|
+
|
|
16
|
+
static void save(Context context, ReadableMap options, String kind) {
|
|
17
|
+
String defaultTaskName = "OvokHealthConnectBackgroundSync";
|
|
18
|
+
String taskName = options.hasKey("taskName") ? options.getString("taskName") : defaultTaskName;
|
|
19
|
+
String title = options.hasKey("notificationTitle")
|
|
20
|
+
? options.getString("notificationTitle")
|
|
21
|
+
: "Ovok background sync";
|
|
22
|
+
String body = options.hasKey("notificationBody")
|
|
23
|
+
? options.getString("notificationBody")
|
|
24
|
+
: "Keeping health data synchronized";
|
|
25
|
+
String channelId = kind.equals("bluetooth") ? BLUETOOTH_CHANNEL : HEALTH_CHANNEL;
|
|
26
|
+
|
|
27
|
+
context.getSharedPreferences(OvokBackgroundSyncModule.PREFS, Context.MODE_PRIVATE)
|
|
28
|
+
.edit()
|
|
29
|
+
.putString(kind + "_notification_title", title)
|
|
30
|
+
.putString(kind + "_notification_body", body)
|
|
31
|
+
.putString(kind + "_channel_id", channelId)
|
|
32
|
+
.apply();
|
|
33
|
+
|
|
34
|
+
if (kind.equals("health")) {
|
|
35
|
+
context.getSharedPreferences(OvokBackgroundSyncModule.PREFS, Context.MODE_PRIVATE)
|
|
36
|
+
.edit()
|
|
37
|
+
.putString("health_task_name", taskName)
|
|
38
|
+
.apply();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
ensureChannel(context, channelId, kind.equals("bluetooth")
|
|
42
|
+
? "Bluetooth background sync"
|
|
43
|
+
: "Health Connect background sync");
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
static Notification create(Context context, String kind) {
|
|
47
|
+
String channelId = kind.equals("bluetooth") ? BLUETOOTH_CHANNEL : HEALTH_CHANNEL;
|
|
48
|
+
String title = context.getSharedPreferences(OvokBackgroundSyncModule.PREFS, Context.MODE_PRIVATE)
|
|
49
|
+
.getString(kind + "_notification_title", "Ovok background sync");
|
|
50
|
+
String body = context.getSharedPreferences(OvokBackgroundSyncModule.PREFS, Context.MODE_PRIVATE)
|
|
51
|
+
.getString(kind + "_notification_body", "Keeping health data synchronized");
|
|
52
|
+
int icon = context.getApplicationInfo().icon;
|
|
53
|
+
if (icon == 0) {
|
|
54
|
+
icon = android.R.drawable.stat_sys_data_bluetooth;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return new androidx.core.app.NotificationCompat.Builder(context, channelId)
|
|
58
|
+
.setSmallIcon(icon)
|
|
59
|
+
.setContentTitle(title)
|
|
60
|
+
.setContentText(body)
|
|
61
|
+
.setOngoing(true)
|
|
62
|
+
.setCategory(Notification.CATEGORY_SERVICE)
|
|
63
|
+
.setPriority(androidx.core.app.NotificationCompat.PRIORITY_LOW)
|
|
64
|
+
.build();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
private static void ensureChannel(Context context, String id, String name) {
|
|
68
|
+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
NotificationChannel channel = new NotificationChannel(
|
|
73
|
+
id,
|
|
74
|
+
name,
|
|
75
|
+
NotificationManager.IMPORTANCE_LOW);
|
|
76
|
+
context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
package com.ovok.sdk.backgroundsync;
|
|
2
|
+
|
|
3
|
+
import android.content.Context;
|
|
4
|
+
import android.content.Intent;
|
|
5
|
+
import android.os.Build;
|
|
6
|
+
import androidx.annotation.NonNull;
|
|
7
|
+
import androidx.core.content.ContextCompat;
|
|
8
|
+
import androidx.work.Constraints;
|
|
9
|
+
import androidx.work.ExistingPeriodicWorkPolicy;
|
|
10
|
+
import androidx.work.NetworkType;
|
|
11
|
+
import androidx.work.PeriodicWorkRequest;
|
|
12
|
+
import androidx.work.WorkManager;
|
|
13
|
+
import com.facebook.react.bridge.Promise;
|
|
14
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
15
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
16
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
17
|
+
import com.facebook.react.bridge.ReactMethod;
|
|
18
|
+
import java.util.concurrent.TimeUnit;
|
|
19
|
+
|
|
20
|
+
public final class OvokBackgroundSyncModule extends ReactContextBaseJavaModule {
|
|
21
|
+
public static final String NAME = "OvokBackgroundSync";
|
|
22
|
+
static final String PREFS = "ovok_background_sync";
|
|
23
|
+
static final String HEALTH_WORK_NAME = "ovok-health-connect-background-sync";
|
|
24
|
+
|
|
25
|
+
public OvokBackgroundSyncModule(ReactApplicationContext reactContext) {
|
|
26
|
+
super(reactContext);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@NonNull
|
|
30
|
+
@Override
|
|
31
|
+
public String getName() {
|
|
32
|
+
return NAME;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@ReactMethod
|
|
36
|
+
public void startBluetoothForegroundService(ReadableMap options, Promise promise) {
|
|
37
|
+
try {
|
|
38
|
+
Context context = getReactApplicationContext();
|
|
39
|
+
BackgroundSyncNotification.save(context, options, "bluetooth");
|
|
40
|
+
|
|
41
|
+
Intent intent = new Intent(context, OvokBluetoothForegroundService.class);
|
|
42
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
43
|
+
ContextCompat.startForegroundService(context, intent);
|
|
44
|
+
} else {
|
|
45
|
+
context.startService(intent);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
promise.resolve(null);
|
|
49
|
+
} catch (Exception error) {
|
|
50
|
+
promise.reject("OVOK_BACKGROUND_SYNC_START_FAILED", error);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@ReactMethod
|
|
55
|
+
public void stopBluetoothForegroundService(Promise promise) {
|
|
56
|
+
try {
|
|
57
|
+
Context context = getReactApplicationContext();
|
|
58
|
+
context.stopService(new Intent(context, OvokBluetoothForegroundService.class));
|
|
59
|
+
promise.resolve(null);
|
|
60
|
+
} catch (Exception error) {
|
|
61
|
+
promise.reject("OVOK_BACKGROUND_SYNC_STOP_FAILED", error);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@ReactMethod
|
|
66
|
+
public void scheduleHealthConnectSync(ReadableMap options, Promise promise) {
|
|
67
|
+
try {
|
|
68
|
+
Context context = getReactApplicationContext();
|
|
69
|
+
BackgroundSyncNotification.save(context, options, "health");
|
|
70
|
+
|
|
71
|
+
long intervalMinutes = options.hasKey("intervalMinutes")
|
|
72
|
+
? Math.max(15, options.getInt("intervalMinutes"))
|
|
73
|
+
: 15;
|
|
74
|
+
|
|
75
|
+
Constraints constraints = new Constraints.Builder()
|
|
76
|
+
.setRequiredNetworkType(NetworkType.CONNECTED)
|
|
77
|
+
.build();
|
|
78
|
+
PeriodicWorkRequest request = new PeriodicWorkRequest.Builder(
|
|
79
|
+
OvokHealthConnectWorker.class,
|
|
80
|
+
intervalMinutes,
|
|
81
|
+
TimeUnit.MINUTES)
|
|
82
|
+
.setConstraints(constraints)
|
|
83
|
+
.build();
|
|
84
|
+
|
|
85
|
+
WorkManager.getInstance(context).enqueueUniquePeriodicWork(
|
|
86
|
+
HEALTH_WORK_NAME,
|
|
87
|
+
ExistingPeriodicWorkPolicy.UPDATE,
|
|
88
|
+
request);
|
|
89
|
+
promise.resolve(null);
|
|
90
|
+
} catch (Exception error) {
|
|
91
|
+
promise.reject("OVOK_HEALTH_SYNC_SCHEDULE_FAILED", error);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
@ReactMethod
|
|
96
|
+
public void cancelHealthConnectSync(Promise promise) {
|
|
97
|
+
try {
|
|
98
|
+
Context context = getReactApplicationContext();
|
|
99
|
+
WorkManager.getInstance(context).cancelUniqueWork(HEALTH_WORK_NAME);
|
|
100
|
+
context.getSharedPreferences(PREFS, Context.MODE_PRIVATE)
|
|
101
|
+
.edit()
|
|
102
|
+
.remove("health_task_name")
|
|
103
|
+
.apply();
|
|
104
|
+
promise.resolve(null);
|
|
105
|
+
} catch (Exception error) {
|
|
106
|
+
promise.reject("OVOK_HEALTH_SYNC_CANCEL_FAILED", error);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
package com.ovok.sdk.backgroundsync;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
import com.facebook.react.ReactPackage;
|
|
5
|
+
import com.facebook.react.bridge.NativeModule;
|
|
6
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
7
|
+
import com.facebook.react.uimanager.ViewManager;
|
|
8
|
+
import java.util.ArrayList;
|
|
9
|
+
import java.util.Collections;
|
|
10
|
+
import java.util.List;
|
|
11
|
+
|
|
12
|
+
public final class OvokBackgroundSyncPackage implements ReactPackage {
|
|
13
|
+
@NonNull
|
|
14
|
+
@Override
|
|
15
|
+
public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
|
|
16
|
+
List<NativeModule> modules = new ArrayList<>();
|
|
17
|
+
modules.add(new OvokBackgroundSyncModule(reactContext));
|
|
18
|
+
return modules;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@NonNull
|
|
22
|
+
@Override
|
|
23
|
+
public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
|
|
24
|
+
return Collections.emptyList();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
package com.ovok.sdk.backgroundsync;
|
|
2
|
+
|
|
3
|
+
import android.app.Service;
|
|
4
|
+
import android.content.Intent;
|
|
5
|
+
import android.os.IBinder;
|
|
6
|
+
import androidx.annotation.Nullable;
|
|
7
|
+
|
|
8
|
+
public final class OvokBluetoothForegroundService extends Service {
|
|
9
|
+
private static final int NOTIFICATION_ID = 7311;
|
|
10
|
+
|
|
11
|
+
@Override
|
|
12
|
+
public int onStartCommand(Intent intent, int flags, int startId) {
|
|
13
|
+
startForeground(NOTIFICATION_ID, BackgroundSyncNotification.create(this, "bluetooth"));
|
|
14
|
+
return START_STICKY;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@Override
|
|
18
|
+
public void onDestroy() {
|
|
19
|
+
stopForeground(STOP_FOREGROUND_REMOVE);
|
|
20
|
+
super.onDestroy();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@Nullable
|
|
24
|
+
@Override
|
|
25
|
+
public IBinder onBind(Intent intent) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
package com.ovok.sdk.backgroundsync;
|
|
2
|
+
|
|
3
|
+
import android.content.Context;
|
|
4
|
+
import android.content.Intent;
|
|
5
|
+
import android.os.Bundle;
|
|
6
|
+
import com.facebook.react.HeadlessJsTaskService;
|
|
7
|
+
import com.facebook.react.bridge.Arguments;
|
|
8
|
+
import com.facebook.react.bridge.WritableMap;
|
|
9
|
+
import com.facebook.react.jstasks.HeadlessJsTaskConfig;
|
|
10
|
+
import com.facebook.react.jstasks.LinearCountingRetryPolicy;
|
|
11
|
+
|
|
12
|
+
public final class OvokHealthConnectTaskService extends HeadlessJsTaskService {
|
|
13
|
+
private static final int NOTIFICATION_ID = 7312;
|
|
14
|
+
|
|
15
|
+
@Override
|
|
16
|
+
public int onStartCommand(Intent intent, int flags, int startId) {
|
|
17
|
+
startForeground(NOTIFICATION_ID, BackgroundSyncNotification.create(this, "health"));
|
|
18
|
+
return super.onStartCommand(intent, flags, startId);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@Override
|
|
22
|
+
protected HeadlessJsTaskConfig getTaskConfig(Intent intent) {
|
|
23
|
+
Context context = getApplicationContext();
|
|
24
|
+
String taskName = context.getSharedPreferences(OvokBackgroundSyncModule.PREFS, Context.MODE_PRIVATE)
|
|
25
|
+
.getString("health_task_name", "OvokHealthConnectBackgroundSync");
|
|
26
|
+
WritableMap data = Arguments.createMap();
|
|
27
|
+
Bundle extras = intent == null ? null : intent.getExtras();
|
|
28
|
+
if (extras != null && extras.containsKey("reason")) {
|
|
29
|
+
data.putString("reason", extras.getString("reason"));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return new HeadlessJsTaskConfig(
|
|
33
|
+
taskName,
|
|
34
|
+
data,
|
|
35
|
+
10 * 60 * 1000L,
|
|
36
|
+
false,
|
|
37
|
+
new LinearCountingRetryPolicy(2, 30 * 1000));
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@Override
|
|
41
|
+
public void onDestroy() {
|
|
42
|
+
stopForeground(STOP_FOREGROUND_REMOVE);
|
|
43
|
+
super.onDestroy();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
package com.ovok.sdk.backgroundsync;
|
|
2
|
+
|
|
3
|
+
import android.content.Context;
|
|
4
|
+
import android.content.Intent;
|
|
5
|
+
import androidx.annotation.NonNull;
|
|
6
|
+
import androidx.core.content.ContextCompat;
|
|
7
|
+
import androidx.work.Worker;
|
|
8
|
+
import androidx.work.WorkerParameters;
|
|
9
|
+
|
|
10
|
+
public final class OvokHealthConnectWorker extends Worker {
|
|
11
|
+
public OvokHealthConnectWorker(@NonNull Context context, @NonNull WorkerParameters params) {
|
|
12
|
+
super(context, params);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@NonNull
|
|
16
|
+
@Override
|
|
17
|
+
public Result doWork() {
|
|
18
|
+
try {
|
|
19
|
+
Context context = getApplicationContext();
|
|
20
|
+
Intent intent = new Intent(context, OvokHealthConnectTaskService.class);
|
|
21
|
+
intent.putExtra("reason", "periodic-work");
|
|
22
|
+
ContextCompat.startForegroundService(context, intent);
|
|
23
|
+
return Result.success();
|
|
24
|
+
} catch (Exception error) {
|
|
25
|
+
return Result.retry();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -278,4 +278,15 @@ Object.keys(_index22).forEach(function (key) {
|
|
|
278
278
|
}
|
|
279
279
|
});
|
|
280
280
|
});
|
|
281
|
+
var _index23 = require("./modules/background-sync/index.js");
|
|
282
|
+
Object.keys(_index23).forEach(function (key) {
|
|
283
|
+
if (key === "default" || key === "__esModule") return;
|
|
284
|
+
if (key in exports && exports[key] === _index23[key]) return;
|
|
285
|
+
Object.defineProperty(exports, key, {
|
|
286
|
+
enumerable: true,
|
|
287
|
+
get: function () {
|
|
288
|
+
return _index23[key];
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
});
|
|
281
292
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_index","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_index2","_index3","_index4","_index5","_index6","_index7","_index8","_index9","_index0","_index1","_index10","_index11","_index12","_index13","_index14","_index15","_index16","_index17","_index18","_btProvider","_index19","_index20","_index21","_index22"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_index","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_index2","_index3","_index4","_index5","_index6","_index7","_index8","_index9","_index0","_index1","_index10","_index11","_index12","_index13","_index14","_index15","_index16","_index17","_index18","_btProvider","_index19","_index20","_index21","_index22","_index23"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.stopAndroidBluetoothForegroundService = exports.startAndroidBluetoothForegroundService = exports.scheduleAndroidHealthConnectSync = exports.runAndroidHealthConnectSync = exports.registerAndroidHealthConnectBackgroundTask = exports.cancelAndroidHealthConnectSync = exports.ANDROID_HEALTH_CONNECT_BACKGROUND_TASK = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _androidHealthSyncService = require("../data-sync/services/android-health-sync-service.js");
|
|
9
|
+
const ANDROID_HEALTH_CONNECT_BACKGROUND_TASK = exports.ANDROID_HEALTH_CONNECT_BACKGROUND_TASK = "OvokHealthConnectBackgroundSync";
|
|
10
|
+
const getNativeModule = () => {
|
|
11
|
+
const nativeModule = _reactNative.NativeModules.OvokBackgroundSync;
|
|
12
|
+
if (!nativeModule) {
|
|
13
|
+
throw new Error("Ovok Android background sync requires a native Android build. Rebuild the app after installing @ovok/native.");
|
|
14
|
+
}
|
|
15
|
+
return nativeModule;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Starts the Android connected-device foreground service. Mount this alongside
|
|
20
|
+
* the BTProvider that owns the scan; the service keeps that app process alive
|
|
21
|
+
* while Android has the app in the background.
|
|
22
|
+
*/
|
|
23
|
+
const startAndroidBluetoothForegroundService = async (options = {}) => {
|
|
24
|
+
if (_reactNative.Platform.OS !== "android") {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
await getNativeModule().startBluetoothForegroundService(options);
|
|
28
|
+
};
|
|
29
|
+
exports.startAndroidBluetoothForegroundService = startAndroidBluetoothForegroundService;
|
|
30
|
+
const stopAndroidBluetoothForegroundService = async () => {
|
|
31
|
+
if (_reactNative.Platform.OS !== "android") {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
await getNativeModule().stopBluetoothForegroundService();
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Schedules a WorkManager wake-up that starts the registered headless JS task.
|
|
39
|
+
* The task must create the host app's authenticated client and run the desired
|
|
40
|
+
* AndroidHealthSync service; the SDK cannot serialize a client or auth token.
|
|
41
|
+
*/
|
|
42
|
+
exports.stopAndroidBluetoothForegroundService = stopAndroidBluetoothForegroundService;
|
|
43
|
+
const scheduleAndroidHealthConnectSync = async (options = {}) => {
|
|
44
|
+
if (_reactNative.Platform.OS !== "android") {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
await getNativeModule().scheduleHealthConnectSync(options);
|
|
48
|
+
};
|
|
49
|
+
exports.scheduleAndroidHealthConnectSync = scheduleAndroidHealthConnectSync;
|
|
50
|
+
const cancelAndroidHealthConnectSync = async () => {
|
|
51
|
+
if (_reactNative.Platform.OS !== "android") {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
await getNativeModule().cancelHealthConnectSync();
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Runs one Health Connect import without mounting React components.
|
|
59
|
+
*
|
|
60
|
+
* Headless JS tasks have no React tree, so AndroidHealthSync cannot be rendered
|
|
61
|
+
* after the OS recreates the app process. The host app still restores its own
|
|
62
|
+
* client and patient identity, then calls this function with the same mapping
|
|
63
|
+
* it uses in the foreground.
|
|
64
|
+
*/
|
|
65
|
+
exports.cancelAndroidHealthConnectSync = cancelAndroidHealthConnectSync;
|
|
66
|
+
const runAndroidHealthConnectSync = async ({
|
|
67
|
+
client,
|
|
68
|
+
patientId,
|
|
69
|
+
dataToSync,
|
|
70
|
+
chunkSize,
|
|
71
|
+
onError,
|
|
72
|
+
onProgress
|
|
73
|
+
}) => {
|
|
74
|
+
const progress = {};
|
|
75
|
+
const service = _androidHealthSyncService.AndroidHealthSyncService.getInstance({
|
|
76
|
+
client,
|
|
77
|
+
patientId,
|
|
78
|
+
dataToSync,
|
|
79
|
+
chunkSize,
|
|
80
|
+
onSyncError: error => onError?.(error),
|
|
81
|
+
updateProgress: nextProgress => {
|
|
82
|
+
progress[nextProgress.measurementTypeKey] = nextProgress;
|
|
83
|
+
onProgress?.(progress);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
await service.startSync();
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Registers the JS entry point WorkManager invokes after process death. Call
|
|
91
|
+
* this once from the app entry point, not from a screen component, so it is
|
|
92
|
+
* registered before Android wakes the headless runtime.
|
|
93
|
+
*/
|
|
94
|
+
exports.runAndroidHealthConnectSync = runAndroidHealthConnectSync;
|
|
95
|
+
const registerAndroidHealthConnectBackgroundTask = (task, taskName = ANDROID_HEALTH_CONNECT_BACKGROUND_TASK) => {
|
|
96
|
+
if (_reactNative.Platform.OS !== "android") {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
_reactNative.AppRegistry.registerHeadlessTask(taskName, () => task);
|
|
100
|
+
};
|
|
101
|
+
exports.registerAndroidHealthConnectBackgroundTask = registerAndroidHealthConnectBackgroundTask;
|
|
102
|
+
//# sourceMappingURL=android-background-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_androidHealthSyncService","ANDROID_HEALTH_CONNECT_BACKGROUND_TASK","exports","getNativeModule","nativeModule","NativeModules","OvokBackgroundSync","Error","startAndroidBluetoothForegroundService","options","Platform","OS","startBluetoothForegroundService","stopAndroidBluetoothForegroundService","stopBluetoothForegroundService","scheduleAndroidHealthConnectSync","scheduleHealthConnectSync","cancelAndroidHealthConnectSync","cancelHealthConnectSync","runAndroidHealthConnectSync","client","patientId","dataToSync","chunkSize","onError","onProgress","progress","service","AndroidHealthSyncService","getInstance","onSyncError","error","updateProgress","nextProgress","measurementTypeKey","startSync","registerAndroidHealthConnectBackgroundTask","task","taskName","AppRegistry","registerHeadlessTask"],"sourceRoot":"../../../../src","sources":["modules/background-sync/android-background-sync.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,yBAAA,GAAAD,OAAA;AAIA,MAAME,sCAAsC,GAAAC,OAAA,CAAAD,sCAAA,GAC1C,iCAAiC;AAoDnC,MAAME,eAAe,GAAGA,CAAA,KAAkC;EACxD,MAAMC,YAAY,GAAGC,0BAAa,CAACC,kBAEtB;EAEb,IAAI,CAACF,YAAY,EAAE;IACjB,MAAM,IAAIG,KAAK,CACb,8GACF,CAAC;EACH;EAEA,OAAOH,YAAY;AACrB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMI,sCAAsC,GAAG,MAAAA,CAC7CC,OAAiD,GAAG,CAAC,CAAC,KACpC;EAClB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EAEA,MAAMR,eAAe,CAAC,CAAC,CAACS,+BAA+B,CAACH,OAAO,CAAC;AAClE,CAAC;AAACP,OAAA,CAAAM,sCAAA,GAAAA,sCAAA;AAEF,MAAMK,qCAAqC,GAAG,MAAAA,CAAA,KAA2B;EACvE,IAAIH,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EAEA,MAAMR,eAAe,CAAC,CAAC,CAACW,8BAA8B,CAAC,CAAC;AAC1D,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAZ,OAAA,CAAAW,qCAAA,GAAAA,qCAAA;AAKA,MAAME,gCAAgC,GAAG,MAAAA,CACvCN,OAAkD,GAAG,CAAC,CAAC,KACrC;EAClB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EAEA,MAAMR,eAAe,CAAC,CAAC,CAACa,yBAAyB,CAACP,OAAO,CAAC;AAC5D,CAAC;AAACP,OAAA,CAAAa,gCAAA,GAAAA,gCAAA;AAEF,MAAME,8BAA8B,GAAG,MAAAA,CAAA,KAA2B;EAChE,IAAIP,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EAEA,MAAMR,eAAe,CAAC,CAAC,CAACe,uBAAuB,CAAC,CAAC;AACnD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAhB,OAAA,CAAAe,8BAAA,GAAAA,8BAAA;AAQA,MAAME,2BAA2B,GAAG,MAAAA,CAAO;EACzCC,MAAM;EACNC,SAAS;EACTC,UAAU;EACVC,SAAS;EACTC,OAAO;EACPC;AACkC,CAAC,KAAoB;EACvD,MAAMC,QAA2D,GAAG,CAAC,CAAC;EAEtE,MAAMC,OAAO,GAAGC,kDAAwB,CAACC,WAAW,CAAC;IACnDT,MAAM;IACNC,SAAS;IACTC,UAAU;IACVC,SAAS;IACTO,WAAW,EAAGC,KAAK,IAAKP,OAAO,GAAGO,KAAK,CAAC;IACxCC,cAAc,EAAGC,YAAY,IAAK;MAChCP,QAAQ,CAACO,YAAY,CAACC,kBAAkB,CAAC,GAAGD,YAAY;MACxDR,UAAU,GAAGC,QAAQ,CAAC;IACxB;EACF,CAAC,CAAC;EAEF,MAAMC,OAAO,CAACQ,SAAS,CAAC,CAAC;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAjC,OAAA,CAAAiB,2BAAA,GAAAA,2BAAA;AAKA,MAAMiB,0CAA0C,GAAGA,CACjDC,IAAwC,EACxCC,QAAQ,GAAGrC,sCAAsC,KACxC;EACT,IAAIS,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EAEA4B,wBAAW,CAACC,oBAAoB,CAACF,QAAQ,EAAE,MAAMD,IAAI,CAAC;AACxD,CAAC;AAACnC,OAAA,CAAAkC,0CAAA,GAAAA,0CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AndroidBluetoothForegroundService = void 0;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _androidBackgroundSync = require("./android-background-sync.js");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
const AndroidBluetoothForegroundService = ({
|
|
13
|
+
enabled,
|
|
14
|
+
children,
|
|
15
|
+
options,
|
|
16
|
+
onError
|
|
17
|
+
}) => {
|
|
18
|
+
const notificationBody = options?.notificationBody;
|
|
19
|
+
const notificationTitle = options?.notificationTitle;
|
|
20
|
+
React.useEffect(() => {
|
|
21
|
+
if (_reactNative.Platform.OS !== "android" || !enabled) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
void (0, _androidBackgroundSync.startAndroidBluetoothForegroundService)({
|
|
25
|
+
...(notificationBody === undefined ? {} : {
|
|
26
|
+
notificationBody
|
|
27
|
+
}),
|
|
28
|
+
...(notificationTitle === undefined ? {} : {
|
|
29
|
+
notificationTitle
|
|
30
|
+
})
|
|
31
|
+
}).catch(error => {
|
|
32
|
+
onError?.({
|
|
33
|
+
error: error instanceof Error ? error : String(error)
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
return () => {
|
|
37
|
+
void (0, _androidBackgroundSync.stopAndroidBluetoothForegroundService)().catch(error => {
|
|
38
|
+
onError?.({
|
|
39
|
+
error: error instanceof Error ? error : String(error)
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
}, [enabled, notificationBody, notificationTitle, onError]);
|
|
44
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
45
|
+
children: children
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
exports.AndroidBluetoothForegroundService = AndroidBluetoothForegroundService;
|
|
49
|
+
//# sourceMappingURL=android-bluetooth-foreground-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_androidBackgroundSync","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AndroidBluetoothForegroundService","enabled","children","options","onError","notificationBody","notificationTitle","useEffect","Platform","OS","startAndroidBluetoothForegroundService","undefined","catch","error","Error","String","stopAndroidBluetoothForegroundService","jsx","Fragment","exports"],"sourceRoot":"../../../../src","sources":["modules/background-sync/android-bluetooth-foreground-service.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,sBAAA,GAAAF,OAAA;AAImC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AASnC,MAAMkB,iCAAiC,GAAGA,CAAC;EACzCC,OAAO;EACPC,QAAQ;EACRC,OAAO;EACPC;AACsC,CAAC,KAAK;EAC5C,MAAMC,gBAAgB,GAAGF,OAAO,EAAEE,gBAAgB;EAClD,MAAMC,iBAAiB,GAAGH,OAAO,EAAEG,iBAAiB;EAEpD/B,KAAK,CAACgC,SAAS,CAAC,MAAM;IACpB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI,CAACR,OAAO,EAAE;MACzC;IACF;IAEA,KAAK,IAAAS,6DAAsC,EAAC;MAC1C,IAAIL,gBAAgB,KAAKM,SAAS,GAAG,CAAC,CAAC,GAAG;QAAEN;MAAiB,CAAC,CAAC;MAC/D,IAAIC,iBAAiB,KAAKK,SAAS,GAAG,CAAC,CAAC,GAAG;QAAEL;MAAkB,CAAC;IAClE,CAAC,CAAC,CAACM,KAAK,CAAEC,KAAc,IAAK;MACzBT,OAAO,GAAG;QACRS,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,GAAGE,MAAM,CAACF,KAAK;MACtD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEJ,OAAO,MAAM;MACX,KAAK,IAAAG,4DAAqC,EAAC,CAAC,CAACJ,KAAK,CAAEC,KAAc,IAAK;QACrET,OAAO,GAAG;UACRS,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,GAAGE,MAAM,CAACF,KAAK;QACtD,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAAE,CAACZ,OAAO,EAAEI,gBAAgB,EAAEC,iBAAiB,EAAEF,OAAO,CAAC,CAAC;EAE3D,oBAAO,IAAAxB,WAAA,CAAAqC,GAAA,EAAArC,WAAA,CAAAsC,QAAA;IAAAhB,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;AAACiB,OAAA,CAAAnB,iCAAA,GAAAA,iCAAA","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _androidBackgroundSync = require("./android-background-sync.js");
|
|
7
|
+
Object.keys(_androidBackgroundSync).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _androidBackgroundSync[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _androidBackgroundSync[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _androidBluetoothForegroundService = require("./android-bluetooth-foreground-service.js");
|
|
18
|
+
Object.keys(_androidBluetoothForegroundService).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _androidBluetoothForegroundService[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _androidBluetoothForegroundService[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_androidBackgroundSync","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_androidBluetoothForegroundService"],"sourceRoot":"../../../../src","sources":["modules/background-sync/index.ts"],"mappings":";;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,sBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,sBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,sBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,kCAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,kCAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,kCAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,kCAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|