@sency/react-native-smkit-ui 2.1.5 → 2.1.7

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.
@@ -95,7 +95,7 @@ dependencies {
95
95
  implementation "com.facebook.react:react-android"
96
96
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
97
97
 
98
- implementation("com.sency.smkitui:smkitui:1.5.7") {
98
+ implementation("com.sency.smkitui:smkitui:1.5.9") {
99
99
  exclude group: 'com.facebook.fbjni', module: 'fbjni-java-only'
100
100
  // // Don't exclude native libraries
101
101
  // exclude group: 'com.facebook.react', module: 'react-native'
@@ -686,6 +686,7 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
686
686
  promise.reject("Starting workout from program Failed", "SDK not configured. Call configure() first.")
687
687
  return
688
688
  }
689
+
689
690
  val modificationsParam = finalModifications ?: "{}"
690
691
  sdk.startWorkoutProgram(
691
692
  workoutConfig = smKitWorkoutConfig.toWorkoutConfig(),
@@ -187,14 +187,14 @@ class SMKitUIManager: NSObject, RCTBridgeModule {
187
187
  print("SMKitUIManager: Starting workout program")
188
188
  self.onWorkoutDidFinish = onWorkoutDidFinish
189
189
  self.onWorkoutFailed = onWorkoutFailed
190
-
190
+
191
191
  DispatchQueue.main.async { [weak self] in
192
192
  guard let self = self,
193
193
  let smkitUIViewController = self.smkitUIViewController else {
194
194
  onWorkoutFailed("StartWorkoutProgram Failed", "Failed to present view", nil)
195
195
  return
196
196
  }
197
-
197
+
198
198
  guard let json = try? self.stringJsonToDic(stringJSON: rawJson),
199
199
  let week = json["week"] as? Int,
200
200
  let zone = json["bodyZone"] as? String,
@@ -209,8 +209,17 @@ class SMKitUIManager: NSObject, RCTBridgeModule {
209
209
  onWorkoutFailed("StartWorkoutProgram Failed", "Invalid Workout Config", nil)
210
210
  return
211
211
  }
212
-
212
+
213
213
  let language = self.resolveLanguage(rawLanguage)
214
+
215
+ // Set language on the main queue to avoid race conditions with
216
+ // setSessionLanguage/setPhoneCalibrationLanguage called from RN module queue
217
+ SMKitUIModel.setSessionLanguage(language: language)
218
+ SMKitUIModel.setPhoneCalibrationLanguage(language: language)
219
+
220
+ // Process modifications (color theme, phone calibration settings)
221
+ let _ = self.processModifications(modifications)
222
+
214
223
  let config = WorkoutConfig(
215
224
  week: week,
216
225
  bodyZone: bodyZone,
@@ -219,8 +228,7 @@ class SMKitUIManager: NSObject, RCTBridgeModule {
219
228
  language: language,
220
229
  programID: programID
221
230
  )
222
-
223
- // Note: startWorkoutFromProgram doesn't support modifications parameter in SDK 1.4.3
231
+
224
232
  SMKitUIModel.startWorkoutFromProgram(viewController: smkitUIViewController, workoutConfig: config, delegate: self, onFailure: { error in
225
233
  onWorkoutFailed("StartWorkoutProgram Failed", error.localizedDescription, error)
226
234
  })
@@ -142,7 +142,7 @@ function setCounterPreferences(counterPreferences) {
142
142
 
143
143
  /**
144
144
  * Enables or disables intelligence rest (fatigue detection).
145
- * Default is true (enabled).
145
+ * Default is false (disabled).
146
146
  * @param {boolean} enabled - Whether intelligence rest should be active.
147
147
  */
148
148
  function setIntelligenceRestEnabled(enabled) {
@@ -119,7 +119,7 @@ export function setCounterPreferences(counterPreferences) {
119
119
 
120
120
  /**
121
121
  * Enables or disables intelligence rest (fatigue detection).
122
- * Default is true (enabled).
122
+ * Default is false (disabled).
123
123
  * @param {boolean} enabled - Whether intelligence rest should be active.
124
124
  */
125
125
  export function setIntelligenceRestEnabled(enabled) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sency/react-native-smkit-ui",
3
- "version": "2.1.5",
3
+ "version": "2.1.7",
4
4
  "description": "React Native library for SMKit UI - Advanced fitness assessments and workout programs with AI-powered motion detection and real-time performance tracking",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.tsx CHANGED
@@ -169,7 +169,7 @@ export function setCounterPreferences(
169
169
 
170
170
  /**
171
171
  * Enables or disables intelligence rest (fatigue detection).
172
- * Default is true (enabled).
172
+ * Default is false (disabled).
173
173
  * @param {boolean} enabled - Whether intelligence rest should be active.
174
174
  */
175
175
  export function setIntelligenceRestEnabled(enabled: boolean): Promise<void> {