react-native-mytatva-rn-sdk 1.0.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.
Files changed (35) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +31 -0
  3. package/android/build.gradle +112 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +3 -0
  6. package/android/src/main/AndroidManifestNew.xml +2 -0
  7. package/android/src/main/java/com/visitrnsdk/VisitRnSdkPackage.kt +17 -0
  8. package/android/src/main/java/com/visitrnsdk/VisitRnSdkViewManager.kt +20 -0
  9. package/ios/VisitRnSdk.xcodeproj/project.pbxproj +274 -0
  10. package/ios/VisitRnSdkViewManager.h +20 -0
  11. package/ios/VisitRnSdkViewManager.m +1240 -0
  12. package/lib/commonjs/Services.js +35 -0
  13. package/lib/commonjs/Services.js.map +1 -0
  14. package/lib/commonjs/constants.js +11 -0
  15. package/lib/commonjs/constants.js.map +1 -0
  16. package/lib/commonjs/index.android.js +518 -0
  17. package/lib/commonjs/index.android.js.map +1 -0
  18. package/lib/commonjs/index.ios.js +313 -0
  19. package/lib/commonjs/index.ios.js.map +1 -0
  20. package/lib/module/Services.js +27 -0
  21. package/lib/module/Services.js.map +1 -0
  22. package/lib/module/constants.js +5 -0
  23. package/lib/module/constants.js.map +1 -0
  24. package/lib/module/index.android.js +508 -0
  25. package/lib/module/index.android.js.map +1 -0
  26. package/lib/module/index.ios.js +304 -0
  27. package/lib/module/index.ios.js.map +1 -0
  28. package/lib/typescript/index.test.d.ts +1 -0
  29. package/lib/typescript/index.test.d.ts.map +1 -0
  30. package/package.json +177 -0
  31. package/react-native-visit-rn-sdk.podspec +42 -0
  32. package/src/Services.js +37 -0
  33. package/src/constants.js +4 -0
  34. package/src/index.android.js +714 -0
  35. package/src/index.ios.js +376 -0
