react-native-spike-sdk 2.3.1 → 2.3.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.
@@ -76,7 +76,7 @@ dependencies {
76
76
  //noinspection GradleDynamicVersion
77
77
  implementation "com.facebook.react:react-android:0.71.3"
78
78
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
79
- implementation 'com.spikeapi.sdk:spike-sdk:3.0.11'
79
+ implementation 'com.spikeapi.sdk:spike-sdk:3.0.15'
80
80
  implementation 'androidx.core:core-ktx:1.9.0'
81
81
  implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
82
82
  implementation 'com.google.code.gson:gson:2.10.1'
@@ -12,6 +12,7 @@ import com.spikeapi.SpikeConnection
12
12
  import com.spikeapi.SpikeExceptions
13
13
  import com.spikeapi.SpikeLogger
14
14
  import com.spikeapi.SpikePackageChecker
15
+ import com.spikeapi.healthconnect.HealthConnectAvailability
15
16
  import kotlinx.coroutines.CoroutineScope
16
17
  import kotlinx.coroutines.Dispatchers
17
18
  import kotlinx.coroutines.SupervisorJob
@@ -365,11 +366,16 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
365
366
  reactApplicationContext, permissions
366
367
  )
367
368
 
368
- reactApplicationContext.currentActivity?.startActivityForResult(
369
- intent,
370
- REQUEST_CODE
371
- )
372
- promise.resolve(true)
369
+ val availability = connection.getHealthConnectAvailability()
370
+ if (availability == HealthConnectAvailability.INSTALLED) {
371
+ reactApplicationContext.currentActivity?.startActivityForResult(
372
+ intent,
373
+ REQUEST_CODE
374
+ )
375
+ promise.resolve(true)
376
+ } else {
377
+ promise.reject(SpikeExceptions.SpikeException().mapException(), SpikeExceptions.SpikeException().message)
378
+ }
373
379
  } else {
374
380
  val activity = reactApplicationContext.currentActivity
375
381
  if (activity is ComponentActivity) {
@@ -381,7 +387,11 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
381
387
 
382
388
  }
383
389
 
384
- launcher.launch(permissions)
390
+ if (permissions.isNotEmpty()) {
391
+ launcher.launch(permissions)
392
+ } else {
393
+ promise.resolve(false)
394
+ }
385
395
  } else {
386
396
  promise.resolve(false)
387
397
  }
@@ -404,15 +414,20 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
404
414
  }
405
415
 
406
416
  if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.TIRAMISU) {
407
- val intent = SpikeConnection.requestReadAuthorization().createIntent(
408
- reactApplicationContext, permissions
409
- )
417
+ val availability = connection.getHealthConnectAvailability()
418
+ if (permissions.isNotEmpty() && availability == HealthConnectAvailability.INSTALLED) {
419
+ val intent = SpikeConnection.requestReadAuthorization().createIntent(
420
+ reactApplicationContext, permissions
421
+ )
410
422
 
411
- reactApplicationContext.currentActivity?.startActivityForResult(
412
- intent,
413
- REQUEST_CODE
414
- )
415
- promise.resolve(true)
423
+ reactApplicationContext.currentActivity?.startActivityForResult(
424
+ intent,
425
+ REQUEST_CODE
426
+ )
427
+ promise.resolve(true)
428
+ } else {
429
+ promise.reject(SpikeExceptions.SpikeException().mapException(), SpikeExceptions.SpikeException().message)
430
+ }
416
431
  } else {
417
432
  val activity = reactApplicationContext.currentActivity
418
433
  if (activity is ComponentActivity) {
@@ -423,8 +438,10 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
423
438
  ) {
424
439
 
425
440
  }
426
-
427
- launcher.launch(permissions)
441
+ if (permissions.isNotEmpty()) {
442
+ launcher.launch(permissions)
443
+ } else {
444
+ promise.reject(SpikeExceptions.SpikeException().mapException(), SpikeExceptions.SpikeException().message) }
428
445
  } else {
429
446
  promise.resolve(false)
430
447
  }
