UNPKG

react-native-vad

Version:

VAD / Voice activation detection library for React Native

51 lines (37 loc) 1.35 kB
// app.plugin.js const { withAndroidManifest, withProjectBuildGradle } = require('@expo/config-plugins'); function withReactNativeVad(config) { // Modify AndroidManifest.xml config = withAndroidManifest(config, (config) => { const androidManifest = config.modResults; if (!androidManifest.manifest['uses-permission']) { androidManifest.manifest['uses-permission'] = []; } const permissions = androidManifest.manifest['uses-permission']; const hasPermission = permissions.some( (permission) => permission.$['android:name'] === 'android.permission.RECORD_AUDIO' ); if (!hasPermission) { permissions.push({ $: { 'android:name': 'android.permission.RECORD_AUDIO' } }); } return config; }); // Modify android/build.gradle config = withProjectBuildGradle(config, (config) => { const buildGradle = config.modResults.contents; const vadMaven = ` // react-native-vad added maven { url("$rootDir/../node_modules/react-native-vad/libs") } // End react-native-vad added `; if (!buildGradle.includes('react-native-vad added')) { config.modResults.contents = buildGradle.replace( /repositories\s*{/, `repositories {\n${vadMaven}` ); } return config; }); return config; } module.exports = withReactNativeVad;