@@ -0,0 +1,508 @@
1
+ import React, { useRef, useEffect, useState, useCallback } from 'react';
2
+ import { EventRegister } from 'react-native-event-listeners';
3
+ import { SafeAreaView, NativeModules, PermissionsAndroid, BackHandler, Linking, Alert, AppState } from 'react-native';
4
+ import WebView from 'react-native-webview';
5
+ import LocationEnabler from 'react-native-location-enabler';
6
+ import DeviceInfo from 'react-native-device-info';
7
+ import axios from 'axios';
8
+ import constants from './constants';
9
+ export const httpClient = axios.create({
10
+ timeout: 60000
11
+ });
12
+ const {
13
+ PRIORITIES: {
14
+ HIGH_ACCURACY
15
+ },
16
+ useLocationSettings,
17
+ addListener
18
+ } = LocationEnabler;
19
+ const MyTatvaRnSdkView = ({
20
+ cpsid,
21
+ baseUrl,
22
+ errorBaseUrl,
23
+ token,
24
+ moduleName,
25
+ environment,
26
+ magicLink,
27
+ isLoggingEnabled
28
+ }) => {
29
+ const [source, setSource] = useState('');
30
+ const [appState, setAppState] = useState(AppState.currentState);
31
+ const [showPermissionAlreadyDeniedDialog, setShowPermissionAlreadyDeniedDialog] = useState(false);
32
+ useEffect(() => {
33
+ var _magicLink$trim;
34
+ if (isLoggingEnabled) {
35
+ console.log('useEffect ran');
36
+ }
37
+ NativeModules.VisitFitnessModule.initiateSDK(isLoggingEnabled);
38
+ if (((magicLink === null || magicLink === void 0 || (_magicLink$trim = magicLink.trim()) === null || _magicLink$trim === void 0 ? void 0 : _magicLink$trim.length) || 0) > 0) {
39
+ setSource(magicLink);
40
+ } else {
41
+ DeviceInfo.getAndroidId().then(deviceId => {
42
+ var buildNumber = DeviceInfo.getBuildNumber();
43
+ let systemVersion = DeviceInfo.getSystemVersion();
44
+ let version = DeviceInfo.getVersion();
45
+ if (isLoggingEnabled) {
46
+ console.log(' baseUrl : ' + baseUrl + 'token: ' + token + ' cpsid: ' + cpsid + ' environment: ' + environment + 'buildNumber:' + buildNumber + ' systemVersion:' + systemVersion + ' version : ' + version + ' deviceId', deviceId);
47
+ }
48
+ var finalEndPoint = `${baseUrl}/partners/v3/generate-magic-link-star-health`;
49
+ if (isLoggingEnabled) {
50
+ console.log('finalEndPoint: ' + finalEndPoint);
51
+ }
52
+ httpClient.post(finalEndPoint, {
53
+ cpsid: cpsid,
54
+ token: token,
55
+ srcClientId: 'Android',
56
+ deviceId: deviceId,
57
+ appVersion: version,
58
+ deviceVersion: systemVersion,
59
+ userEnv: environment
60
+ }).then(response => {
61
+ let data = response.data;
62
+ // let visitMagicLink = data.result; //@Deprecated. Superseded by magic code usage.
63
+ const errorMessage = data.errorMessage;
64
+ const magicCode = data.magicCode;
65
+ const responseReferenceId = data.responseReferenceId;
66
+ let finalBaseUrl = '';
67
+ if (environment.toUpperCase() === 'PROD') {
68
+ finalBaseUrl = constants.PROD_BASE_URL;
69
+ } else {
70
+ finalBaseUrl = constants.STAGE_BASE_URL;
71
+ }
72
+ let finalUrl = `${finalBaseUrl}=${magicCode}`;
73
+ if (data.message === 'success') {
74
+ var _moduleName$trim;
75
+ if (((moduleName === null || moduleName === void 0 || (_moduleName$trim = moduleName.trim()) === null || _moduleName$trim === void 0 ? void 0 : _moduleName$trim.length) || 0) > 0) {
76
+ finalUrl += `&tab=${moduleName}`;
77
+ }
78
+ if (typeof responseReferenceId === 'string' && responseReferenceId.trim().length > 0) {
79
+ finalUrl += `&responseReferenceId=${responseReferenceId}`;
80
+ }
81
+ if (isLoggingEnabled) {
82
+ console.log('magicLink: ' + finalUrl);
83
+ }
84
+ setSource(finalUrl);
85
+ } else {
86
+ var errorUrl = `${errorBaseUrl}/star-health?error=${errorMessage}`;
87
+ setSource(errorUrl);
88
+ if (errorMessage != null) {
89
+ if (errorMessage === 'Please login again') {
90
+ EventRegister.emitEvent('visit-event', {
91
+ message: 'unauthorized-wellness-access',
92
+ errorMessage: errorMessage
93
+ });
94
+ } else if (errorMessage.includes('External Server Error')) {
95
+ EventRegister.emitEvent('visit-event', {
96
+ message: 'external-server-error',
97
+ errorMessage: errorMessage
98
+ });
99
+ }
100
+ }
101
+ if (isLoggingEnabled) {
102
+ console.log('erorMessage: ' + data.errorMessage + ' errorUrl: ' + errorUrl);
103
+ }
104
+ }
105
+ }).catch(error => {
106
+ var errorUrl = `${errorBaseUrl}/star-health?error=${error}`;
107
+ setSource(errorUrl);
108
+ EventRegister.emitEvent('visit-event', {
109
+ message: 'generate-magic-link-failed',
110
+ errorMessage: `${error}`
111
+ });
112
+ if (isLoggingEnabled) {
113
+ console.log('error: ' + error);
114
+ }
115
+ });
116
+ }).catch(err => {
117
+ var errorUrl = `${errorBaseUrl}/star-health?error=${err}`;
118
+ setSource(errorUrl);
119
+ EventRegister.emitEvent('visit-event', {
120
+ message: 'getDeviceInfo-failed',
121
+ errorMessage: `${err}`
122
+ });
123
+ if (isLoggingEnabled) {
124
+ console.log('getDeviceInfo err', err);
125
+ }
126
+ });
127
+ }
128
+ }, [cpsid, token, baseUrl, errorBaseUrl, moduleName, environment, magicLink, isLoggingEnabled]);
129
+ useEffect(() => {
130
+ const subscription = AppState.addEventListener('change', handleAppStateChange);
131
+ console.log(`AppState.addEventListener added, current state: ${appState}`);
132
+ return () => {
133
+ subscription.remove();
134
+ };
135
+ }, [appState]); // Include appState in the dependency array to ensure it's up to date.
136
+
137
+ const handleAppStateChange = nextAppState => {
138
+ // console.log(
139
+ // "nextAppState: " + nextAppState + ", previousState: " + appState
140
+ // );
141
+
142
+ // Instead of relying on the old appState, use the nextAppState directly
143
+ if (appState.match(/inactive|background/) && nextAppState === 'active') {
144
+ if (isLoggingEnabled) {
145
+ console.log('App has come to the foreground!');
146
+ }
147
+ getHealthConnectStatus();
148
+ }
149
+ setAppState(nextAppState); // Update the state with the new app state
150
+ };
151
+ const [enabled, requestResolution] = useLocationSettings({
152
+ priority: HIGH_ACCURACY,
153
+ // default BALANCED_POWER_ACCURACY
154
+ alwaysShow: true,
155
+ // default false
156
+ needBle: true // default false
157
+ }, false /* optional: default undefined */);
158
+ const webviewRef = useRef(null);
159
+ const showLocationPermissionAlert = () => {
160
+ Alert.alert('Permission Required', 'Allow location permission from app settings', [{
161
+ text: 'Cancel',
162
+ onPress: () => {
163
+ console.log('Cancel clicked');
164
+ }
165
+ }, {
166
+ text: 'Go to Settings',
167
+ onPress: () => {
168
+ Linking.openSettings();
169
+ }
170
+ }]);
171
+ };
172
+ const requestLocationPermission = async () => {
173
+ try {
174
+ console.log('requestLocationPermission called');
175
+ const isLocationPermissionPresent = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION);
176
+ console.log('isLocationPermissionPresent: ' + isLocationPermissionPresent + ' showPermissionAlreadyDeniedDialog: ' + showPermissionAlreadyDeniedDialog);
177
+ if (!isLocationPermissionPresent && showPermissionAlreadyDeniedDialog) {
178
+ console.log('showLocationPermissionAlert() called');
179
+ showLocationPermissionAlert();
180
+ } else {
181
+ console.log('requesting location permission');
182
+ const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, {
183
+ title: 'Need Location Permission',
184
+ message: 'Need access to location permission',
185
+ buttonNeutral: 'Ask Me Later',
186
+ buttonNegative: 'Cancel',
187
+ buttonPositive: 'OK'
188
+ });
189
+ if (granted === PermissionsAndroid.RESULTS.GRANTED) {
190
+ if (isLoggingEnabled) {
191
+ console.log('Location permission granted');
192
+ }
193
+ setShowPermissionAlreadyDeniedDialog(false);
194
+ if (!enabled) {
195
+ requestResolution();
196
+ } else {
197
+ var _webviewRef$current;
198
+ var finalString = `window.checkTheGpsPermission(true)`;
199
+ console.log('requestLocationPermission: ' + finalString);
200
+ (_webviewRef$current = webviewRef.current) === null || _webviewRef$current === void 0 || _webviewRef$current.injectJavaScript(finalString);
201
+ }
202
+ } else {
203
+ setShowPermissionAlreadyDeniedDialog(true);
204
+ console.log('Location permission denied');
205
+ }
206
+ }
207
+ } catch (e) {
208
+ console.error(e);
209
+ }
210
+ };
211
+ const showHealthConnectPermissionDeniedDialog = () => {
212
+ Alert.alert('Permission Denied', 'Go to Health Connect App to allow app permission', [{
213
+ text: 'Cancel',
214
+ onPress: () => {
215
+ console.log('Cancel clicked');
216
+ }
217
+ }, {
218
+ text: 'Open Health Connect',
219
+ onPress: () => {
220
+ openHealthConnectApp();
221
+ }
222
+ }]);
223
+ };
224
+ const openHealthConnectApp = async () => {
225
+ NativeModules.VisitFitnessModule.openHealthConnectApp();
226
+ };
227
+ const askForHealthConnectPermission = async () => {
228
+ try {
229
+ const isPermissionGranted = await NativeModules.VisitFitnessModule.askForFitnessPermission();
230
+ if (isLoggingEnabled) {
231
+ console.log('isPermissionGranted: ' + isPermissionGranted);
232
+ }
233
+ if (isPermissionGranted === 'GRANTED') {
234
+ getHealthConnectStatus();
235
+ // getDailyFitnessData();
236
+ } else if (isPermissionGranted === 'CANCELLED') {
237
+ showHealthConnectPermissionDeniedDialog();
238
+ }
239
+ } catch (e) {
240
+ if (isLoggingEnabled) {
241
+ console.error(e);
242
+ }
243
+ }
244
+ };
245
+ const getHealthConnectStatus = async () => {
246
+ try {
247
+ const healthConnectStatus = await NativeModules.VisitFitnessModule.getHealthConnectStatus();
248
+ if (isLoggingEnabled) {
249
+ console.log('getHealthConnectStatus: ' + healthConnectStatus);
250
+ }
251
+ if (healthConnectStatus === 'NOT_SUPPORTED') {
252
+ var _webviewRef$current2;
253
+ (_webviewRef$current2 = webviewRef.current) === null || _webviewRef$current2 === void 0 || _webviewRef$current2.injectJavaScript('window.healthConnectNotSupported()');
254
+ } else if (healthConnectStatus === 'NOT_INSTALLED') {
255
+ var _webviewRef$current3, _webviewRef$current4;
256
+ (_webviewRef$current3 = webviewRef.current) === null || _webviewRef$current3 === void 0 || _webviewRef$current3.injectJavaScript('window.healthConnectNotInstall()');
257
+ (_webviewRef$current4 = webviewRef.current) === null || _webviewRef$current4 === void 0 || _webviewRef$current4.injectJavaScript('window.updateFitnessPermissions(false,0,0)');
258
+ } else if (healthConnectStatus === 'INSTALLED') {
259
+ var _webviewRef$current5, _webviewRef$current6;
260
+ (_webviewRef$current5 = webviewRef.current) === null || _webviewRef$current5 === void 0 || _webviewRef$current5.injectJavaScript('window.healthConnectAvailable()');
261
+ (_webviewRef$current6 = webviewRef.current) === null || _webviewRef$current6 === void 0 || _webviewRef$current6.injectJavaScript('window.updateFitnessPermissions(false,0,0)');
262
+ } else if (healthConnectStatus === 'CONNECTED') {
263
+ getDailyFitnessData();
264
+ }
265
+ } catch (e) {
266
+ if (isLoggingEnabled) {
267
+ console.error(e);
268
+ }
269
+ }
270
+ };
271
+ const getDailyFitnessData = async () => {
272
+ if (isLoggingEnabled) {
273
+ console.log('getDailyFitnessData() called');
274
+ }
275
+ try {
276
+ var _webviewRef$current7;
277
+ const dailyFitnessData = await NativeModules.VisitFitnessModule.requestDailyFitnessData();
278
+ (_webviewRef$current7 = webviewRef.current) === null || _webviewRef$current7 === void 0 || _webviewRef$current7.injectJavaScript(dailyFitnessData);
279
+ } catch (error) {
280
+ if (isLoggingEnabled) {
281
+ console.log(error);
282
+ }
283
+ }
284
+ };
285
+ const requestActivityData = async (type, frequency, timeStamp) => {
286
+ if (isLoggingEnabled) {
287
+ console.log('requestActivityData() called');
288
+ }
289
+ try {
290
+ var _webviewRef$current8;
291
+ const graphData = await NativeModules.VisitFitnessModule.requestActivityDataFromHealthConnect(type, frequency, timeStamp);
292
+ if (isLoggingEnabled) {
293
+ console.log(`requestActivityData() data: ` + graphData);
294
+ }
295
+ (_webviewRef$current8 = webviewRef.current) === null || _webviewRef$current8 === void 0 || _webviewRef$current8.injectJavaScript('window.' + graphData);
296
+ } catch (error) {
297
+ if (isLoggingEnabled) {
298
+ console.log(error);
299
+ }
300
+ }
301
+ };
302
+ const updateApiBaseUrl = async (apiBaseUrl, authtoken, googleFitLastSync, gfHourlyLastSync) => {
303
+ if (isLoggingEnabled) {
304
+ console.log('updateApiBaseUrl() called.');
305
+ }
306
+ try {
307
+ const message = await NativeModules.VisitFitnessModule.updateApiBaseUrl(apiBaseUrl, authtoken, googleFitLastSync, gfHourlyLastSync);
308
+ if (isLoggingEnabled) {
309
+ console.log(message);
310
+ }
311
+ } catch (error) {
312
+ if (isLoggingEnabled) {
313
+ console.log(error);
314
+ }
315
+ }
316
+ };
317
+ const runBeforeFirst = `
318
+ window.isNativeApp = true;
319
+ window.platform = "ANDROID";
320
+ window.setSdkPlatform('ANDROID');
321
+ true; // note: this is required, or you'll sometimes get silent failures
322
+ `;
323
+ const handleMessage = event => {
324
+ var _webviewRef$current9;
325
+ if (event.nativeEvent.data != null) {
326
+ try {
327
+ if (isLoggingEnabled) {
328
+ console.log('Event :' + event.nativeEvent.data);
329
+ }
330
+ const parsedObject = JSON.parse(event.nativeEvent.data);
331
+ if (parsedObject.method != null) {
332
+ switch (parsedObject.method) {
333
+ case 'GET_HEALTH_CONNECT_STATUS':
334
+ getHealthConnectStatus();
335
+ break;
336
+ case 'CONNECT_TO_GOOGLE_FIT':
337
+ askForHealthConnectPermission();
338
+ break;
339
+ case 'UPDATE_PLATFORM':
340
+ (_webviewRef$current9 = webviewRef.current) === null || _webviewRef$current9 === void 0 || _webviewRef$current9.injectJavaScript('window.setSdkPlatform("ANDROID")');
341
+ break;
342
+ case 'UPDATE_API_BASE_URL':
343
+ {
344
+ let apiBaseUrl = parsedObject.apiBaseUrl;
345
+ let authtoken = parsedObject.authtoken;
346
+ let googleFitLastSync = parsedObject.googleFitLastSync;
347
+ let gfHourlyLastSync = parsedObject.gfHourlyLastSync;
348
+ if (isLoggingEnabled) {
349
+ console.log('apiBaseUrl: ' + 'NOT SHOWN' + ' authtoken: ' + 'NOT SHOWN' + ' googleFitLastSync: ' + googleFitLastSync + ' gfHourlyLastSync: ' + gfHourlyLastSync);
350
+ }
351
+ updateApiBaseUrl(apiBaseUrl, authtoken, googleFitLastSync, gfHourlyLastSync);
352
+ }
353
+ break;
354
+ case 'GET_DATA_TO_GENERATE_GRAPH':
355
+ {
356
+ let type = parsedObject.type;
357
+ let frequency = parsedObject.frequency;
358
+ let timeStamp = parsedObject.timestamp;
359
+ if (isLoggingEnabled) {
360
+ console.log('type: ' + type + ' frequency:' + frequency + ' timeStamp: ' + timeStamp);
361
+ }
362
+ requestActivityData(type, frequency, timeStamp);
363
+ }
364
+ break;
365
+ case 'GET_LOCATION_PERMISSIONS':
366
+ console.log('GET_LOCATION_PERMISSIONS');
367
+ requestLocationPermission();
368
+ break;
369
+ case 'OPEN_PDF':
370
+ {
371
+ let pdfUrl = parsedObject.url;
372
+ // console.log("pdfUrl "+pdfUrl);
373
+
374
+ Linking.openURL(pdfUrl);
375
+ }
376
+ break;
377
+ case 'CLOSE_VIEW':
378
+ break;
379
+ default:
380
+ break;
381
+ }
382
+ }
383
+ } catch (exception) {
384
+ console.log('Exception occured:' + exception.message);
385
+ }
386
+ }
387
+ };
388
+ const [canGoBack, setCanGoBack] = useState(false);
389
+ const handleBack = useCallback(() => {
390
+ if (canGoBack && webviewRef.current) {
391
+ var _webviewRef$current10;
392
+ (_webviewRef$current10 = webviewRef.current) === null || _webviewRef$current10 === void 0 || _webviewRef$current10.goBack();
393
+ return true;
394
+ }
395
+ return false;
396
+ }, [canGoBack]);
397
+ useEffect(() => {
398
+ const gpsListener = addListener(({
399
+ locationEnabled
400
+ }) => {
401
+ if (locationEnabled) {
402
+ checkLocationPermissionAndSendCallback();
403
+ }
404
+ });
405
+ BackHandler.addEventListener('hardwareBackPress', handleBack);
406
+ return () => {
407
+ BackHandler.removeEventListener('hardwareBackPress', handleBack);
408
+ gpsListener.remove();
409
+ };
410
+ }, [handleBack]);
411
+ const checkLocationPermissionAndSendCallback = async () => {
412
+ const isLocationPermissionAvailable = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION);
413
+ if (isLoggingEnabled) {
414
+ console.log('checkLocationPermissionAndSendCallback() isLocationPermissionAvailable: ' + isLocationPermissionAvailable + 'isGPSPermissionAvailabe: true');
415
+ }
416
+ if (isLocationPermissionAvailable) {
417
+ var _webviewRef$current11;
418
+ var finalString = `window.checkTheGpsPermission(true)`;
419
+ console.log('listener: ' + finalString);
420
+ (_webviewRef$current11 = webviewRef.current) === null || _webviewRef$current11 === void 0 || _webviewRef$current11.injectJavaScript(finalString);
421
+ }
422
+ };
423
+ return (
424
+ /*#__PURE__*/
425
+ // eslint-disable-next-line react-native/no-inline-styles
426
+ React.createElement(SafeAreaView, {
427
+ style: {
428
+ flex: 1
429
+ }
430
+ }, source ? /*#__PURE__*/React.createElement(WebView, {
431
+ ref: webviewRef,
432
+ source: {
433
+ uri: source,
434
+ headers: {
435
+ platform: 'ANDROID'
436
+ }
437
+ },
438
+ onMessage: handleMessage,
439
+ injectedJavaScriptBeforeContentLoaded: runBeforeFirst,
440
+ javaScriptEnabled: true,
441
+ onLoadProgress: event => setCanGoBack(event.nativeEvent.canGoBack),
442
+ onError: errorMessage => {
443
+ EventRegister.emitEvent('visit-event', {
444
+ message: 'web-view-error',
445
+ errorMessage: errorMessage
446
+ });
447
+ if (isLoggingEnabled) {
448
+ console.warn('Webview error: ', errorMessage);
449
+ }
450
+ }
451
+ }) : null)
452
+ );
453
+ };
454
+ export const fetchDailyFitnessData = (startTimeStamp, isLoggingEnabled) => {
455
+ return new Promise((resolve, reject) => {
456
+ console.log('fetchDailyFitnessData called: ' + startTimeStamp);
457
+ NativeModules.VisitFitnessModule.fetchDailyFitnessData(startTimeStamp).then(result => {
458
+ resolve(result);
459
+ }).catch(err => reject(err));
460
+ });
461
+ };
462
+ export const fetchHourlyFitnessData = (startTimeStamp, isLoggingEnabled) => {
463
+ return new Promise((resolve, reject) => {
464
+ if (isLoggingEnabled) {
465
+ console.log('fetchHourlyFitnessData called: ' + startTimeStamp);
466
+ }
467
+ NativeModules.VisitFitnessModule.fetchHourlyFitnessData(startTimeStamp).then(result => {
468
+ resolve(result);
469
+ }).catch(err => reject(err));
470
+ });
471
+ };
472
+
473
+ // debounce, deferred
474
+ // function debounce(task, ms) {
475
+ // let t = { promise: null, cancel: (_) => void 0 };
476
+ // return async (...args) => {
477
+ // try {
478
+ // t.cancel();
479
+ // t = deferred(ms);
480
+ // await t.promise;
481
+ // await task(...args);
482
+ // } catch (_) {
483
+ // console.log('cleaning up cancelled promise');
484
+ // }
485
+ // };
486
+ // }
487
+
488
+ // function deferred(ms) {
489
+ // let cancel,
490
+ // promise = new Promise((resolve, reject) => {
491
+ // cancel = reject;
492
+ // setTimeout(resolve, ms);
493
+ // });
494
+ // return { promise, cancel };
495
+ // }
496
+
497
+ export default MyTatvaRnSdkView;
498
+ MyTatvaRnSdkView.defaultProps = {
499
+ cpsid: '',
500
+ token: '',
501
+ baseUrl: '',
502
+ errorBaseUrl: '',
503
+ moduleName: '',
504
+ environment: '',
505
+ magicLink: '',
506
+ isLoggingEnabled: false
507
+ };
508
+ //# sourceMappingURL=index.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRef","useEffect","useState","useCallback","EventRegister","SafeAreaView","NativeModules","PermissionsAndroid","BackHandler","Linking","Alert","AppState","WebView","LocationEnabler","DeviceInfo","axios","constants","httpClient","create","timeout","PRIORITIES","HIGH_ACCURACY","useLocationSettings","addListener","MyTatvaRnSdkView","cpsid","baseUrl","errorBaseUrl","token","moduleName","environment","magicLink","isLoggingEnabled","source","setSource","appState","setAppState","currentState","showPermissionAlreadyDeniedDialog","setShowPermissionAlreadyDeniedDialog","_magicLink$trim","console","log","VisitFitnessModule","initiateSDK","trim","length","getAndroidId","then","deviceId","buildNumber","getBuildNumber","systemVersion","getSystemVersion","version","getVersion","finalEndPoint","post","srcClientId","appVersion","deviceVersion","userEnv","response","data","errorMessage","magicCode","responseReferenceId","finalBaseUrl","toUpperCase","PROD_BASE_URL","STAGE_BASE_URL","finalUrl","message","_moduleName$trim","errorUrl","emitEvent","includes","catch","error","err","subscription","addEventListener","handleAppStateChange","remove","nextAppState","match","getHealthConnectStatus","enabled","requestResolution","priority","alwaysShow","needBle","webviewRef","showLocationPermissionAlert","alert","text","onPress","openSettings","requestLocationPermission","isLocationPermissionPresent","check","PERMISSIONS","ACCESS_FINE_LOCATION","granted","request","title","buttonNeutral","buttonNegative","buttonPositive","RESULTS","GRANTED","_webviewRef$current","finalString","current","injectJavaScript","e","showHealthConnectPermissionDeniedDialog","openHealthConnectApp","askForHealthConnectPermission","isPermissionGranted","askForFitnessPermission","healthConnectStatus","_webviewRef$current2","_webviewRef$current3","_webviewRef$current4","_webviewRef$current5","_webviewRef$current6","getDailyFitnessData","_webviewRef$current7","dailyFitnessData","requestDailyFitnessData","requestActivityData","type","frequency","timeStamp","_webviewRef$current8","graphData","requestActivityDataFromHealthConnect","updateApiBaseUrl","apiBaseUrl","authtoken","googleFitLastSync","gfHourlyLastSync","runBeforeFirst","handleMessage","event","_webviewRef$current9","nativeEvent","parsedObject","JSON","parse","method","timestamp","pdfUrl","url","openURL","exception","canGoBack","setCanGoBack","handleBack","_webviewRef$current10","goBack","gpsListener","locationEnabled","checkLocationPermissionAndSendCallback","removeEventListener","isLocationPermissionAvailable","_webviewRef$current11","createElement","style","flex","ref","uri","headers","platform","onMessage","injectedJavaScriptBeforeContentLoaded","javaScriptEnabled","onLoadProgress","onError","warn","fetchDailyFitnessData","startTimeStamp","Promise","resolve","reject","result","fetchHourlyFitnessData","defaultProps"],"sourceRoot":"../../src","sources":["index.android.js"],"mappings":"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","ignoreList":[]}