@@ -11,6 +11,7 @@ type IntradayData = {
11
11
  timeEnd: string;
12
12
  value: number;
13
13
  source?: string;
14
+ metadata?: Record<string, string>;
14
15
  };
15
16
  export {};
16
17
  //# sourceMappingURL=SpikeStepsIntradayDataEntry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpikeStepsIntradayDataEntry.d.ts","sourceRoot":"","sources":["../../../src/DataModels/SpikeStepsIntradayDataEntry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
1
+ {"version":3,"file":"SpikeStepsIntradayDataEntry.d.ts","sourceRoot":"","sources":["../../../src/DataModels/SpikeStepsIntradayDataEntry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC"}
@@ -9,7 +9,7 @@ import type { SpikeOxygenSaturationDataEntry } from '../DataModels/SpikeOxygenSa
9
9
  import type { SpikeSleepDataEntry } from '../DataModels/SpikeSleepDataEntry';
10
10
  import type { SpikeStepsDataEntry } from '../DataModels/SpikeStepsDataEntry';
11
11
  import type { SpikeBodyDataEntry } from '../DataModels/SpikeBodyDataEntry';
12
- import type { SpikeStepsIntradayDataEntry } from 'src/DataModels/SpikeStepsIntradayDataEntry';
12
+ import type { SpikeStepsIntradayDataEntry } from '../DataModels/SpikeStepsIntradayDataEntry';
13
13
  type SpikeDataTypeValues = 'activities_summary' | 'activities_stream' | 'breathing' | 'calories' | 'distance' | 'glucose' | 'heart' | 'oxygen_saturation' | 'sleep' | 'steps' | 'steps_intraday' | 'body';
14
14
  export declare class SpikeActivitiesStreamDataType {
15
15
  rawValue: SpikeDataTypeValues;
@@ -1 +1 @@
1
- {"version":3,"file":"SpikeDataType.d.ts","sourceRoot":"","sources":["../../../src/DataTypes/SpikeDataType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAC;AACrG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAE9F,KAAK,mBAAmB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,WAAW,GACX,UAAU,GACV,UAAU,GACV,SAAS,GACT,OAAO,GACP,mBAAmB,GACnB,OAAO,GACP,OAAO,GACP,gBAAgB,GAChB,MAAM,CAAC;AACX,qBAAa,6BAA6B;IACxC,QAAQ,EAAE,mBAAmB,CAAuB;IACpD,SAAS,CAAC,EAAE,8BAA8B,CAAC;CAC5C;AAED,qBAAa,8BAA8B;IACzC,QAAQ,EAAE,mBAAmB,CAAwB;IACrD,SAAS,CAAC,EAAE,+BAA+B,CAAC;CAC7C;AAED,qBAAa,sBAAsB;IACjC,QAAQ,EAAE,mBAAmB,CAAe;IAC5C,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED,qBAAa,qBAAqB;IAChC,QAAQ,EAAE,mBAAmB,CAAc;IAC3C,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC;AAED,qBAAa,qBAAqB;IAChC,QAAQ,EAAE,mBAAmB,CAAc;IAC3C,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC;AAED,qBAAa,oBAAoB;IAC/B,QAAQ,EAAE,mBAAmB,CAAa;IAC1C,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED,qBAAa,kBAAkB;IAC7B,QAAQ,EAAE,mBAAmB,CAAW;IACxC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,qBAAa,6BAA6B;IACxC,QAAQ,EAAE,mBAAmB,CAAuB;IACpD,SAAS,CAAC,EAAE,8BAA8B,CAAC;CAC5C;AAED,qBAAa,kBAAkB;IAC7B,QAAQ,EAAE,mBAAmB,CAAW;IACxC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,qBAAa,kBAAkB;IAC7B,QAAQ,EAAE,mBAAmB,CAAW;IACxC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,qBAAa,0BAA0B;IACrC,QAAQ,EAAE,mBAAmB,CAAoB;IACjD,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC;AAED,qBAAa,iBAAiB;IAC5B,QAAQ,EAAE,mBAAmB,CAAU;IACvC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC"}
1
+ {"version":3,"file":"SpikeDataType.d.ts","sourceRoot":"","sources":["../../../src/DataTypes/SpikeDataType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAC;AACrG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAE7F,KAAK,mBAAmB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,WAAW,GACX,UAAU,GACV,UAAU,GACV,SAAS,GACT,OAAO,GACP,mBAAmB,GACnB,OAAO,GACP,OAAO,GACP,gBAAgB,GAChB,MAAM,CAAC;AACX,qBAAa,6BAA6B;IACxC,QAAQ,EAAE,mBAAmB,CAAuB;IACpD,SAAS,CAAC,EAAE,8BAA8B,CAAC;CAC5C;AAED,qBAAa,8BAA8B;IACzC,QAAQ,EAAE,mBAAmB,CAAwB;IACrD,SAAS,CAAC,EAAE,+BAA+B,CAAC;CAC7C;AAED,qBAAa,sBAAsB;IACjC,QAAQ,EAAE,mBAAmB,CAAe;IAC5C,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED,qBAAa,qBAAqB;IAChC,QAAQ,EAAE,mBAAmB,CAAc;IAC3C,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC;AAED,qBAAa,qBAAqB;IAChC,QAAQ,EAAE,mBAAmB,CAAc;IAC3C,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC;AAED,qBAAa,oBAAoB;IAC/B,QAAQ,EAAE,mBAAmB,CAAa;IAC1C,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED,qBAAa,kBAAkB;IAC7B,QAAQ,EAAE,mBAAmB,CAAW;IACxC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,qBAAa,6BAA6B;IACxC,QAAQ,EAAE,mBAAmB,CAAuB;IACpD,SAAS,CAAC,EAAE,8BAA8B,CAAC;CAC5C;AAED,qBAAa,kBAAkB;IAC7B,QAAQ,EAAE,mBAAmB,CAAW;IACxC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,qBAAa,kBAAkB;IAC7B,QAAQ,EAAE,mBAAmB,CAAW;IACxC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,qBAAa,0BAA0B;IACrC,QAAQ,EAAE,mBAAmB,CAAoB;IACjD,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC;AAED,qBAAa,iBAAiB;IAC5B,QAAQ,EAAE,mBAAmB,CAAU;IACvC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-spike-sdk",
3
- "version": "2.3.1",
3
+ "version": "2.3.3",
4
4
  "description": "Spike API for health and productivity data from wearables and IoT devices",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -5,7 +5,7 @@ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1
5
5
 
6
6
  Pod::Spec.new do |s|
7
7
  s.name = "react-native-spike-sdk"
8
- s.version = "2.3.1"
8
+ s.version = "2.3.3"
9
9
  s.summary = "Spike API for health and productivity data from wearables and IoT devices"
10
10
 
11
11
  s.description = <<-DESC
@@ -25,7 +25,7 @@ Pod::Spec.new do |s|
25
25
  s.swift_version = "5"
26
26
 
27
27
  s.dependency "React-Core"
28
- s.dependency "SpikeSDK", "~> 2.2.0"
28
+ s.dependency "SpikeSDK", "~> 2.2.1"
29
29
 
30
30
  # Don't install the dependencies when we run `pod install` in the old architecture.
31
31
  if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
@@ -12,4 +12,5 @@ type IntradayData = {
12
12
  timeEnd: string;
13
13
  value: number;
14
14
  source?: string;
15
+ metadata?: Record<string, string>;
15
16
  };
@@ -9,7 +9,7 @@ import type { SpikeOxygenSaturationDataEntry } from '../DataModels/SpikeOxygenSa
9
9
  import type { SpikeSleepDataEntry } from '../DataModels/SpikeSleepDataEntry';
10
10
  import type { SpikeStepsDataEntry } from '../DataModels/SpikeStepsDataEntry';
11
11
  import type { SpikeBodyDataEntry } from '../DataModels/SpikeBodyDataEntry';
12
- import type { SpikeStepsIntradayDataEntry } from 'src/DataModels/SpikeStepsIntradayDataEntry';
12
+ import type { SpikeStepsIntradayDataEntry } from '../DataModels/SpikeStepsIntradayDataEntry';
13
13
 
14
14
  type SpikeDataTypeValues =
15
15
  | 'activities_summary'