@os1-platform/dispatch-mobile 3.0.1 → 3.0.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.
Files changed (34) hide show
  1. package/android/.gradle/7.5/fileHashes/fileHashes.lock +0 -0
  2. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  3. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  4. package/android/src/main/AndroidManifest.xml +0 -1
  5. package/android/src/main/java/com/dispatchsdk/permissions/PermissionModule.kt +107 -62
  6. package/android/src/main/java/com/dispatchsdk/sync/SyncManagerService.kt +31 -23
  7. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +15 -11
  8. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js.map +1 -1
  9. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +4 -1
  10. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  11. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +2 -0
  12. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  13. package/lib/commonjs/native/PermissionModule.js +5 -1
  14. package/lib/commonjs/native/PermissionModule.js.map +1 -1
  15. package/lib/commonjs/utils/SdkUtils.js +1 -19
  16. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  17. package/lib/module/components/executiontasks/forms/FormGenerator.js +15 -11
  18. package/lib/module/components/executiontasks/forms/FormGenerator.js.map +1 -1
  19. package/lib/module/manager/syncmanager/AppSyncManager.js +4 -1
  20. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  21. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +2 -0
  22. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  23. package/lib/module/native/PermissionModule.js +5 -1
  24. package/lib/module/native/PermissionModule.js.map +1 -1
  25. package/lib/module/utils/SdkUtils.js +1 -19
  26. package/lib/module/utils/SdkUtils.js.map +1 -1
  27. package/lib/typescript/native/PermissionModule.d.ts +1 -0
  28. package/lib/typescript/utils/SdkUtils.d.ts +0 -8
  29. package/package.json +43 -41
  30. package/src/components/executiontasks/forms/FormGenerator.tsx +12 -6
  31. package/src/manager/syncmanager/AppSyncManager.ts +7 -4
  32. package/src/manager/syncmanager/document/DocumentHttpClient.ts +3 -0
  33. package/src/native/PermissionModule.ts +6 -0
  34. package/src/utils/SdkUtils.ts +2 -31
@@ -4,7 +4,6 @@
4
4
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
5
5
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
6
6
  <uses-permission android:name="android.permission.WAKE_LOCK" />
7
- <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
8
7
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
9
8
  <uses-permission android:name="android.permission.CAMERA" />
10
9
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
@@ -10,81 +10,126 @@ import androidx.annotation.RequiresApi
10
10
  import androidx.core.content.ContextCompat
11
11
  import com.facebook.react.bridge.*
12
12
 
