react-native-srschat 0.1.43 → 0.1.44

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.
package/README.md CHANGED
@@ -70,11 +70,29 @@ Add all wanted permissions to your app android/app/src/main/AndroidManifest.xml
70
70
 
71
71
  <uses-permission android:name="android.permission.RECORD_AUDIO" />
72
72
 
73
+ <queries>
74
+ <package android:name="com.google.android.googlequicksearchbox"/>
75
+ </queries>
76
+ <queries>
77
+ <intent>
78
+ <action android:name="android.speech.RecognitionService"/>
79
+ </intent>
80
+ </queries>
81
+ <queries>
82
+ <intent>
83
+ <action android:name="android.speech.SpeechRecognizer"/>
84
+ </intent>
85
+ </queries>
86
+
73
87
  <!-- … -->
74
88
 
75
89
  </manifest>
76
90
  ```
77
91
 
92
+ Note:Even after all the permissions are correct in Android, there is one last thing to make sure this libray is working fine on Android. Please make sure the device has Google Speech Recognizing Engine such as com.google.android.googlequicksearchbox.
93
+
94
+ Please ask users to install Google Search App (Google App).
95
+
78
96
  ### Example Use
79
97
 
80
98
  ```
@@ -12,7 +12,7 @@ exports.setPermissionStatusHandlers = setPermissionStatusHandlers;
12
12
  exports.startRecording = startRecording;
13
13
  exports.stopRecording = stopRecording;
14
14
  var _reactNative = require("react-native");
15
- var _voice = _interopRequireDefault(require("@react-native-community/voice"));
15
+ var _voice = _interopRequireDefault(require("@react-native-voice/voice"));
16
16
  var _reactNativePermissions = require("react-native-permissions");
