react-native-acoustic-connect-beta 18.0.14 → 18.0.16

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 (97) hide show
  1. package/Examples/SampleUI/.detoxrc.js +83 -0
  2. package/Examples/SampleUI/ConnectConfig.json +2 -2
  3. package/Examples/SampleUI/android/app/build.gradle +3 -0
  4. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainActivity.kt +0 -35
  5. package/Examples/SampleUI/android/settings.gradle +1 -1
  6. package/Examples/SampleUI/package.json +8 -6
  7. package/Examples/SampleUI/scripts/integration-test-android.sh +292 -0
  8. package/Examples/SampleUI/src/Examples/DialogExample.tsx +88 -2
  9. package/Examples/SampleUI/src/Examples/Dialogs/DialogTrackingTest.tsx +307 -0
  10. package/Examples/SampleUI/src/Examples/Dialogs/index.tsx +37 -0
  11. package/Examples/SampleUI/src/index.native.tsx +4 -5
  12. package/android/build.gradle +2 -2
  13. package/android/src/main/assets/ConnectAdvancedConfig.json +1 -1
  14. package/android/src/main/java/com/acousticconnectrn/HybridAcousticConnectRN.kt +787 -490
  15. package/ios/HybridAcousticConnectRN.swift +75 -0
  16. package/lib/commonjs/TLTRN.js +69 -0
  17. package/lib/commonjs/TLTRN.js.map +1 -1
  18. package/lib/commonjs/components/Connect.js +5 -1
  19. package/lib/commonjs/components/Connect.js.map +1 -1
  20. package/lib/commonjs/docs/DialogTracking.md +252 -0
  21. package/lib/commonjs/docs/NativeImplementation.md +176 -0
  22. package/lib/commonjs/examples/DialogTrackingExample.js +175 -0
  23. package/lib/commonjs/examples/DialogTrackingExample.js.map +1 -0
  24. package/lib/commonjs/examples/HOCDialogExample.js +296 -0
  25. package/lib/commonjs/examples/HOCDialogExample.js.map +1 -0
  26. package/lib/commonjs/index.js +28 -0
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/utils/DialogDebugger.js +216 -0
  29. package/lib/commonjs/utils/DialogDebugger.js.map +1 -0
  30. package/lib/commonjs/utils/DialogListener.js +203 -0
  31. package/lib/commonjs/utils/DialogListener.js.map +1 -0
  32. package/lib/commonjs/utils/useDialogTracking.js +107 -0
  33. package/lib/commonjs/utils/useDialogTracking.js.map +1 -0
  34. package/lib/commonjs/utils/withAcousticAutoDialog.js +282 -0
  35. package/lib/commonjs/utils/withAcousticAutoDialog.js.map +1 -0
  36. package/lib/module/TLTRN.js +69 -0
  37. package/lib/module/TLTRN.js.map +1 -1
  38. package/lib/module/components/Connect.js +5 -1
  39. package/lib/module/components/Connect.js.map +1 -1
  40. package/lib/module/docs/DialogTracking.md +252 -0
  41. package/lib/module/docs/NativeImplementation.md +176 -0
  42. package/lib/module/examples/DialogTrackingExample.js +172 -0
  43. package/lib/module/examples/DialogTrackingExample.js.map +1 -0
  44. package/lib/module/examples/HOCDialogExample.js +292 -0
  45. package/lib/module/examples/HOCDialogExample.js.map +1 -0
  46. package/lib/module/index.js +5 -1
  47. package/lib/module/index.js.map +1 -1
  48. package/lib/module/utils/DialogDebugger.js +211 -0
  49. package/lib/module/utils/DialogDebugger.js.map +1 -0
  50. package/lib/module/utils/DialogListener.js +199 -0
  51. package/lib/module/utils/DialogListener.js.map +1 -0
  52. package/lib/module/utils/useDialogTracking.js +102 -0
  53. package/lib/module/utils/useDialogTracking.js.map +1 -0
  54. package/lib/module/utils/withAcousticAutoDialog.js +275 -0
  55. package/lib/module/utils/withAcousticAutoDialog.js.map +1 -0
  56. package/lib/typescript/src/TLTRN.d.ts +7 -0
  57. package/lib/typescript/src/TLTRN.d.ts.map +1 -1
  58. package/lib/typescript/src/components/Connect.d.ts +1 -0
  59. package/lib/typescript/src/components/Connect.d.ts.map +1 -1
  60. package/lib/typescript/src/examples/DialogTrackingExample.d.ts +17 -0
  61. package/lib/typescript/src/examples/DialogTrackingExample.d.ts.map +1 -0
  62. package/lib/typescript/src/examples/HOCDialogExample.d.ts +21 -0
  63. package/lib/typescript/src/examples/HOCDialogExample.d.ts.map +1 -0
  64. package/lib/typescript/src/index.d.ts +5 -1
  65. package/lib/typescript/src/index.d.ts.map +1 -1
  66. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts +4 -0
  67. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts.map +1 -1
  68. package/lib/typescript/src/utils/DialogDebugger.d.ts +58 -0
  69. package/lib/typescript/src/utils/DialogDebugger.d.ts.map +1 -0
  70. package/lib/typescript/src/utils/DialogListener.d.ts +85 -0
  71. package/lib/typescript/src/utils/DialogListener.d.ts.map +1 -0
  72. package/lib/typescript/src/utils/useDialogTracking.d.ts +25 -0
  73. package/lib/typescript/src/utils/useDialogTracking.d.ts.map +1 -0
  74. package/lib/typescript/src/utils/withAcousticAutoDialog.d.ts +37 -0
  75. package/lib/typescript/src/utils/withAcousticAutoDialog.d.ts.map +1 -0
  76. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.cpp +26 -0
  77. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.hpp +4 -0
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/HybridAcousticConnectRNSpec.kt +16 -0
  79. package/nitrogen/generated/ios/c++/HybridAcousticConnectRNSpecSwift.hpp +32 -0
  80. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec.swift +4 -0
  81. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec_cxx.swift +71 -0
  82. package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.cpp +4 -0
  83. package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.hpp +4 -0
  84. package/package.json +1 -1
  85. package/scripts/ConnectConfig.json +1 -1
  86. package/src/TLTRN.ts +75 -0
  87. package/src/components/Connect.tsx +6 -1
  88. package/src/docs/DialogTracking.md +252 -0
  89. package/src/docs/NativeImplementation.md +176 -0
  90. package/src/examples/DialogTrackingExample.tsx +163 -0
  91. package/src/examples/HOCDialogExample.tsx +253 -0
  92. package/src/index.ts +5 -1
  93. package/src/specs/react-native-acoustic-connect.nitro.ts +5 -0
  94. package/src/utils/DialogDebugger.ts +224 -0
  95. package/src/utils/DialogListener.ts +238 -0
  96. package/src/utils/useDialogTracking.ts +102 -0
  97. package/src/utils/withAcousticAutoDialog.tsx +312 -0
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+
3
+ /********************************************************************************************
4
+ * Copyright (C) 2025 Acoustic, L.P. All rights reserved.
5
+ *
6
+ * NOTICE: This file contains material that is confidential and proprietary to
7
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
8
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
9
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
10
+ * prohibited.
11
+ ********************************************************************************************/
12
+
13
+ import * as React from 'react';
14
+ import { View, Text, TouchableOpacity, StyleSheet, Alert } from 'react-native';
15
+ import Connect from '../components/Connect';
16
+
17
+ /**
18
+ * Example demonstrating HOC-based Paper Dialog tracking
19
+ *
20
+ * This approach requires minimal code changes:
21
+ * 1. Create tracked versions of your dialog components
22
+ * 2. Use the tracked versions instead of the original ones
23
+ * 3. All dialog events are automatically tracked!
24
+ */
25
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
26
+ const HOCDialogExample = () => {
27
+ const [dialogVisible, setDialogVisible] = React.useState(false);
28
+
29
+ // Example 1: React Native Alert.alert (automatically tracked)
30
+ const showAlertDialog = () => {
31
+ Alert.alert('Confirmation Alert', 'This is a native alert dialog that is automatically tracked.', [{
32
+ text: 'Cancel',
33
+ style: 'cancel'
34
+ }, {
35
+ text: 'OK',
36
+ onPress: () => console.log('Alert OK pressed')
37
+ }]);
38
+ };
39
+
40
+ // Example 2: Paper Dialog with HOC tracking
41
+ const showPaperDialog = () => {
42
+ setDialogVisible(true);
43
+ };
44
+ const hidePaperDialog = () => {
45
+ setDialogVisible(false);
46
+ };
47
+ return /*#__PURE__*/_jsx(Connect, {
48
+ captureDialogEvents: true,
49
+ captureKeyboardEvents: false,
50
+ children: /*#__PURE__*/_jsxs(View, {
51
+ style: styles.container,
52
+ children: [/*#__PURE__*/_jsx(Text, {
53
+ style: styles.title,
54
+ children: "HOC Dialog Tracking Example"
55
+ }), /*#__PURE__*/_jsx(Text, {
56
+ style: styles.subtitle,
57
+ children: "Minimal code changes required - just wrap your dialog components!"
58
+ }), /*#__PURE__*/_jsxs(View, {
59
+ style: styles.buttonContainer,
60
+ children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
61
+ style: styles.button,
62
+ onPress: showAlertDialog,
63
+ children: [/*#__PURE__*/_jsx(Text, {
64
+ style: styles.buttonText,
65
+ children: "Show Alert.alert"
66
+ }), /*#__PURE__*/_jsx(Text, {
67
+ style: styles.buttonSubtext,
68
+ children: "Automatically tracked"
69
+ })]
70
+ }), /*#__PURE__*/_jsxs(TouchableOpacity, {
71
+ style: styles.button,
72
+ onPress: showPaperDialog,
73
+ children: [/*#__PURE__*/_jsx(Text, {
74
+ style: styles.buttonText,
75
+ children: "Show Paper Dialog (HOC)"
76
+ }), /*#__PURE__*/_jsx(Text, {
77
+ style: styles.buttonSubtext,
78
+ children: "Minimal code changes"
79
+ })]
80
+ })]
81
+ }), /*#__PURE__*/_jsxs(View, {
82
+ style: styles.infoContainer,
83
+ children: [/*#__PURE__*/_jsx(Text, {
84
+ style: styles.infoTitle,
85
+ children: "How to use HOC approach:"
86
+ }), /*#__PURE__*/_jsx(Text, {
87
+ style: styles.infoText,
88
+ children: "1. Create tracked dialog components"
89
+ }), /*#__PURE__*/_jsx(Text, {
90
+ style: styles.infoText,
91
+ children: "2. Use tracked versions instead of originals"
92
+ }), /*#__PURE__*/_jsx(Text, {
93
+ style: styles.infoText,
94
+ children: "3. All events automatically tracked!"
95
+ }), /*#__PURE__*/_jsx(Text, {
96
+ style: styles.infoText,
97
+ children: "4. No manual tracking code needed"
98
+ })]
99
+ }), /*#__PURE__*/_jsxs(View, {
100
+ style: styles.codeContainer,
101
+ children: [/*#__PURE__*/_jsx(Text, {
102
+ style: styles.codeTitle,
103
+ children: "Example Setup Code:"
104
+ }), /*#__PURE__*/_jsx(Text, {
105
+ style: styles.codeText,
106
+ children: `// In your app setup
107
+ import { withAcousticAutoDialog } from 'react-native-acoustic-connect-beta';
108
+ import { Dialog, Portal } from 'react-native-paper';
109
+
110
+ // Create tracked versions
111
+ const TrackedDialog = withAcousticAutoDialog(Dialog);
112
+ const TrackedPortal = withAcousticAutoDialog(Portal);
113
+
114
+ // Use TrackedDialog instead of Dialog - that's it!`
115
+ })]
116
+ }), dialogVisible && /*#__PURE__*/_jsxs(View, {
117
+ style: styles.exampleDialog,
118
+ children: [/*#__PURE__*/_jsx(Text, {
119
+ style: styles.dialogTitle,
120
+ children: "Example Dialog"
121
+ }), /*#__PURE__*/_jsx(Text, {
122
+ style: styles.dialogContent,
123
+ children: "This shows how you would use the tracked dialog components. In a real app, you would use TrackedDialog instead of Dialog."
124
+ }), /*#__PURE__*/_jsxs(View, {
125
+ style: styles.dialogActions,
126
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
127
+ style: styles.dialogButton,
128
+ onPress: hidePaperDialog,
129
+ children: /*#__PURE__*/_jsx(Text, {
130
+ style: styles.dialogButtonText,
131
+ children: "Cancel"
132
+ })
133
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
134
+ style: [styles.dialogButton, styles.primaryButton],
135
+ onPress: () => {
136
+ console.log('Dialog confirmed!');
137
+ hidePaperDialog();
138
+ },
139
+ children: /*#__PURE__*/_jsx(Text, {
140
+ style: styles.dialogButtonText,
141
+ children: "Confirm"
142
+ })
143
+ })]
144
+ })]
145
+ })]
146
+ })
147
+ });
148
+ };
149
+ const styles = StyleSheet.create({
150
+ container: {
151
+ flex: 1,
152
+ padding: 20,
153
+ backgroundColor: '#f5f5f5'
154
+ },
155
+ title: {
156
+ fontSize: 24,
157
+ fontWeight: 'bold',
158
+ textAlign: 'center',
159
+ marginBottom: 10,
160
+ color: '#333'
161
+ },
162
+ subtitle: {
163
+ fontSize: 16,
164
+ textAlign: 'center',
165
+ marginBottom: 30,
166
+ color: '#666',
167
+ fontStyle: 'italic'
168
+ },
169
+ buttonContainer: {
170
+ gap: 15
171
+ },
172
+ button: {
173
+ backgroundColor: '#007AFF',
174
+ padding: 15,
175
+ borderRadius: 10,
176
+ shadowColor: '#000',
177
+ shadowOffset: {
178
+ width: 0,
179
+ height: 2
180
+ },
181
+ shadowOpacity: 0.1,
182
+ shadowRadius: 4,
183
+ elevation: 3
184
+ },
185
+ buttonText: {
186
+ color: 'white',
187
+ fontSize: 16,
188
+ fontWeight: '600',
189
+ textAlign: 'center'
190
+ },
191
+ buttonSubtext: {
192
+ color: 'rgba(255, 255, 255, 0.8)',
193
+ fontSize: 12,
194
+ textAlign: 'center',
195
+ marginTop: 2
196
+ },
197
+ infoContainer: {
198
+ backgroundColor: 'white',
199
+ padding: 20,
200
+ borderRadius: 10,
201
+ marginTop: 30,
202
+ shadowColor: '#000',
203
+ shadowOffset: {
204
+ width: 0,
205
+ height: 1
206
+ },
207
+ shadowOpacity: 0.1,
208
+ shadowRadius: 2,
209
+ elevation: 2
210
+ },
211
+ infoTitle: {
212
+ fontSize: 18,
213
+ fontWeight: '600',
214
+ marginBottom: 10,
215
+ color: '#333'
216
+ },
217
+ infoText: {
218
+ fontSize: 14,
219
+ color: '#666',
220
+ marginBottom: 5
221
+ },
222
+ codeContainer: {
223
+ backgroundColor: '#f8f9fa',
224
+ padding: 15,
225
+ borderRadius: 8,
226
+ marginTop: 20,
227
+ borderLeftWidth: 4,
228
+ borderLeftColor: '#007AFF'
229
+ },
230
+ codeTitle: {
231
+ fontSize: 16,
232
+ fontWeight: '600',
233
+ marginBottom: 10,
234
+ color: '#333'
235
+ },
236
+ codeText: {
237
+ fontSize: 12,
238
+ color: '#555',
239
+ fontFamily: 'monospace',
240
+ lineHeight: 18
241
+ },
242
+ exampleDialog: {
243
+ position: 'absolute',
244
+ top: '50%',
245
+ left: 20,
246
+ right: 20,
247
+ backgroundColor: 'white',
248
+ borderRadius: 12,
249
+ padding: 20,
250
+ shadowColor: '#000',
251
+ shadowOffset: {
252
+ width: 0,
253
+ height: 4
254
+ },
255
+ shadowOpacity: 0.25,
256
+ shadowRadius: 8,
257
+ elevation: 8
258
+ },
259
+ dialogTitle: {
260
+ fontSize: 20,
261
+ fontWeight: 'bold',
262
+ marginBottom: 15,
263
+ color: '#333'
264
+ },
265
+ dialogContent: {
266
+ fontSize: 16,
267
+ color: '#666',
268
+ marginBottom: 20,
269
+ lineHeight: 22
270
+ },
271
+ dialogActions: {
272
+ flexDirection: 'row',
273
+ justifyContent: 'flex-end',
274
+ gap: 10
275
+ },
276
+ dialogButton: {
277
+ paddingHorizontal: 20,
278
+ paddingVertical: 10,
279
+ borderRadius: 6,
280
+ backgroundColor: '#f0f0f0'
281
+ },
282
+ primaryButton: {
283
+ backgroundColor: '#007AFF'
284
+ },
285
+ dialogButtonText: {
286
+ fontSize: 16,
287
+ fontWeight: '600',
288
+ color: '#333'
289
+ }
290
+ });
291
+ export default HOCDialogExample;
292
+ //# sourceMappingURL=HOCDialogExample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","Text","TouchableOpacity","StyleSheet","Alert","Connect","jsx","_jsx","jsxs","_jsxs","HOCDialogExample","dialogVisible","setDialogVisible","useState","showAlertDialog","alert","text","style","onPress","console","log","showPaperDialog","hidePaperDialog","captureDialogEvents","captureKeyboardEvents","children","styles","container","title","subtitle","buttonContainer","button","buttonText","buttonSubtext","infoContainer","infoTitle","infoText","codeContainer","codeTitle","codeText","exampleDialog","dialogTitle","dialogContent","dialogActions","dialogButton","dialogButtonText","primaryButton","create","flex","padding","backgroundColor","fontSize","fontWeight","textAlign","marginBottom","color","fontStyle","gap","borderRadius","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","marginTop","borderLeftWidth","borderLeftColor","fontFamily","lineHeight","position","top","left","right","flexDirection","justifyContent","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../src","sources":["examples/HOCDialogExample.tsx"],"mappings":"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","ignoreList":[]}
@@ -16,8 +16,12 @@
16
16
  import { NitroModules } from 'react-native-nitro-modules';