13
- class PermissionsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
14
- companion object {
15
- private const val REQUEST_CODE_FOREGROUND = 1
16
- private const val REQUEST_CODE_BACKGROUND = 2
17
- }
13
+ class PermissionsModule(reactContext: ReactApplicationContext) :
14
+ ReactContextBaseJavaModule(reactContext) {
15
+ companion object {
16
+ private const val REQUEST_CODE_FOREGROUND = 1
17
+ private const val REQUEST_CODE_BACKGROUND = 2
18
+ }
18
19
 
19
- private var foregroundPromise: Promise? = null
20
- private var backgroundPromise: Promise? = null
20
+ private var foregroundPromise: Promise? = null
21
+ private var backgroundPromise: Promise? = null
22
+ private var wakeLockPromise: Promise? = null
21
23
 
22
- override fun getName(): String {
23
- return "PermissionsModule"
24
- }
24
+ override fun getName(): String {
25
+ return "PermissionsModule"
26
+ }
25
27
 
26
- private val requestForegroundPermissionLauncher = (reactContext.currentActivity as? ComponentActivity)?.registerForActivityResult(
27
- ActivityResultContracts.RequestPermission()
28
+ private val requestForegroundPermissionLauncher =
29
+ (reactContext.currentActivity as? ComponentActivity)?.registerForActivityResult(
30
+ ActivityResultContracts.RequestPermission()
28
31
  ) { isGranted: Boolean ->
29
- foregroundPromise?.let {
30
- if (isGranted) {
31
- it.resolve(true)
32
- } else {
33
- it.reject("Permission denied")
34
- }
35
- foregroundPromise = null
32
+ foregroundPromise?.let {
33
+ if (isGranted) {
34
+ it.resolve(true)
35
+ } else {
36
+ it.reject("Permission denied")
36
37
  }
38
+ foregroundPromise = null
39
+ }
37
40
  }
38
41
 
39
- private val requestBackgroundPermissionLauncher =
40
- (reactContext.currentActivity as? ComponentActivity)?.registerForActivityResult(
41
- ActivityResultContracts.RequestPermission()
42
- ) { isGranted: Boolean ->
43
- backgroundPromise?.let {
44
- if (isGranted) {
45
- it.resolve(true)
46
- } else {
47
- it.reject("Permission denied")
48
- }
49
- backgroundPromise = null
50
- }
51
- }
52
-
53
- @ReactMethod
54
- fun requestForegroundPermissions(promise: Promise) {
55
- val activity = currentActivity
56
- if (activity == null) {
57
- promise.reject("Activity doesn't exist")
58
- return
42
+ private val requestBackgroundPermissionLauncher =
43
+ (reactContext.currentActivity as? ComponentActivity)?.registerForActivityResult(
44
+ ActivityResultContracts.RequestPermission()
45
+ ) { isGranted: Boolean ->
46
+ backgroundPromise?.let {
47
+ if (isGranted) {
48
+ it.resolve(true)
49
+ } else {
50
+ it.reject("Permission denied")
59
51
  }
52
+ backgroundPromise = null
53
+ }
54
+ }
60
55
 
61
- if (ContextCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
62
- promise.resolve(true)
56
+ private val requestWakeLockPermissionLauncher =
57
+ (reactContext.currentActivity as? ComponentActivity)?.registerForActivityResult(
58
+ ActivityResultContracts.RequestPermission()
59
+ ) { isGranted: Boolean ->
60
+ wakeLockPromise?.let {
61
+ if (isGranted) {
62
+ it.resolve(true)
63
63
  } else {
64
- foregroundPromise = promise
65
- requestForegroundPermissionLauncher?.launch(Manifest.permission.ACCESS_FINE_LOCATION)
64
+ it.reject("Permission denied")
66
65
  }
66
+ wakeLockPromise = null
67
+ }
67
68
  }
68
69
 
69
- @ReactMethod
70
- fun requestBackgroundPermissions(promise: Promise) {
71
- val activity = currentActivity
72
- if (activity == null) {
73
- promise.reject("Activity doesn't exist")
74
- return
75
- }
70
+ @ReactMethod
71
+ fun requestForegroundPermissions(promise: Promise) {
72
+ val activity = currentActivity
73
+ if (activity == null) {
74
+ promise.reject("Activity doesn't exist")
75
+ return
76
+ }
76
77
 
77
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
78
- // For devices running Android versions below Q, background location permission is not needed.
79
- promise.resolve(true)
80
- return
81
- }
78
+ if (ContextCompat.checkSelfPermission(
79
+ activity,
80
+ Manifest.permission.ACCESS_FINE_LOCATION
81
+ ) == PackageManager.PERMISSION_GRANTED
82
+ ) {
83
+ promise.resolve(true)
84
+ } else {
85
+ foregroundPromise = promise
86
+ requestForegroundPermissionLauncher?.launch(Manifest.permission.ACCESS_FINE_LOCATION)
87
+ }
88
+ }
82
89
 
83
- if (ContextCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_BACKGROUND_LOCATION) == PackageManager.PERMISSION_GRANTED) {
84
- promise.resolve(true)
85
- } else {
86
- backgroundPromise = promise
87
- requestBackgroundPermissionLauncher?.launch(Manifest.permission.ACCESS_BACKGROUND_LOCATION)
88
- }
90
+ @ReactMethod
91
+ fun requestBackgroundPermissions(promise: Promise) {
92
+ val activity = currentActivity
93
+ if (activity == null) {
94
+ promise.reject("Activity doesn't exist")
95
+ return
96
+ }
97
+
98
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
99
+ // For devices running Android versions below Q, background location permission is not needed.
100
+ promise.resolve(true)
101
+ return
102
+ }
103
+
104
+ if (ContextCompat.checkSelfPermission(
105
+ activity,
106
+ Manifest.permission.ACCESS_BACKGROUND_LOCATION
107
+ ) == PackageManager.PERMISSION_GRANTED
108
+ ) {
109
+ promise.resolve(true)
110
+ } else {
111
+ backgroundPromise = promise
112
+ requestBackgroundPermissionLauncher?.launch(Manifest.permission.ACCESS_BACKGROUND_LOCATION)
113
+ }
114
+ }
115
+
116
+ @ReactMethod
117
+ fun requestWakeLockPermissions(promise: Promise) {
118
+ val activity = currentActivity
119
+ if (activity == null) {
120
+ promise.reject("Activity doesn't exist")
121
+ return
122
+ }
123
+
124
+ if (ContextCompat.checkSelfPermission(
125
+ activity,
126
+ Manifest.permission.WAKE_LOCK
127
+ ) == PackageManager.PERMISSION_GRANTED
128
+ ) {
129
+ promise.resolve(true)
130
+ } else {
131
+ wakeLockPromise = promise
132
+ requestWakeLockPermissionLauncher?.launch(Manifest.permission.WAKE_LOCK)
89
133
  }
90
- }
134
+ }
135
+ }
@@ -35,8 +35,9 @@ class SyncManagerService : Service() {
35
35
  val context: Context = applicationContext
36
36
  val myIntent = Intent(context, SyncEventService::class.java)
37
37
  context.startService(myIntent)
38
+
38
39
  HeadlessJsTaskService.acquireWakeLockNow(context)
39
- handler.postDelayed(this, interval)
40
+ // handler.postDelayed(this, interval)
40
41
  }
41
42
  }
42
43
 
@@ -48,14 +49,6 @@ class SyncManagerService : Service() {
48
49
  override fun onCreate() {
49
50
  Tracer.debug(TAG, "onCreate ")
50
51
  super.onCreate()
51
- createNotificationChannel()
52
- val notification: Notification = getNotification()
53
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU){
54
- startForeground(NOTIF_ID, notification)
55
- }else{
56
- startForeground(NOTIF_ID, notification, FOREGROUND_SERVICE_TYPE_DATA_SYNC)
57
- }
58
-
59
52
  }
60
53
 
61
54
  override fun onDestroy() {
@@ -64,18 +57,30 @@ class SyncManagerService : Service() {
64
57
  }
65
58
 
66
59
  override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
67
- Tracer.debug(TAG, "onStartCommand ")
68
- removeCallBacksIfAny()
69
- if (intent != null) {
70
- this.interval =
71
- intent.getDoubleExtra(ModuleConfig.IntentConfig.INTERVAL, ModuleConfig.DEFAULT_INTERVAL)
72
- .toLong()
73
- notifText = intent.getStringExtra(ModuleConfig.IntentConfig.N_TEXT) ?: notifText
74
- notifTitle = intent.getStringExtra(ModuleConfig.IntentConfig.N_TITLE) ?: notifTitle
60
+ try {
61
+ Tracer.debug(TAG, "onStartCommand ")
62
+ // we should call startForeground within 5 sec of the onStartCommand to avoid crashing of the service
63
+ createNotificationChannel()
64
+ val notification: Notification = getNotification()
65
+ updateNotification(notification)
66
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
67
+ startForeground(NOTIF_ID, notification, FOREGROUND_SERVICE_TYPE_DATA_SYNC)
68
+ } else {
69
+ startForeground(NOTIF_ID, notification)
70
+ }
71
+ //
72
+ removeCallBacksIfAny()
73
+ if (intent != null) {
74
+ this.interval =
75
+ intent.getDoubleExtra(ModuleConfig.IntentConfig.INTERVAL, ModuleConfig.DEFAULT_INTERVAL)
76
+ .toLong()
77
+ notifText = intent.getStringExtra(ModuleConfig.IntentConfig.N_TEXT) ?: notifText
78
+ notifTitle = intent.getStringExtra(ModuleConfig.IntentConfig.N_TITLE) ?: notifTitle
79
+ }
80
+ handler.post(runnableCode)
81
+ } catch (e: Exception) {
82
+ Tracer.debug(TAG, "onStartCommand ${e.message}")
75
83
  }
76
- handler.post(runnableCode)
77
- val notification: Notification = getNotification()
78
- updateNotification(notification)
79
84
  return START_STICKY
80
85
  }
81
86
 
@@ -90,9 +95,12 @@ class SyncManagerService : Service() {
90
95
  }
91
96
 
92
97
  private fun getNotification(): Notification {
93
- val channelId =
94
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) ModuleConfig.SYNC_CHANNEL_ID else ""
95
- val notificationBuilder = NotificationCompat.Builder(this, channelId)
98
+ //
99
+ val notificationBuilder = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
100
+ NotificationCompat.Builder(this, ModuleConfig.SYNC_CHANNEL_ID)
101
+ } else {
102
+ NotificationCompat.Builder(this)
103
+ }
96
104
  val bigTextStyle = NotificationCompat.BigTextStyle()
