diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/withAndroidManifestIntentQueriesPlugin.js | 30 | ||||
-rw-r--r-- | plugins/withAndroidManifestLargeHeapPlugin.js (renamed from plugins/withAndroidManifestPlugin.js) | 0 |
2 files changed, 30 insertions, 0 deletions
diff --git a/plugins/withAndroidManifestIntentQueriesPlugin.js b/plugins/withAndroidManifestIntentQueriesPlugin.js new file mode 100644 index 000000000..04237b059 --- /dev/null +++ b/plugins/withAndroidManifestIntentQueriesPlugin.js @@ -0,0 +1,30 @@ +const {withAndroidManifest} = require('@expo/config-plugins') + +const withProcessTextQuery = config => + // eslint-disable-next-line no-shadow + withAndroidManifest(config, config => { + const manifest = config.modResults.manifest + + // Ensure <queries> stub exists + if (!manifest.queries) manifest.queries = [{}] + const queries = manifest.queries[0] + + queries.intent = queries.intent || [] + + const exists = queries.intent.some( + i => + i.action?.[0]?.$?.['android:name'] === + 'android.intent.action.PROCESS_TEXT', + ) + + if (!exists) { + queries.intent.push({ + action: [{$: {'android:name': 'android.intent.action.PROCESS_TEXT'}}], + data: [{$: {'android:mimeType': 'text/plain'}}], + }) + } + + return config + }) + +module.exports = withProcessTextQuery diff --git a/plugins/withAndroidManifestPlugin.js b/plugins/withAndroidManifestLargeHeapPlugin.js index 55fd3f5ca..55fd3f5ca 100644 --- a/plugins/withAndroidManifestPlugin.js +++ b/plugins/withAndroidManifestLargeHeapPlugin.js |