17
17
  var _useAsyncStorage = _interopRequireDefault(require("../hooks/useAsyncStorage"));
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -42,6 +42,12 @@ async function initVoice(onResult) {
42
42
  resultCallback = onResult;
43
43
  finalResult = '';
44
44
 
45
+ // Check if Voice module is available
46
+ if (!_voice.default) {
47
+ console.error('Voice module is not available');
48
+ return false;
49
+ }
50
+
45
51
  // First check if speech recognition is available
46
52
  const isAvailable = await _voice.default.isAvailable();
47
53
  if (!isAvailable) {
@@ -80,7 +86,8 @@ async function initVoice(onResult) {
80
86
  };
81
87
  _voice.default.onSpeechError = async e => {
82
88
  var _e$error, _e$error2;
83
- console.error('onSpeechError: ', e);
89
+ // console.error('onSpeechError: ', e);
90
+
84
91
  if (silenceTimer) {
85
92
  clearTimeout(silenceTimer);
86
93
  silenceTimer = null;
@@ -91,14 +98,13 @@ async function initVoice(onResult) {
91
98
  await cleanupVoiceSession();
92
99
 
93
100
  // Only send error to callback if it's not a "No speech detected" error
94
- if (!isNoSpeechError) {
95
- var _e$error3;
96
- resultCallback(null, ((_e$error3 = e.error) === null || _e$error3 === void 0 ? void 0 : _e$error3.message) || 'Speech recognition error');
97
- } else {
98
- console.log('No speech detected, ignoring error');
99
- // Optionally, call the callback with null parameters or a special indicator
100
- resultCallback(null, null); // This won't trigger an error alert in the component
101
- }
101
+ // if (!isNoSpeechError) {
102
+ // resultCallback(null, e.error?.message || 'Speech recognition error');
103
+ // } else {
104
+ // console.log('No speech detected, ignoring error');
105
+ // // Optionally, call the callback with null parameters or a special indicator
106
+ // resultCallback(null, null); // This won't trigger an error alert in the component
107
+ // }
102
108
  };
103
109
  _voice.default.onSpeechResults = e => {
104
110
  console.log('onSpeechResults: ', e);
@@ -157,6 +163,12 @@ const cleanupVoiceSession = async () => {
157
163
  silenceTimer = null;
158
164
  }
159
165
  try {
166
+ // Check if Voice module is available
167
+ if (!_voice.default) {
168
+ console.log('Voice module not available during cleanup');
169
+ return;
170
+ }
171
+
160
172
  // First try to stop if still recognizing
161
173
  const isRecognizing = await _voice.default.isRecognizing();
162
174
  if (isRecognizing) {
@@ -182,7 +194,9 @@ const cleanupVoiceSession = async () => {
182
194
  console.error('Error in cleanupVoiceSession:', error);
183
195
  // Final attempt to destroy on error
184
196
  try {
185
- await _voice.default.destroy();
197
+ if (_voice.default) {
198
+ await _voice.default.destroy();
199
+ }
186
200
  } catch (e) {
187
201
  console.error('Final destroy attempt failed:', e);
188
202
  }
@@ -191,6 +205,12 @@ const cleanupVoiceSession = async () => {
191
205
  };
192
206
  async function startRecording() {
193
207
  try {
208
+ // Check if Voice module is available
209
+ if (!_voice.default) {
210
+ console.error('Voice module is not available');
211
+ return false;
212
+ }
213
+
194
214
  // Ensure cleanup of any existing session
195
215
  await cleanupVoiceSession();
196
216
  const hasPermission = await requestAudioPermission();
@@ -209,7 +229,7 @@ async function startRecording() {
209
229
  }
210
230
  async function stopRecording() {
211
231
  try {
212
- if (!isCurrentlyRecording) return;
232
+ if (!isCurrentlyRecording || !_voice.default) return;
213
233
 
214
234
  // Set this first to prevent race conditions
215
235
  isCurrentlyRecording = false;
@@ -245,6 +265,7 @@ async function stopRecording() {
245
265
  }
246
266
  async function cancelRecording() {
247
267
  try {
268
+ if (!_voice.default) return;
248
269
  await _voice.default.cancel();
249
270
  await cleanupVoiceSession();
250
271
  } catch (error) {
@@ -279,19 +300,20 @@ async function requestAudioPermission() {
279
300
  }
280
301
  async function requestAndroidPermission() {
281
302
  try {
282
- // Check available speech recognition services on Android
303
+ // Request microphone permission
304
+ const micPermission = await (0, _reactNativePermissions.request)(_reactNativePermissions.PERMISSIONS.ANDROID.RECORD_AUDIO);
305
+ if (micPermission !== _reactNativePermissions.RESULTS.GRANTED) {
306
+ console.log('Microphone permission denied');
307
+ return false;
308
+ }
309
+
310
+ // Skip checking speech recognition services which is causing errors
283
311
  const services = await _voice.default.getSpeechRecognitionServices();
284
312
  if (!services || services.length === 0) {
285
313
  console.error('No speech recognition services available');
286
314
  return false;
287
315
  }
288
- const granted = await _reactNative.PermissionsAndroid.request(_reactNative.PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, {
289
- title: 'Microphone Permission',
290
- message: 'This app needs access to your microphone for voice recognition.',
291
- buttonPositive: 'OK',
292
- buttonNegative: 'Cancel'
293
- });
294
- return granted === _reactNative.PermissionsAndroid.RESULTS.GRANTED;
316
+ return true;
295
317
  } catch (error) {
296
318
  console.error('Error requesting Android permission:', error);
297
319
  return false;
@@ -326,13 +348,19 @@ function resetStoredPermission() {
326
348
  return false;
327
349
  }
328
350
  function cleanup() {
351
+ if (!_voice.default) {
352
+ console.log('Voice module not available during cleanup');
353
+ return;
354
+ }
329
355
  _voice.default.destroy().then(() => {
330
356
  _voice.default.removeAllListeners();
331
357
  cleanupVoiceSession();
332
358
  }).catch(error => {
333
359
  console.error('Error in cleanup:', error);
334
360
  // Try one more time
335
- _voice.default.destroy().catch(e => console.error('Final cleanup attempt failed:', e));
361
+ if (_voice.default) {
362
+ _voice.default.destroy().catch(e => console.error('Final cleanup attempt failed:', e));
363
+ }
336
364
  });
337
365
  }
338
366
  //# sourceMappingURL=audioRecorder.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_voice","_interopRequireDefault","_reactNativePermissions","_useAsyncStorage","e","__esModule","default","resultCallback","silenceTimer","isCurrentlyRecording","finalResult","SILENCE_DURATION","PERMISSION_STORAGE_KEY","permissionStatusGetter","permissionStatusSetter","setPermissionStatusHandlers","getter","setter","initVoice","onResult","isAvailable","Voice","console","error","onSpeechStart","log","clearTimeout","onSpeechRecognized","isFinal","handleFinalResult","onSpeechEnd","onSpeechError","_e$error","_e$error2","isNoSpeechError","code","message","includes","cleanupVoiceSession","_e$error3","onSpeechResults","value","length","handleSilenceDetection","onSpeechPartialResults","Platform","OS","onSpeechVolumeChanged","setTimeout","stopRecording","isRecognizing","stop","Promise","resolve","destroy","stillRecognizing","startRecording","hasPermission","requestAudioPermission","start","cancelRecording","cancel","storedPermission","permissionResult","requestAndroidPermission","requestIOSPermission","services","getSpeechRecognitionServices","granted","PermissionsAndroid","request","PERMISSIONS","RECORD_AUDIO","title","buttonPositive","buttonNegative","RESULTS","GRANTED","micPermission","IOS","MICROPHONE","speechPermission","SPEECH_RECOGNITION","resetStoredPermission","cleanup","then","removeAllListeners","catch"],"sourceRoot":"../../../src","sources":["utils/audioRecorder.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_voice","_interopRequireDefault","_reactNativePermissions","_useAsyncStorage","e","__esModule","default","resultCallback","silenceTimer","isCurrentlyRecording","finalResult","SILENCE_DURATION","PERMISSION_STORAGE_KEY","permissionStatusGetter","permissionStatusSetter","setPermissionStatusHandlers","getter","setter","initVoice","onResult","Voice","console","error","isAvailable","onSpeechStart","log","clearTimeout","onSpeechRecognized","isFinal","handleFinalResult","onSpeechEnd","onSpeechError","_e$error","_e$error2","isNoSpeechError","code","message","includes","cleanupVoiceSession","onSpeechResults","value","length","handleSilenceDetection","onSpeechPartialResults","Platform","OS","onSpeechVolumeChanged","setTimeout","stopRecording","isRecognizing","stop","Promise","resolve","destroy","stillRecognizing","startRecording","hasPermission","requestAudioPermission","start","cancelRecording","cancel","storedPermission","permissionResult","requestAndroidPermission","requestIOSPermission","micPermission","request","PERMISSIONS","ANDROID","RECORD_AUDIO","RESULTS","GRANTED","services","getSpeechRecognitionServices","IOS","MICROPHONE","speechPermission","SPEECH_RECOGNITION","resetStoredPermission","cleanup","then","removeAllListeners","catch"],"sourceRoot":"../../../src","sources":["utils/audioRecorder.js"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  // audioRecorder.js
2
2
 
3
- import { Platform, PermissionsAndroid } from 'react-native';
4
- import Voice from '@react-native-community/voice';
3
+ import { Platform } from 'react-native';
4
+ import Voice from '@react-native-voice/voice';
5
5
  import { check, PERMISSIONS, request, RESULTS } from 'react-native-permissions';
6
6
  import useAsyncStorage from '../hooks/useAsyncStorage';
7
7
  let resultCallback = null;
@@ -28,6 +28,12 @@ export async function initVoice(onResult) {
28
28
  resultCallback = onResult;
29
29
  finalResult = '';
30
30
 
31
+ // Check if Voice module is available
32
+ if (!Voice) {
33
+ console.error('Voice module is not available');
34
+ return false;
35
+ }
36
+
31
37
  // First check if speech recognition is available
32
38
  const isAvailable = await Voice.isAvailable();
33
39
  if (!isAvailable) {
@@ -66,7 +72,8 @@ export async function initVoice(onResult) {
66
72
  };
67
73
  Voice.onSpeechError = async e => {
68
74
  var _e$error, _e$error2;
69
- console.error('onSpeechError: ', e);
75
+ // console.error('onSpeechError: ', e);
76
+
70
77
  if (silenceTimer) {
71
78
  clearTimeout(silenceTimer);
72
79
  silenceTimer = null;
@@ -77,14 +84,13 @@ export async function initVoice(onResult) {
77
84
  await cleanupVoiceSession();
78
85
 
79
86
  // Only send error to callback if it's not a "No speech detected" error
80
- if (!isNoSpeechError) {
81
- var _e$error3;
82
- resultCallback(null, ((_e$error3 = e.error) === null || _e$error3 === void 0 ? void 0 : _e$error3.message) || 'Speech recognition error');
83
- } else {
84
- console.log('No speech detected, ignoring error');
85
- // Optionally, call the callback with null parameters or a special indicator
86
- resultCallback(null, null); // This won't trigger an error alert in the component
87
- }
87
+ // if (!isNoSpeechError) {
88
+ // resultCallback(null, e.error?.message || 'Speech recognition error');
89
+ // } else {
90
+ // console.log('No speech detected, ignoring error');
91
+ // // Optionally, call the callback with null parameters or a special indicator
92
+ // resultCallback(null, null); // This won't trigger an error alert in the component
93
+ // }
88
94
  };
89
95
  Voice.onSpeechResults = e => {
90
96
  console.log('onSpeechResults: ', e);
@@ -143,6 +149,12 @@ const cleanupVoiceSession = async () => {
143
149
  silenceTimer = null;
144
150
  }
145
151
  try {
152
+ // Check if Voice module is available
153
+ if (!Voice) {
154
+ console.log('Voice module not available during cleanup');
155
+ return;
156
+ }
157
+
146
158
  // First try to stop if still recognizing
147
159
  const isRecognizing = await Voice.isRecognizing();
148
160
  if (isRecognizing) {
@@ -168,7 +180,9 @@ const cleanupVoiceSession = async () => {
168
180
  console.error('Error in cleanupVoiceSession:', error);
169
181
  // Final attempt to destroy on error
170
182
  try {
171
- await Voice.destroy();
183
+ if (Voice) {
184
+ await Voice.destroy();
185
+ }
172
186
  } catch (e) {
173
187
  console.error('Final destroy attempt failed:', e);
174
188
  }
@@ -177,6 +191,12 @@ const cleanupVoiceSession = async () => {
177
191
  };
178
192
  export async function startRecording() {
179
193
  try {
194
+ // Check if Voice module is available
195
+ if (!Voice) {
196
+ console.error('Voice module is not available');
197
+ return false;
198
+ }
199
+
180
200
  // Ensure cleanup of any existing session
181
201
  await cleanupVoiceSession();
182
202
  const hasPermission = await requestAudioPermission();
@@ -195,7 +215,7 @@ export async function startRecording() {
195
215
  }
196
216
  export async function stopRecording() {
197
217
  try {
198
- if (!isCurrentlyRecording) return;
218
+ if (!isCurrentlyRecording || !Voice) return;
199
219
 
200
220
  // Set this first to prevent race conditions
201
221
  isCurrentlyRecording = false;
@@ -231,6 +251,7 @@ export async function stopRecording() {
231
251
  }
232
252
  export async function cancelRecording() {
233
253
  try {
254
+ if (!Voice) return;
234
255
  await Voice.cancel();
235
256
  await cleanupVoiceSession();
236
257
  } catch (error) {
@@ -265,19 +286,20 @@ export async function requestAudioPermission() {
265
286
  }
266
287
  async function requestAndroidPermission() {
267
288
  try {
268
- // Check available speech recognition services on Android
289
+ // Request microphone permission
290
+ const micPermission = await request(PERMISSIONS.ANDROID.RECORD_AUDIO);
291
+ if (micPermission !== RESULTS.GRANTED) {
292
+ console.log('Microphone permission denied');
293
+ return false;
294
+ }
295
+
296
+ // Skip checking speech recognition services which is causing errors
269
297
  const services = await Voice.getSpeechRecognitionServices();
270
298
  if (!services || services.length === 0) {
271
299
  console.error('No speech recognition services available');
272
300
  return false;
273
301
  }
274
- const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, {
275
- title: 'Microphone Permission',
276
- message: 'This app needs access to your microphone for voice recognition.',
277
- buttonPositive: 'OK',
278
- buttonNegative: 'Cancel'
279
- });
280
- return granted === PermissionsAndroid.RESULTS.GRANTED;
302
+ return true;
281
303
  } catch (error) {
282
304
  console.error('Error requesting Android permission:', error);
283
305
  return false;
@@ -312,13 +334,19 @@ export function resetStoredPermission() {
312
334
  return false;
313
335
  }
314
336
  export function cleanup() {
337
+ if (!Voice) {
338
+ console.log('Voice module not available during cleanup');
339
+ return;
340
+ }
315
341
  Voice.destroy().then(() => {
316
342
  Voice.removeAllListeners();
317
343
  cleanupVoiceSession();
318
344
  }).catch(error => {
319
345
  console.error('Error in cleanup:', error);
320
346
  // Try one more time
321
- Voice.destroy().catch(e => console.error('Final cleanup attempt failed:', e));
347
+ if (Voice) {
348
+ Voice.destroy().catch(e => console.error('Final cleanup attempt failed:', e));
349
+ }
322
350
  });
323
351
  }
324
352
  //# sourceMappingURL=audioRecorder.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","PermissionsAndroid","Voice","check","PERMISSIONS","request","RESULTS","useAsyncStorage","resultCallback","silenceTimer","isCurrentlyRecording","finalResult","SILENCE_DURATION","PERMISSION_STORAGE_KEY","permissionStatusGetter","permissionStatusSetter","setPermissionStatusHandlers","getter","setter","initVoice","onResult","isAvailable","console","error","onSpeechStart","e","log","clearTimeout","onSpeechRecognized","isFinal","handleFinalResult","onSpeechEnd","onSpeechError","_e$error","_e$error2","isNoSpeechError","code","message","includes","cleanupVoiceSession","_e$error3","onSpeechResults","value","length","handleSilenceDetection","onSpeechPartialResults","OS","onSpeechVolumeChanged","setTimeout","stopRecording","isRecognizing","stop","Promise","resolve","destroy","stillRecognizing","startRecording","hasPermission","requestAudioPermission","start","cancelRecording","cancel","storedPermission","permissionResult","requestAndroidPermission","requestIOSPermission","services","getSpeechRecognitionServices","granted","RECORD_AUDIO","title","buttonPositive","buttonNegative","GRANTED","micPermission","IOS","MICROPHONE","speechPermission","SPEECH_RECOGNITION","resetStoredPermission","cleanup","then","removeAllListeners","catch"],"sourceRoot":"../../../src","sources":["utils/audioRecorder.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","Voice","check","PERMISSIONS","request","RESULTS","useAsyncStorage","resultCallback","silenceTimer","isCurrentlyRecording","finalResult","SILENCE_DURATION","PERMISSION_STORAGE_KEY","permissionStatusGetter","permissionStatusSetter","setPermissionStatusHandlers","getter","setter","initVoice","onResult","console","error","isAvailable","onSpeechStart","e","log","clearTimeout","onSpeechRecognized","isFinal","handleFinalResult","onSpeechEnd","onSpeechError","_e$error","_e$error2","isNoSpeechError","code","message","includes","cleanupVoiceSession","onSpeechResults","value","length","handleSilenceDetection","onSpeechPartialResults","OS","onSpeechVolumeChanged","setTimeout","stopRecording","isRecognizing","stop","Promise","resolve","destroy","stillRecognizing","startRecording","hasPermission","requestAudioPermission","start","cancelRecording","cancel","storedPermission","permissionResult","requestAndroidPermission","requestIOSPermission","micPermission","ANDROID","RECORD_AUDIO","GRANTED","services","getSpeechRecognitionServices","IOS","MICROPHONE","speechPermission","SPEECH_RECOGNITION","resetStoredPermission","cleanup","then","removeAllListeners","catch"],"sourceRoot":"../../../src","sources":["utils/audioRecorder.js"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"audioRecorder.d.ts","sourceRoot":"","sources":["../../../src/utils/audioRecorder.js"],"names":[],"mappings":"AAqBA,4EAGC;AAGD,2DAsGC;AAuED,mDAmBC;AAED,+CAoCC;AAED,iDASC;AAED,2DA2BC;AAmDD,iDAMC;AAED,gCASC"}
1
+ {"version":3,"file":"audioRecorder.d.ts","sourceRoot":"","sources":["../../../src/utils/audioRecorder.js"],"names":[],"mappings":"AAqBA,4EAGC;AAGD,2DA4GC;AA+ED,mDAyBC;AAED,+CAoCC;AAED,iDASC;AAED,2DA2BC;AAiDD,iDAMC;AAED,gCAgBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-srschat",
3
- "version": "0.1.43",
3
+ "version": "0.1.44",
4
4
  "private": false,
5
5
  "description": "A modern, sophisticated chat interface for React Native",
6
6
  "main": "lib/commonjs/index",
@@ -63,19 +63,19 @@
63
63
  "@react-native-async-storage/async-storage": "^2.1.1",
64
64
  "@react-native-community/audio-toolkit": "^2.0.3",
65
65
  "@react-native-community/cli": "^15.0.0",
66
- "@react-native-community/voice": "^1.1.9",
67
66
  "@react-native-picker/picker": "^2.11.0",
67
+ "@react-native-voice/voice": "^3.2.4",
68
68
  "axios": "^1.7.9",
69
+ "cloudinary-react-native": "^0.3.0",
69
70
  "react-native-audio-recorder-player": "^3.6.12",
71
+ "react-native-eject": "^1.0.2",
70
72
  "react-native-keyboard-aware-scroll-view": "^0.9.5",
71
73
  "react-native-markdown-display": "^7.0.2",
72
74
  "react-native-permissions": "^5.2.6",
73
- "react-native-eject": "^1.0.2",
74
75
  "react-native-uuid": "^2.0.3",
75
76
  "react-native-vector-icons": "^10.2.0",
76
77
  "react-native-video": "^6.10.2",
77
- "react-native-web": "~0.19.10",
78
- "cloudinary-react-native": "^0.3.0"
78
+ "react-native-web": "~0.19.10"
79
79
  },
80
80
  "react-native-builder-bob": {
81
81
  "source": "src",
@@ -1,7 +1,7 @@
1
1
  // audioRecorder.js
2
2
 
3
- import { Platform, PermissionsAndroid } from 'react-native';
4
- import Voice from '@react-native-community/voice';
3
+ import { Platform } from 'react-native';
4
+ import Voice from '@react-native-voice/voice';
5
5
  import { check, PERMISSIONS, request, RESULTS } from 'react-native-permissions';
6
6
  import useAsyncStorage from '../hooks/useAsyncStorage';
7
7
 
@@ -30,6 +30,12 @@ export async function initVoice(onResult) {
30
30
  resultCallback = onResult;
31
31
  finalResult = '';
32
32
 
33
+ // Check if Voice module is available
34
+ if (!Voice) {
35
+ console.error('Voice module is not available');
36
+ return false;
37
+ }
38
+
33
39
  // First check if speech recognition is available
34
40
  const isAvailable = await Voice.isAvailable();
35
41
  if (!isAvailable) {
@@ -72,7 +78,7 @@ export async function initVoice(onResult) {
72
78
  };
73
79
 
74
80
  Voice.onSpeechError = async (e) => {
75
- console.error('onSpeechError: ', e);
81
+ // console.error('onSpeechError: ', e);
76
82
 
77
83
  if (silenceTimer) {
78
84
  clearTimeout(silenceTimer);
@@ -86,13 +92,13 @@ export async function initVoice(onResult) {
86
92
  await cleanupVoiceSession();
87
93
 
88
94
  // Only send error to callback if it's not a "No speech detected" error
89
- if (!isNoSpeechError) {
90
- resultCallback(null, e.error?.message || 'Speech recognition error');
91
- } else {
92
- console.log('No speech detected, ignoring error');
93
- // Optionally, call the callback with null parameters or a special indicator
94
- resultCallback(null, null); // This won't trigger an error alert in the component
95
- }
95
+ // if (!isNoSpeechError) {
96
+ // resultCallback(null, e.error?.message || 'Speech recognition error');
97
+ // } else {
98
+ // console.log('No speech detected, ignoring error');
99
+ // // Optionally, call the callback with null parameters or a special indicator
100
+ // resultCallback(null, null); // This won't trigger an error alert in the component
101
+ // }
96
102
  };
97
103
 
98
104
  Voice.onSpeechResults = (e) => {
@@ -164,6 +170,12 @@ const cleanupVoiceSession = async () => {
164
170
  }
165
171
 
166
172
  try {
173
+ // Check if Voice module is available
174
+ if (!Voice) {
175
+ console.log('Voice module not available during cleanup');
176
+ return;
177
+ }
178
+
167
179
  // First try to stop if still recognizing
168
180
  const isRecognizing = await Voice.isRecognizing();
169
181
  if (isRecognizing) {
@@ -189,7 +201,9 @@ const cleanupVoiceSession = async () => {
189
201
  console.error('Error in cleanupVoiceSession:', error);
190
202
  // Final attempt to destroy on error
191
203
  try {
192
- await Voice.destroy();
204
+ if (Voice) {
205
+ await Voice.destroy();
206
+ }
193
207
  } catch (e) {
194
208
  console.error('Final destroy attempt failed:', e);
195
209
  }
@@ -200,6 +214,12 @@ const cleanupVoiceSession = async () => {
200
214
 
201
215
  export async function startRecording() {
202
216
  try {
217
+ // Check if Voice module is available
218
+ if (!Voice) {
219
+ console.error('Voice module is not available');
220
+ return false;
221
+ }
222
+
203
223
  // Ensure cleanup of any existing session
204
224
  await cleanupVoiceSession();
205
225
 
@@ -221,7 +241,7 @@ export async function startRecording() {
221
241
 
222
242
  export async function stopRecording() {
223
243
  try {
224
- if (!isCurrentlyRecording) return;
244
+ if (!isCurrentlyRecording || !Voice) return;
225
245
 
226
246
  // Set this first to prevent race conditions
227
247
  isCurrentlyRecording = false;
@@ -259,13 +279,13 @@ export async function stopRecording() {
259
279
 
260
280
  export async function cancelRecording() {
261
281
  try {
282
+ if (!Voice) return;
262
283
  await Voice.cancel();
263
284
  await cleanupVoiceSession();
264
285
  } catch (error) {
265
286
  console.error('Error canceling voice recognition:', error);
266
287
  await cleanupVoiceSession();
267
288
  }
268
-
269
289
  }
270
290
 
271
291
  export async function requestAudioPermission() {
@@ -299,24 +319,22 @@ export async function requestAudioPermission() {
299
319
 
300
320
  async function requestAndroidPermission() {
301
321
  try {
302
- // Check available speech recognition services on Android
322
+
323
+
324
+ // Request microphone permission
325
+ const micPermission = await request(PERMISSIONS.ANDROID.RECORD_AUDIO);
326
+ if (micPermission !== RESULTS.GRANTED) {
327
+ console.log('Microphone permission denied');
328
+ return false;
329
+ }
330
+
331
+ // Skip checking speech recognition services which is causing errors
303
332
  const services = await Voice.getSpeechRecognitionServices();
304
333
  if (!services || services.length === 0) {
305
334
  console.error('No speech recognition services available');
306
335
  return false;
307
336
  }
308
-
309
- const granted = await PermissionsAndroid.request(
310
- PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
311
- {
312
- title: 'Microphone Permission',
313
- message: 'This app needs access to your microphone for voice recognition.',
314
- buttonPositive: 'OK',
315
- buttonNegative: 'Cancel',
316
- }
317
- );
318
-
319
- return granted === PermissionsAndroid.RESULTS.GRANTED;
337
+ return true;
320
338
  } catch (error) {
321
339
  console.error('Error requesting Android permission:', error);
322
340
  return false;
@@ -355,13 +373,20 @@ export function resetStoredPermission() {
355
373
  }
356
374
 
357
375
  export function cleanup() {
376
+ if (!Voice) {
377
+ console.log('Voice module not available during cleanup');
378
+ return;
379
+ }
380
+
358
381
  Voice.destroy().then(() => {
359
382
  Voice.removeAllListeners();
360
383
  cleanupVoiceSession();
361
384
  }).catch(error => {
362
385
  console.error('Error in cleanup:', error);
363
386
  // Try one more time
364
- Voice.destroy().catch(e => console.error('Final cleanup attempt failed:', e));
387
+ if (Voice) {
388
+ Voice.destroy().catch(e => console.error('Final cleanup attempt failed:', e));
389
+ }
365
390
  });
366
391
  }
367
392