{"version":3,"file":"android-plugins.js","sourceRoot":"","sources":["../../src/plugins/android-plugins.ts"],"names":[],"mappings":"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","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { ConfigPlugin, Mod } from '../Plugin.types';\nimport { Properties } from '../android';\nimport { AndroidManifest } from '../android/Manifest';\nimport { ApplicationProjectFile, GradleProjectFile } from '../android/Paths';\nimport { ResourceXML } from '../android/Resources';\nimport { withExtendedMod } from './core-plugins';\n\ntype OptionalPromise = T | Promise;\n\ntype MutateDataAction = (expo: ExpoConfig, data: T) => OptionalPromise;\n\n/**\n * Helper method for creating mods from existing config functions.\n *\n * @param action\n */\nexport function createAndroidManifestPlugin(\n action: MutateDataAction,\n name: string\n): ConfigPlugin {\n const withUnknown: ConfigPlugin = config =>\n withAndroidManifest(config, async config => {\n config.modResults = await action(config, config.modResults);\n return config;\n });\n if (name) {\n Object.defineProperty(withUnknown, 'name', {\n value: name,\n });\n }\n return withUnknown;\n}\n\nexport function createStringsXmlPlugin(\n action: MutateDataAction,\n name: string\n): ConfigPlugin {\n const withUnknown: ConfigPlugin = config =>\n withStringsXml(config, async config => {\n config.modResults = await action(config, config.modResults);\n return config;\n });\n if (name) {\n Object.defineProperty(withUnknown, 'name', {\n value: name,\n });\n }\n return withUnknown;\n}\n\n/**\n * Provides the AndroidManifest.xml for modification.\n *\n * @param config\n * @param action\n */\nexport const withAndroidManifest: ConfigPlugin> = (config, action) => {\n return withExtendedMod(config, {\n platform: 'android',\n mod: 'manifest',\n action,\n });\n};\n\n/**\n * Provides the strings.xml for modification.\n *\n * @param config\n * @param action\n */\nexport const withStringsXml: ConfigPlugin> = (config, action) => {\n return withExtendedMod(config, {\n platform: 'android',\n mod: 'strings',\n action,\n });\n};\n\n/**\n * Provides the project MainActivity for modification.\n *\n * @param config\n * @param action\n */\nexport const withMainActivity: ConfigPlugin> = (config, action) => {\n return withExtendedMod(config, {\n platform: 'android',\n mod: 'mainActivity',\n action,\n });\n};\n\n/**\n * Provides the project /build.gradle for modification.\n *\n * @param config\n * @param action\n */\nexport const withProjectBuildGradle: ConfigPlugin> = (config, action) => {\n return withExtendedMod(config, {\n platform: 'android',\n mod: 'projectBuildGradle',\n action,\n });\n};\n\n/**\n * Provides the app/build.gradle for modification.\n *\n * @param config\n * @param action\n */\nexport const withAppBuildGradle: ConfigPlugin> = (config, action) => {\n return withExtendedMod(config, {\n platform: 'android',\n mod: 'appBuildGradle',\n action,\n });\n};\n\n/**\n * Provides the /settings.gradle for modification.\n *\n * @param config\n * @param action\n */\nexport const withSettingsGradle: ConfigPlugin> = (config, action) => {\n return withExtendedMod(config, {\n platform: 'android',\n mod: 'settingsGradle',\n action,\n });\n};\n\n/**\n * Provides the /gradle.properties for modification.\n *\n * @param config\n * @param action\n */\nexport const withGradleProperties: ConfigPlugin> = (\n config,\n action\n) => {\n return withExtendedMod(config, {\n platform: 'android',\n mod: 'gradleProperties',\n action,\n });\n};\n"]}