UNPKG

react-native-vad

Version:

VAD / Voice activation detection library for React Native

48 lines (37 loc) 1.42 kB
const { withAndroidManifest, withProjectBuildGradle } = require("@expo/config-plugins"); function withReactNativeVad(config) { // Add audio permission to AndroidManifest.xml config = withAndroidManifest(config, async (config) => { const androidManifest = config.modResults; // Add RECORD_AUDIO permission if not already present 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, async (config) => { const buildGradle = config.modResults.contents; const vadMaven = ` // react-native-vad added maven { url("${project(':react-native-vad').projectDir}/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;