97
105
  bigTextStyle.setBigContentTitle(notifTitle)
98
106
  bigTextStyle.bigText(notifText)
@@ -160,11 +160,8 @@ const FormGenerator = props => {
160
160
  }
161
161
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null))))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
162
162
  style: styles.bottomView
163
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNativePaper.Button, {
164
- style: [_CommonStyles.CommonStyles.nextButton, {
165
- width: 165,
166
- marginStart: 10
167
- }],
163
+ }, /*#__PURE__*/_react.default.createElement(_reactNativePaper.Button, {
164
+ style: [styles.mainBtnStyles, _CommonStyles.CommonStyles.nextButton],
168
165
  labelStyle: _CommonStyles.CommonStyles.nextButtonLabel,
169
166
  mode: 'contained',
170
167
  onPress: () => {
@@ -181,11 +178,8 @@ const FormGenerator = props => {
181
178
  cta: cta
182
179
  });
183
180
  }
184
- }, "Proceed")), /*#__PURE__*/_react.default.createElement(_reactNative.View, null, props.isSelfLoop == false && /*#__PURE__*/_react.default.createElement(_reactNativePaper.Button, {
185
- style: [_CommonStyles.CommonStyles.cancelButton, {
186
- width: 165,
187
- marginEnd: 10
188
- }],
181
+ }, "Proceed"), props.isSelfLoop == false && /*#__PURE__*/_react.default.createElement(_reactNativePaper.Button, {
182
+ style: [styles.mainBtnStyles, _CommonStyles.CommonStyles.cancelButton],
189
183
  labelStyle: _CommonStyles.CommonStyles.cancelButtonLabel,
190
184
  mode: 'outlined',
191
185
  onPress: () => {
@@ -202,7 +196,7 @@ const FormGenerator = props => {
202
196
  cta: cta
203
197
  });
204
198
  }
205
- }, "Cancel")))));
199
+ }, "Cancel"))));
206
200
  };
207
201
  var _default = exports.default = FormGenerator;