17
17
  import Connect from './components/Connect';
18
18
  import KeyboardListener from './utils/KeyboardListener';
19
+ import DialogListener from './utils/DialogListener';
20
+ import useDialogTracking from './utils/useDialogTracking';
21
+ import { withAcousticAutoDialog } from './utils/withAcousticAutoDialog';
22
+ import DialogDebugger from './utils/DialogDebugger';
19
23
  import TLTRN from './TLTRN';
20
24
  const AcousticConnectRN = NitroModules.createHybridObject('AcousticConnectRN');
21
- export { Connect, TLTRN, KeyboardListener };
25
+ export { Connect, TLTRN, KeyboardListener, DialogListener, useDialogTracking, DialogDebugger, withAcousticAutoDialog };
22
26
  export default AcousticConnectRN;
23
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","Connect","KeyboardListener","TLTRN","AcousticConnectRN","createHybridObject"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,YAAY,QAAQ,4BAA4B;AAEzD,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,gBAAgB,MAAM,0BAA0B;AACvD,OAAOC,KAAK,MAAM,SAAS;AAE3B,MAAMC,iBAAiB,GAAGJ,YAAY,CAACK,kBAAkB,CAAwB,mBAAmB,CAAC;AAErG,SAASJ,OAAO,EAAEE,KAAK,EAAED,gBAAgB;AACzC,eAAeE,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","Connect","KeyboardListener","DialogListener","useDialogTracking","withAcousticAutoDialog","DialogDebugger","TLTRN","AcousticConnectRN","createHybridObject"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,YAAY,QAAQ,4BAA4B;AAEzD,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,gBAAgB,MAAM,0BAA0B;AACvD,OAAOC,cAAc,MAAM,wBAAwB;AACnD,OAAOC,iBAAiB,MAAM,2BAA2B;AACzD,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,cAAc,MAAM,wBAAwB;AACnD,OAAOC,KAAK,MAAM,SAAS;AAE3B,MAAMC,iBAAiB,GAAGR,YAAY,CAACS,kBAAkB,CAAwB,mBAAmB,CAAC;AAErG,SAASR,OAAO,EAAEM,KAAK,EAAEL,gBAAgB,EAAEC,cAAc,EAAEC,iBAAiB,EAAEE,cAAc,EAAED,sBAAsB;AACpH,eAAeG,iBAAiB","ignoreList":[]}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+
3
+ /********************************************************************************************
4
+ * Copyright (C) 2025 Acoustic, L.P. All rights reserved.
5
+ *
6
+ * NOTICE: This file contains material that is confidential and proprietary to
7
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
8
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
9
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
10
+ * prohibited.
11
+ ********************************************************************************************/
12
+
13
+ import { Alert } from 'react-native';
14
+ import DialogListener from './DialogListener';
15
+ import TLTRN from '../TLTRN';
16
+
17
+ /**
18
+ * Debug utility for dialog event tracking
19
+ * Helps identify issues with dialog event interception and logging
20
+ */
21
+ export class DialogDebugger {
22
+ isEnabled = false;
23
+ constructor() {
24
+ this.originalAlert = Alert.alert;
25
+ }
26
+ static getInstance() {
27
+ if (!DialogDebugger.instance) {
28
+ DialogDebugger.instance = new DialogDebugger();
29
+ }
30
+ return DialogDebugger.instance;
31
+ }
32
+
33
+ /**
34
+ * Enable debug mode
35
+ */
36
+ enable() {
37
+ this.isEnabled = true;
38
+ console.log('🔍 DialogDebugger: Debug mode enabled');
39
+ }
40
+
41
+ /**
42
+ * Disable debug mode
43
+ */
44
+ disable() {
45
+ this.isEnabled = false;
46
+ console.log('🔍 DialogDebugger: Debug mode disabled');
47
+ }
48
+
49
+ /**
50
+ * Test the complete dialog event flow
51
+ */
52
+ testDialogEventFlow() {
53
+ console.log('🔍 DialogDebugger: Testing dialog event flow...');
54
+
55
+ // Test 1: Check if DialogListener is working
56
+ this.testDialogListener();
57
+
58
+ // Test 2: Check if TLTRN methods are accessible
59
+ this.testTLTRNMethods();
60
+
61
+ // Test 3: Check if Alert.alert override is working
62
+ this.testAlertOverride();
63
+
64
+ // Test 4: Test native method calls
65
+ this.testNativeMethods();
66
+ }
67
+
68
+ /**
69
+ * Test DialogListener functionality
70
+ */
71
+ testDialogListener() {
72
+ console.log('🔍 DialogDebugger: Testing DialogListener...');
73
+ try {
74
+ const dialogListener = DialogListener.getInstance();
75
+ console.log('✅ DialogListener.getInstance() - SUCCESS');
76
+
77
+ // Test event listener
78
+ const unsubscribe = dialogListener.addEventListener(event => {
79
+ console.log('🔍 DialogDebugger: DialogListener event received:', event);
80
+ });
81
+ console.log('✅ DialogListener.addEventListener() - SUCCESS');
82
+
83
+ // Test manual tracking
84
+ dialogListener.trackCustomDialogShow('test-dialog-id', 'Test Dialog', []);
85
+ console.log('✅ DialogListener.trackCustomDialogShow() - SUCCESS');
86
+ unsubscribe();
87
+ } catch (error) {
88
+ console.error('❌ DialogDebugger: DialogListener test failed:', error);
89
+ }
90
+ }
91
+
92
+ /**
93
+ * Test TLTRN methods
94
+ */
95
+ testTLTRNMethods() {
96
+ console.log('🔍 DialogDebugger: Testing TLTRN methods...');
97
+ try {
98
+ // Test if TLTRN methods exist
99
+ if (typeof TLTRN.logDialogShowEvent === 'function') {
100
+ console.log('✅ TLTRN.logDialogShowEvent - EXISTS');
101
+ } else {
102
+ console.error('❌ TLTRN.logDialogShowEvent - NOT FOUND');
103
+ }
104
+ if (typeof TLTRN.interceptDialogEvents === 'function') {
105
+ console.log('✅ TLTRN.interceptDialogEvents - EXISTS');
106
+ } else {
107
+ console.error('❌ TLTRN.interceptDialogEvents - NOT FOUND');
108
+ }
109
+
110
+ // Test method call
111
+ TLTRN.logDialogShowEvent('test-dialog-id', 'Test Dialog', 'test');
112
+ console.log('✅ TLTRN.logDialogShowEvent() - CALLED');
113
+ } catch (error) {
114
+ console.error('❌ DialogDebugger: TLTRN test failed:', error);
115
+ }
116
+ }
117
+
118
+ /**
119
+ * Test Alert.alert override
120
+ */
121
+ testAlertOverride() {
122
+ console.log('🔍 DialogDebugger: Testing Alert.alert override...');
123
+ try {
124
+ // Check if Alert.alert is overridden
125
+ if (Alert.alert !== this.originalAlert) {
126
+ console.log('✅ Alert.alert is overridden');
127
+ } else {
128
+ console.error('❌ Alert.alert is NOT overridden');
129
+ }
130
+
131
+ // Test Alert.alert call
132
+ Alert.alert('Debug Test', 'This is a test alert', [{
133
+ text: 'OK',
134
+ onPress: () => console.log('🔍 DialogDebugger: Alert OK pressed')
135
+ }]);
136
+ console.log('✅ Alert.alert() - CALLED');
137
+ } catch (error) {
138
+ console.error('❌ DialogDebugger: Alert.alert test failed:', error);
139
+ }
140
+ }
141
+
142
+ /**
143
+ * Test native method calls
144
+ */
145
+ testNativeMethods() {
146
+ console.log('🔍 DialogDebugger: Testing native method calls...');
147
+ try {
148
+ // Import AcousticConnectRN to test native calls
149
+ const AcousticConnectRN = require('../index').default;
150
+ if (AcousticConnectRN && typeof AcousticConnectRN.logDialogShowEvent === 'function') {
151
+ console.log('✅ AcousticConnectRN.logDialogShowEvent - EXISTS');
152
+
153
+ // Test native call
154
+ const result = AcousticConnectRN.logDialogShowEvent('test-dialog-id', 'Test Dialog', 'test');
155
+ console.log('✅ AcousticConnectRN.logDialogShowEvent() - CALLED, result:', result);
156
+ } else {
157
+ console.error('❌ AcousticConnectRN.logDialogShowEvent - NOT FOUND');
158
+ }
159
+ } catch (error) {
160
+ console.error('❌ DialogDebugger: Native method test failed:', error);
161
+ }
162
+ }
163
+
164
+ /**
165
+ * Check if dialog tracking is properly enabled
166
+ */
167
+ checkDialogTrackingStatus() {
168
+ console.log('🔍 DialogDebugger: Checking dialog tracking status...');
169
+
170
+ // Check DialogListener status
171
+ const dialogListener = DialogListener.getInstance();
172
+ console.log('DialogListener status:', {
173
+ isIntercepting: dialogListener.isIntercepting,
174
+ eventCallbacksCount: dialogListener.eventCallbacks?.length || 0
175
+ });
176
+
177
+ // Check if Alert.alert is overridden
178
+ console.log('Alert.alert override status:', {
179
+ isOverridden: Alert.alert !== this.originalAlert,
180
+ originalAlert: this.originalAlert,
181
+ currentAlert: Alert.alert
182
+ });
183
+
184
+ // Check TLTRN methods
185
+ console.log('TLTRN methods status:', {
186
+ logDialogShowEvent: typeof TLTRN.logDialogShowEvent,
187
+ interceptDialogEvents: typeof TLTRN.interceptDialogEvents
188
+ });
189
+ }
190
+
191
+ /**
192
+ * Force enable dialog tracking for testing
193
+ */
194
+ forceEnableDialogTracking() {
195
+ console.log('🔍 DialogDebugger: Force enabling dialog tracking...');
196
+ try {
197
+ // Force enable DialogListener
198
+ const dialogListener = DialogListener.getInstance();
199
+ dialogListener.isIntercepting = true;
200
+ console.log('✅ DialogListener interception forced enabled');
201
+
202
+ // Force enable TLTRN dialog events
203
+ TLTRN.interceptDialogEvents(true);
204
+ console.log('✅ TLTRN dialog events forced enabled');
205
+ } catch (error) {
206
+ console.error('❌ DialogDebugger: Force enable failed:', error);
207
+ }
208
+ }
209
+ }
210
+ export default DialogDebugger;
211
+ //# sourceMappingURL=DialogDebugger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Alert","DialogListener","TLTRN","DialogDebugger","isEnabled","constructor","originalAlert","alert","getInstance","instance","enable","console","log","disable","testDialogEventFlow","testDialogListener","testTLTRNMethods","testAlertOverride","testNativeMethods","dialogListener","unsubscribe","addEventListener","event","trackCustomDialogShow","error","logDialogShowEvent","interceptDialogEvents","text","onPress","AcousticConnectRN","require","default","result","checkDialogTrackingStatus","isIntercepting","eventCallbacksCount","eventCallbacks","length","isOverridden","currentAlert","forceEnableDialogTracking"],"sourceRoot":"../../../src","sources":["utils/DialogDebugger.ts"],"mappings":"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","ignoreList":[]}