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