208
202
  const styles = _reactNative.StyleSheet.create({
@@ -221,6 +215,16 @@ const styles = _reactNative.StyleSheet.create({
221
215
  flexDirection: 'row-reverse',
222
216
  justifyContent: 'space-evenly',
223
217
  padding: 16,
218
+ backgroundColor: 'white',
219
+ gap: 16
220
+ },
221
+ mainBtnStyles: {
222
+ display: 'flex',
223
+ flexDirection: 'row',
224
+ justifyContent: 'center',
225
+ alignItems: 'center',
226
+ flex: 1,
227
+ width: '100%',
224
228
  backgroundColor: 'white'
225
229
  }
226
230
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_rjsfNative","_DateTimeWidget","_interopRequireDefault","_TimeRangeSelector","_QRBarcodeScannerWidget","_DropdownWidget","_reactNativePaper","_ExecTaskUtils","_EventCodeContainer","_ETConfig","_CommonStyles","_SdkColors","_MaterialIcons","_constants","_utils","_GoBackModal","_native","_SentrySdkConstants","_SentryAnalyticsUtils","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","customWidgets","datePicker","DateTimeWidget","timeRangeSelector","TimeRangeSelector","scanner","QRBarcodeScannerWidget","select","DropdownWidget","FormGenerator","props","form","useRef","showBackModal","setShowBackModal","useState","onCancel","setOnCancel","useFocusEffect","React","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","hasGoBackConnector","applicableReasons","navigation","goBack","BackHandler","addEventListener","removeEventListener","useLayoutEffect","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","BUTTON_CLICKED","screenName","ScreenNameSdkConstants","FORM_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","getBaseETResponse","EntityCode","FORMS","GO_BACK_EVENT_CODE","mergedObjectiveId","ExecutionTaskID","data","onFailure","Provider","KeyboardAvoidingView","CommonStyles","mainContainer","ScrollView","flex","flexGrow","View","padding","FormContext","value","defaultProps","requiredTitle","theme","primaryColor","SdkColors","ColorTheme","LIGHT","primaryButton","highlightColor","borderColor","textColor","placeholderTextColor","errorColor","fontFamily","Platform","OS","Fonts","IBMPlexSans_400Regular","Text","styles","message","noHtml5Validate","noValidate","widgets","ref","schema","jsonSchema","showErrorList","uiSchema","onError","error","_props$applicableReas","getEventCodeByET","failure","onSubmit","response","_props$applicableReas2","formData","_props$applicableReas3","success","bottomView","Button","nextButton","width","marginStart","labelStyle","nextButtonLabel","mode","current","submit","isSelfLoop","cancelButton","marginEnd","cancelButtonLabel","_default","exports","StyleSheet","create","marginTop","marginBottom","fontStyle","fontSize","lineHeight","letterSpacing","alignItems","flexDirection","justifyContent","backgroundColor"],"sources":["FormGenerator.tsx"],"sourcesContent":["import React, { useRef, useState, useLayoutEffect, useEffect } from 'react';\nimport {\n BackHandler,\n KeyboardAvoidingView,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from 'react-native';\nimport ReactNativeForm, { defaultProps, FormContext } from 'rjsf-native';\nimport DateTimeWidget from './widgets/DateTimeWidget';\nimport TimeRangeSelector from './widgets/TimeRangeSelector';\nimport QRBarcodeScannerWidget from './widgets/QRBarcodeScannerWidget';\nimport DropdownWidget from './widgets/DropdownWidget';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport type { FormInputSchema } from './FormSchema';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst customWidgets = {\n datePicker: DateTimeWidget,\n timeRangeSelector: TimeRangeSelector,\n scanner: QRBarcodeScannerWidget,\n select: DropdownWidget,\n};\n\nconst FormGenerator = (props: FormInputSchema) => {\n const form = useRef(null);\n const [showBackModal, setShowBackModal] = useState(false);\n const [onCancel, setOnCancel] = useState(false);\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = 'Back Arrow';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <KeyboardAvoidingView style={CommonStyles.mainContainer}>\n <ScrollView style={{ flex: 1, flexGrow: 1 }}>\n <View\n style={{\n flex: 1,\n padding: 20,\n }}\n >\n <FormContext.Provider\n value={{\n ...defaultProps,\n requiredTitle: '*',\n theme: {\n primaryColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n highlightColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n borderColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n textColor: '#3D445C',\n placeholderTextColor: '#3D445C',\n errorColor: '#b00020',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n },\n }}\n >\n <Text style={[styles.title]}>{props.message}</Text>\n <ReactNativeForm\n noHtml5Validate={onCancel ? true : false}\n noValidate={onCancel ? true : false}\n widgets={customWidgets}\n // @ts-ignore\n ref={form}\n // @ts-ignore\n schema={props.jsonSchema}\n showErrorList={false}\n uiSchema={props.uiSchema}\n onError={async (error) => {\n if (onCancel === false) props.onError(error);\n else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n }\n }}\n onSubmit={async (response) => {\n if (onCancel === true) {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n } else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n true,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n }\n }}\n >\n <Text>{ }</Text>\n </ReactNativeForm>\n </FormContext.Provider>\n </View>\n </ScrollView>\n <View style={styles.bottomView}>\n <View>\n <Button\n style={[CommonStyles.nextButton, { width: 165, marginStart: 10 }]}\n labelStyle={CommonStyles.nextButtonLabel}\n mode={'contained'}\n onPress={() => {\n if (form.current) {\n setOnCancel(false);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Proceed';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n </View>\n <View>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { width: 165, marginEnd: 10 }]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n onPress={() => {\n if (form.current) {\n setOnCancel(true);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Cancel';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Cancel\n </Button>\n }\n </View>\n </View>\n </KeyboardAvoidingView>\n </Provider>\n );\n};\n\nexport default FormGenerator;\n\nconst styles = StyleSheet.create({\n title: {\n marginTop: 10,\n marginBottom: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n color: '#3D445C',\n alignItems: 'center',\n },\n bottomView: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-evenly',\n padding: 16,\n backgroundColor: 'white',\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_rjsfNative","_DateTimeWidget","_interopRequireDefault","_TimeRangeSelector","_QRBarcodeScannerWidget","_DropdownWidget","_reactNativePaper","_ExecTaskUtils","_EventCodeContainer","_ETConfig","_CommonStyles","_SdkColors","_MaterialIcons","_constants","_utils","_GoBackModal","_native","_SentrySdkConstants","_SentryAnalyticsUtils","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","customWidgets","datePicker","DateTimeWidget","timeRangeSelector","TimeRangeSelector","scanner","QRBarcodeScannerWidget","select","DropdownWidget","FormGenerator","props","form","useRef","showBackModal","setShowBackModal","useState","onCancel","setOnCancel","useFocusEffect","React","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","hasGoBackConnector","applicableReasons","navigation","goBack","BackHandler","addEventListener","removeEventListener","useLayoutEffect","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","BUTTON_CLICKED","screenName","ScreenNameSdkConstants","FORM_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","getBaseETResponse","EntityCode","FORMS","GO_BACK_EVENT_CODE","mergedObjectiveId","ExecutionTaskID","data","onFailure","Provider","KeyboardAvoidingView","CommonStyles","mainContainer","ScrollView","flex","flexGrow","View","padding","FormContext","value","defaultProps","requiredTitle","theme","primaryColor","SdkColors","ColorTheme","LIGHT","primaryButton","highlightColor","borderColor","textColor","placeholderTextColor","errorColor","fontFamily","Platform","OS","Fonts","IBMPlexSans_400Regular","Text","styles","message","noHtml5Validate","noValidate","widgets","ref","schema","jsonSchema","showErrorList","uiSchema","onError","error","_props$applicableReas","getEventCodeByET","failure","onSubmit","response","_props$applicableReas2","formData","_props$applicableReas3","success","bottomView","Button","mainBtnStyles","nextButton","labelStyle","nextButtonLabel","mode","current","submit","isSelfLoop","cancelButton","cancelButtonLabel","_default","exports","StyleSheet","create","marginTop","marginBottom","fontStyle","fontSize","lineHeight","letterSpacing","alignItems","flexDirection","justifyContent","backgroundColor","gap","display","width"],"sources":["FormGenerator.tsx"],"sourcesContent":["import React, { useRef, useState, useLayoutEffect, useEffect } from 'react';\nimport {\n BackHandler,\n KeyboardAvoidingView,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from 'react-native';\nimport ReactNativeForm, { defaultProps, FormContext } from 'rjsf-native';\nimport DateTimeWidget from './widgets/DateTimeWidget';\nimport TimeRangeSelector from './widgets/TimeRangeSelector';\nimport QRBarcodeScannerWidget from './widgets/QRBarcodeScannerWidget';\nimport DropdownWidget from './widgets/DropdownWidget';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport type { FormInputSchema } from './FormSchema';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst customWidgets = {\n datePicker: DateTimeWidget,\n timeRangeSelector: TimeRangeSelector,\n scanner: QRBarcodeScannerWidget,\n select: DropdownWidget,\n};\n\nconst FormGenerator = (props: FormInputSchema) => {\n const form = useRef(null);\n const [showBackModal, setShowBackModal] = useState(false);\n const [onCancel, setOnCancel] = useState(false);\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = 'Back Arrow';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <KeyboardAvoidingView style={CommonStyles.mainContainer}>\n <ScrollView style={{ flex: 1, flexGrow: 1 }}>\n <View\n style={{\n flex: 1,\n padding: 20,\n }}\n >\n <FormContext.Provider\n value={{\n ...defaultProps,\n requiredTitle: '*',\n theme: {\n primaryColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n highlightColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n borderColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n textColor: '#3D445C',\n placeholderTextColor: '#3D445C',\n errorColor: '#b00020',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n },\n }}\n >\n <Text style={[styles.title]}>{props.message}</Text>\n <ReactNativeForm\n noHtml5Validate={onCancel ? true : false}\n noValidate={onCancel ? true : false}\n widgets={customWidgets}\n // @ts-ignore\n ref={form}\n // @ts-ignore\n schema={props.jsonSchema}\n showErrorList={false}\n uiSchema={props.uiSchema}\n onError={async (error) => {\n if (onCancel === false) props.onError(error);\n else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n }\n }}\n onSubmit={async (response) => {\n if (onCancel === true) {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n } else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n true,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n }\n }}\n >\n <Text>{ }</Text>\n </ReactNativeForm>\n </FormContext.Provider>\n </View>\n </ScrollView>\n <View style={styles.bottomView}>\n <Button\n style={[styles.mainBtnStyles, CommonStyles.nextButton]}\n labelStyle={CommonStyles.nextButtonLabel}\n mode={'contained'}\n onPress={() => {\n if (form.current) {\n setOnCancel(false);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Proceed';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n {(props.isSelfLoop == false) && <Button\n style={[styles.mainBtnStyles, CommonStyles.cancelButton]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n onPress={() => {\n if (form.current) {\n setOnCancel(true);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Cancel';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Cancel\n </Button>\n }\n </View>\n </KeyboardAvoidingView>\n </Provider>\n );\n};\n\nexport default FormGenerator;\n\nconst styles = StyleSheet.create({\n title: {\n marginTop: 10,\n marginBottom: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n color: '#3D445C',\n alignItems: 'center',\n },\n bottomView: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-evenly',\n padding: 16,\n backgroundColor: 'white',\n gap: 16,\n },\n mainBtnStyles: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n width: '100%',\n backgroundColor: 'white',\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -88,7 +88,10 @@ class AppSyncManager {
88
88
  * Call this method from index file of the app
89
89
  */
90
90
  static registerSyncTask() {
91
- _reactNative.AppRegistry.registerHeadlessTask('SYNC_MANAGER', () => AppSyncManager.startAppSyncManager);
91
+ // We will not register headless js task for api level 31 and above
92
+ if (_reactNative.Platform.OS == 'android' && _reactNative.Platform.Version > 30) {
93
+ _reactNative.AppRegistry.registerHeadlessTask('SYNC_MANAGER', () => AppSyncManager.startAppSyncManager);
94
+ }
92
95
  }
93
96
  async getAllEvents(dispatchID) {
94
97
  return _EventsSyncManager.default.getInstance().getAllEvents(dispatchID);
@@ -1 +1 @@
1
- {"version":3,"names":["_DocumentSyncManager","_interopRequireDefault","require","_EventsSyncManager","_NetworkUtil","_Logger","_interopRequireWildcard","_NativeSyncManager","_DispatchSdkCache","_reactNative","_BaseError","_ErrorCodes","_constants","_constants2","_AppSyncManager","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","AppSyncManager","constructor","tenantBaseURL","retryCount","DocumentSyncManager","getInstance","init","EventsSyncManager","initSyncManager","startSyncing","forceSync","_syncType","NetworkUtil","isAvailableAsync","forceDocumentSync","startSync","startDocumentSync","Logger","logEvent","LOG_TYPE","SDK_INFO","isAppSyncPending","isSyncPending","initAppSync","syncRetryCount","instance","BaseError","ErrorCodes","AppSyncNotInitialized","startAppSyncManager","NativeSyncManager","stopSyncManager","sdkConfig","DispatchSdkCache","getObjectFromCache","KEYS","SDK_CONFIG","MAX_RETRY_COUNT","startSDKSyncManager","SDK_ERROR","isSyncActive","error","message","SDK_WARNING","registerSyncTask","AppRegistry","registerHeadlessTask","getAllEvents","dispatchID","getAllDocuments","config","Platform","OS","isForceStartEnabled","_config$notificationC","_config$notificationC2","_config$notificationC3","retries","startSyncManager","notificationConfig","interval","DEFAULT_INTERVAL","title","DEFAULT_NOTIFICATION_TITLE","description","DEFAULT_NOTIFICATION_DESCRIPTION","then","catch","pushToQueue","pushData","insertBulkEvent","JSON","stringify","errorMessage","exports"],"sources":["AppSyncManager.ts"],"sourcesContent":["import DocumentSyncManager from './document/DocumentSyncManager';\nimport EventsSyncManager from './events/EventsSyncManager';\nimport NetworkUtil from '../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport NativeSyncManager from './NativeSyncManager';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport { AppRegistry, Platform } from 'react-native';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport type { SdkSyncType } from '../../models/DispatchModels';\nimport type { BulkEvent, DocumentRow, EventRow } from './DBConfig';\nimport {\n DEFAULT_INTERVAL,\n DEFAULT_NOTIFICATION_DESCRIPTION,\n DEFAULT_NOTIFICATION_TITLE,\n} from '../../constants/constants';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport { MAX_RETRY_COUNT } from './constants';\n\nexport default class AppSyncManager {\n private constructor(tenantBaseURL: string, retryCount: number) {\n DocumentSyncManager.getInstance().init(tenantBaseURL, retryCount);\n EventsSyncManager.getInstance().initSyncManager(tenantBaseURL, retryCount);\n }\n private static instance: AppSyncManager;\n public isSyncActive = false;\n public isForceStartEnabled = true;\n\n /**\n *\n * @param forceSync - true/false - if true resets the retry count key and start the sync\n * @param syncType\n */\n public async startSyncing(forceSync: boolean, _syncType?: SdkSyncType) {\n if (await NetworkUtil.isAvailableAsync()) {\n if (forceSync) {\n EventsSyncManager.getInstance().forceSync();\n DocumentSyncManager.getInstance().forceDocumentSync();\n } else {\n EventsSyncManager.getInstance().startSync();\n DocumentSyncManager.getInstance().startDocumentSync();\n }\n } else {\n Logger.getInstance().logEvent(\n 'startSync',\n 'No network',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isAppSyncPending(): Promise<boolean> {\n return (\n (await EventsSyncManager.getInstance().isSyncPending()) ||\n (await DocumentSyncManager.getInstance().isSyncPending())\n );\n }\n public static initAppSync(\n tenantBaseURL: string,\n syncRetryCount: number\n ): AppSyncManager {\n // removing this check to allow tenant change in app due to this manager instance did't re-init and event and docs didn't sync\n // if (!AppSyncManager.instance) {\n Logger.getInstance().logEvent(\n 'initAppSync',\n 'CREATING NEW INSTANCE',\n LOG_TYPE.SDK_INFO\n );\n AppSyncManager.instance = new AppSyncManager(\n tenantBaseURL,\n syncRetryCount\n );\n // }\n return AppSyncManager.instance;\n }\n public static getInstance(): AppSyncManager {\n if (!AppSyncManager.instance)\n throw new BaseError(\n ErrorCodes.AppSyncNotInitialized,\n 'SDK sync Manager is not initialized'\n );\n else return AppSyncManager.instance;\n }\n\n public static async startAppSyncManager() {\n try {\n if (!AppSyncManager.instance) {\n NativeSyncManager.stopSyncManager();\n let sdkConfig =\n (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const retryCount = sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT;\n if (sdkConfig.tenantBaseURL != null && retryCount != null) {\n AppSyncManager.initAppSync(sdkConfig.tenantBaseURL, +retryCount);\n AppSyncManager.getInstance().startSDKSyncManager();\n } else {\n Logger.getInstance().logEvent(\n 'SYNC_MANAGER_ASM',\n 'TENANT BASE URL IS NULL',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else if (await AppSyncManager.instance.isAppSyncPending()) {\n AppSyncManager.instance.startSyncing(false);\n } else {\n NativeSyncManager.stopSyncManager();\n AppSyncManager.getInstance().isSyncActive = false;\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startAppSyncManager',\n `Unable to start App Sync Manager ${error.message}`,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n /**\n * Call this method from index file of the app\n */\n public static registerSyncTask() {\n AppRegistry.registerHeadlessTask(\n 'SYNC_MANAGER',\n () => AppSyncManager.startAppSyncManager\n );\n }\n\n public async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n return EventsSyncManager.getInstance().getAllEvents(dispatchID);\n }\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n return DocumentSyncManager.getInstance().getAllDocuments(dispatchID);\n }\n public startSDKSyncManager() {\n (async () => {\n const config = (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n if (Platform.OS === 'android') {\n if (!this.isSyncActive && this.isForceStartEnabled) {\n this.isSyncActive = true;\n\n /**\n * Reset Retry Counter\n */\n EventsSyncManager.getInstance().retries = 0;\n DocumentSyncManager.getInstance().retries = 0;\n NativeSyncManager.startSyncManager(\n config?.notificationConfig?.interval ?? DEFAULT_INTERVAL,\n config?.notificationConfig?.title ?? DEFAULT_NOTIFICATION_TITLE,\n config?.notificationConfig?.description ??\n DEFAULT_NOTIFICATION_DESCRIPTION\n );\n } else {\n Logger.getInstance().logEvent(\n 'startNativeSyncManager',\n 'ANDROID SYNC SERVICE ALREADY RUNNING',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n /**\n * For iOS we have to start Normal Foreground sync\n */\n this.startSyncing(true).then().catch();\n }\n })();\n }\n\n // NEW CODE\n public async pushToQueue(pushData: BulkEvent): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushToQueue ',\n JSON.stringify({\n errorMessage: error.message,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_DocumentSyncManager","_interopRequireDefault","require","_EventsSyncManager","_NetworkUtil","_Logger","_interopRequireWildcard","_NativeSyncManager","_DispatchSdkCache","_reactNative","_BaseError","_ErrorCodes","_constants","_constants2","_AppSyncManager","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","AppSyncManager","constructor","tenantBaseURL","retryCount","DocumentSyncManager","getInstance","init","EventsSyncManager","initSyncManager","startSyncing","forceSync","_syncType","NetworkUtil","isAvailableAsync","forceDocumentSync","startSync","startDocumentSync","Logger","logEvent","LOG_TYPE","SDK_INFO","isAppSyncPending","isSyncPending","initAppSync","syncRetryCount","instance","BaseError","ErrorCodes","AppSyncNotInitialized","startAppSyncManager","NativeSyncManager","stopSyncManager","sdkConfig","DispatchSdkCache","getObjectFromCache","KEYS","SDK_CONFIG","MAX_RETRY_COUNT","startSDKSyncManager","SDK_ERROR","isSyncActive","error","message","SDK_WARNING","registerSyncTask","Platform","OS","Version","AppRegistry","registerHeadlessTask","getAllEvents","dispatchID","getAllDocuments","config","isForceStartEnabled","_config$notificationC","_config$notificationC2","_config$notificationC3","retries","startSyncManager","notificationConfig","interval","DEFAULT_INTERVAL","title","DEFAULT_NOTIFICATION_TITLE","description","DEFAULT_NOTIFICATION_DESCRIPTION","then","catch","pushToQueue","pushData","insertBulkEvent","JSON","stringify","errorMessage","exports"],"sources":["AppSyncManager.ts"],"sourcesContent":["import DocumentSyncManager from './document/DocumentSyncManager';\nimport EventsSyncManager from './events/EventsSyncManager';\nimport NetworkUtil from '../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport NativeSyncManager from './NativeSyncManager';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport { AppRegistry, Platform } from 'react-native';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport type { SdkSyncType } from '../../models/DispatchModels';\nimport type { BulkEvent, DocumentRow, EventRow } from './DBConfig';\nimport {\n DEFAULT_INTERVAL,\n DEFAULT_NOTIFICATION_DESCRIPTION,\n DEFAULT_NOTIFICATION_TITLE,\n} from '../../constants/constants';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport { MAX_RETRY_COUNT } from './constants';\n\nexport default class AppSyncManager {\n private constructor(tenantBaseURL: string, retryCount: number) {\n DocumentSyncManager.getInstance().init(tenantBaseURL, retryCount);\n EventsSyncManager.getInstance().initSyncManager(tenantBaseURL, retryCount);\n }\n private static instance: AppSyncManager;\n public isSyncActive = false;\n public isForceStartEnabled = true;\n\n /**\n *\n * @param forceSync - true/false - if true resets the retry count key and start the sync\n * @param syncType\n */\n public async startSyncing(forceSync: boolean, _syncType?: SdkSyncType) {\n if (await NetworkUtil.isAvailableAsync()) {\n if (forceSync) {\n EventsSyncManager.getInstance().forceSync();\n DocumentSyncManager.getInstance().forceDocumentSync();\n } else {\n EventsSyncManager.getInstance().startSync();\n DocumentSyncManager.getInstance().startDocumentSync();\n }\n } else {\n Logger.getInstance().logEvent(\n 'startSync',\n 'No network',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isAppSyncPending(): Promise<boolean> {\n return (\n (await EventsSyncManager.getInstance().isSyncPending()) ||\n (await DocumentSyncManager.getInstance().isSyncPending())\n );\n }\n public static initAppSync(\n tenantBaseURL: string,\n syncRetryCount: number\n ): AppSyncManager {\n // removing this check to allow tenant change in app due to this manager instance did't re-init and event and docs didn't sync\n // if (!AppSyncManager.instance) {\n Logger.getInstance().logEvent(\n 'initAppSync',\n 'CREATING NEW INSTANCE',\n LOG_TYPE.SDK_INFO\n );\n AppSyncManager.instance = new AppSyncManager(\n tenantBaseURL,\n syncRetryCount\n );\n // }\n return AppSyncManager.instance;\n }\n public static getInstance(): AppSyncManager {\n if (!AppSyncManager.instance)\n throw new BaseError(\n ErrorCodes.AppSyncNotInitialized,\n 'SDK sync Manager is not initialized'\n );\n else return AppSyncManager.instance;\n }\n\n public static async startAppSyncManager() {\n try {\n if (!AppSyncManager.instance) {\n NativeSyncManager.stopSyncManager();\n let sdkConfig =\n (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const retryCount = sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT;\n if (sdkConfig.tenantBaseURL != null && retryCount != null) {\n AppSyncManager.initAppSync(sdkConfig.tenantBaseURL, +retryCount);\n AppSyncManager.getInstance().startSDKSyncManager();\n } else {\n Logger.getInstance().logEvent(\n 'SYNC_MANAGER_ASM',\n 'TENANT BASE URL IS NULL',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else if (await AppSyncManager.instance.isAppSyncPending()) {\n AppSyncManager.instance.startSyncing(false);\n } else {\n NativeSyncManager.stopSyncManager();\n AppSyncManager.getInstance().isSyncActive = false;\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startAppSyncManager',\n `Unable to start App Sync Manager ${error.message}`,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n /**\n * Call this method from index file of the app\n */\n public static registerSyncTask() {\n // We will not register headless js task for api level 31 and above\n if (Platform.OS == 'android' && Platform.Version > 30) {\n AppRegistry.registerHeadlessTask(\n 'SYNC_MANAGER',\n () => AppSyncManager.startAppSyncManager\n );\n }\n }\n\n public async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n return EventsSyncManager.getInstance().getAllEvents(dispatchID);\n }\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n return DocumentSyncManager.getInstance().getAllDocuments(dispatchID);\n }\n public startSDKSyncManager() {\n (async () => {\n const config = (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n if (Platform.OS === 'android') {\n if (!this.isSyncActive && this.isForceStartEnabled) {\n this.isSyncActive = true;\n\n /**\n * Reset Retry Counter\n */\n EventsSyncManager.getInstance().retries = 0;\n DocumentSyncManager.getInstance().retries = 0;\n NativeSyncManager.startSyncManager(\n config?.notificationConfig?.interval ?? DEFAULT_INTERVAL,\n config?.notificationConfig?.title ?? DEFAULT_NOTIFICATION_TITLE,\n config?.notificationConfig?.description ??\n DEFAULT_NOTIFICATION_DESCRIPTION\n );\n } else {\n Logger.getInstance().logEvent(\n 'startNativeSyncManager',\n 'ANDROID SYNC SERVICE ALREADY RUNNING',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n /**\n * For iOS we have to start Normal Foreground sync\n */\n this.startSyncing(true).then().catch();\n }\n })();\n }\n\n // NEW CODE\n public async pushToQueue(pushData: BulkEvent): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushToQueue ',\n JSON.stringify({\n errorMessage: error.message,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -150,8 +150,10 @@ class DocumentHttpClient extends _client.default {
150
150
  if (processedFileExist) {
151
151
  filePathToUpload = document.processed_file_path;
152
152
  }
153
+ const fileStat = await _reactNativeFs.default.stat(filePathToUpload);
153
154
  const url = sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;
154
155
  let extraParameters = {
156
+ fSize: fileStat.size + " b",
155
157
  fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4) : '',
156
158
  dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4) : '',
157
159
  dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9) : ''