1082815dcSEvan Bacon"use strict"; 2082815dcSEvan Bacon 3082815dcSEvan BaconObject.defineProperty(exports, "__esModule", { 4082815dcSEvan Bacon value: true 5082815dcSEvan Bacon}); 6082815dcSEvan Baconexports.getAndroidModFileProviders = getAndroidModFileProviders; 7082815dcSEvan Baconexports.sortAndroidManifest = sortAndroidManifest; 8082815dcSEvan Baconexports.withAndroidBaseMods = withAndroidBaseMods; 9082815dcSEvan Baconfunction _fs() { 10082815dcSEvan Bacon const data = require("fs"); 11082815dcSEvan Bacon _fs = function () { 12082815dcSEvan Bacon return data; 13082815dcSEvan Bacon }; 14082815dcSEvan Bacon return data; 15082815dcSEvan Bacon} 16082815dcSEvan Baconfunction _path() { 17082815dcSEvan Bacon const data = _interopRequireDefault(require("path")); 18082815dcSEvan Bacon _path = function () { 19082815dcSEvan Bacon return data; 20082815dcSEvan Bacon }; 21082815dcSEvan Bacon return data; 22082815dcSEvan Bacon} 23*8a424bebSJames Idefunction _createBaseMod() { 24*8a424bebSJames Ide const data = require("./createBaseMod"); 25*8a424bebSJames Ide _createBaseMod = function () { 26*8a424bebSJames Ide return data; 27*8a424bebSJames Ide }; 28*8a424bebSJames Ide return data; 29*8a424bebSJames Ide} 30082815dcSEvan Baconfunction _android() { 31082815dcSEvan Bacon const data = require("../android"); 32082815dcSEvan Bacon _android = function () { 33082815dcSEvan Bacon return data; 34082815dcSEvan Bacon }; 35082815dcSEvan Bacon return data; 36082815dcSEvan Bacon} 37082815dcSEvan Baconfunction _XML() { 38082815dcSEvan Bacon const data = require("../utils/XML"); 39082815dcSEvan Bacon _XML = function () { 40082815dcSEvan Bacon return data; 41082815dcSEvan Bacon }; 42082815dcSEvan Bacon return data; 43082815dcSEvan Bacon} 44082815dcSEvan Baconfunction _sortObject() { 45082815dcSEvan Bacon const data = require("../utils/sortObject"); 46082815dcSEvan Bacon _sortObject = function () { 47082815dcSEvan Bacon return data; 48082815dcSEvan Bacon }; 49082815dcSEvan Bacon return data; 50082815dcSEvan Bacon} 51082815dcSEvan Baconfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 52082815dcSEvan Baconconst { 53082815dcSEvan Bacon readFile, 54082815dcSEvan Bacon writeFile 55082815dcSEvan Bacon} = _fs().promises; 56082815dcSEvan Baconfunction getAndroidManifestTemplate(config) { 57082815dcSEvan Bacon var _config$android$packa, _config$android; 58082815dcSEvan Bacon // Keep in sync with https://github.com/expo/expo/blob/master/templates/expo-template-bare-minimum/android/app/src/main/AndroidManifest.xml 59082815dcSEvan Bacon // TODO: Read from remote template when possible 60082815dcSEvan Bacon return (0, _XML().parseXMLAsync)(` 61082815dcSEvan Bacon <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="${(_config$android$packa = (_config$android = config.android) === null || _config$android === void 0 ? void 0 : _config$android.package) !== null && _config$android$packa !== void 0 ? _config$android$packa : 'com.placeholder.appid'}"> 62082815dcSEvan Bacon 63082815dcSEvan Bacon <uses-permission android:name="android.permission.INTERNET"/> 64082815dcSEvan Bacon <!-- OPTIONAL PERMISSIONS, REMOVE WHATEVER YOU DO NOT NEED --> 65082815dcSEvan Bacon <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 66082815dcSEvan Bacon <!-- These require runtime permissions on M --> 67082815dcSEvan Bacon <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 68082815dcSEvan Bacon <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 69082815dcSEvan Bacon <!-- END OPTIONAL PERMISSIONS --> 70082815dcSEvan Bacon 71082815dcSEvan Bacon <queries> 72082815dcSEvan Bacon <!-- Support checking for http(s) links via the Linking API --> 73082815dcSEvan Bacon <intent> 74082815dcSEvan Bacon <action android:name="android.intent.action.VIEW" /> 75082815dcSEvan Bacon <category android:name="android.intent.category.BROWSABLE" /> 76082815dcSEvan Bacon <data android:scheme="https" /> 77082815dcSEvan Bacon </intent> 78082815dcSEvan Bacon </queries> 79082815dcSEvan Bacon 80082815dcSEvan Bacon <application 81082815dcSEvan Bacon android:name=".MainApplication" 82082815dcSEvan Bacon android:label="@string/app_name" 83082815dcSEvan Bacon android:icon="@mipmap/ic_launcher" 84082815dcSEvan Bacon android:roundIcon="@mipmap/ic_launcher_round" 85082815dcSEvan Bacon android:allowBackup="false" 86082815dcSEvan Bacon android:theme="@style/AppTheme" 87082815dcSEvan Bacon android:usesCleartextTraffic="true" 88082815dcSEvan Bacon > 89082815dcSEvan Bacon <meta-data android:name="expo.modules.updates.EXPO_UPDATE_URL" android:value="YOUR-APP-URL-HERE"/> 90082815dcSEvan Bacon <meta-data android:name="expo.modules.updates.EXPO_SDK_VERSION" android:value="YOUR-APP-SDK-VERSION-HERE"/> 91082815dcSEvan Bacon <activity 92082815dcSEvan Bacon android:name=".MainActivity" 93082815dcSEvan Bacon android:label="@string/app_name" 94082815dcSEvan Bacon android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" 95082815dcSEvan Bacon android:launchMode="singleTask" 96082815dcSEvan Bacon android:windowSoftInputMode="adjustResize" 97082815dcSEvan Bacon android:theme="@style/Theme.App.SplashScreen" 98082815dcSEvan Bacon > 99082815dcSEvan Bacon <intent-filter> 100082815dcSEvan Bacon <action android:name="android.intent.action.MAIN"/> 101082815dcSEvan Bacon <category android:name="android.intent.category.LAUNCHER"/> 102082815dcSEvan Bacon </intent-filter> 103082815dcSEvan Bacon </activity> 104082815dcSEvan Bacon <activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/> 105082815dcSEvan Bacon </application> 106082815dcSEvan Bacon </manifest> 107082815dcSEvan Bacon `); 108082815dcSEvan Bacon} 109082815dcSEvan Baconfunction sortAndroidManifest(obj) { 110082815dcSEvan Bacon if (obj.manifest) { 111082815dcSEvan Bacon // Reverse sort so application is last and permissions are first 112082815dcSEvan Bacon obj.manifest = (0, _sortObject().sortObject)(obj.manifest, _sortObject().reverseSortString); 113082815dcSEvan Bacon if (Array.isArray(obj.manifest['uses-permission'])) { 114082815dcSEvan Bacon // Sort permissions alphabetically 115082815dcSEvan Bacon obj.manifest['uses-permission'].sort((a, b) => { 116082815dcSEvan Bacon if (a.$['android:name'] < b.$['android:name']) return -1; 117082815dcSEvan Bacon if (a.$['android:name'] > b.$['android:name']) return 1; 118082815dcSEvan Bacon return 0; 119082815dcSEvan Bacon }); 120082815dcSEvan Bacon } 121082815dcSEvan Bacon if (Array.isArray(obj.manifest.application)) { 122082815dcSEvan Bacon // reverse sort applications so activity is towards the end and meta-data is towards the front. 123082815dcSEvan Bacon obj.manifest.application = obj.manifest.application.map(application => { 124082815dcSEvan Bacon application = (0, _sortObject().sortObjWithOrder)(application, ['meta-data', 'service', 'activity']); 125082815dcSEvan Bacon if (Array.isArray(application['meta-data'])) { 126082815dcSEvan Bacon // Sort metadata alphabetically 127082815dcSEvan Bacon application['meta-data'].sort((a, b) => { 128082815dcSEvan Bacon if (a.$['android:name'] < b.$['android:name']) return -1; 129082815dcSEvan Bacon if (a.$['android:name'] > b.$['android:name']) return 1; 130082815dcSEvan Bacon return 0; 131082815dcSEvan Bacon }); 132082815dcSEvan Bacon } 133082815dcSEvan Bacon return application; 134082815dcSEvan Bacon }); 135082815dcSEvan Bacon } 136082815dcSEvan Bacon } 137082815dcSEvan Bacon return obj; 138082815dcSEvan Bacon} 139082815dcSEvan Baconconst defaultProviders = { 140082815dcSEvan Bacon dangerous: (0, _createBaseMod().provider)({ 141082815dcSEvan Bacon getFilePath() { 142082815dcSEvan Bacon return ''; 143082815dcSEvan Bacon }, 144082815dcSEvan Bacon async read() { 145082815dcSEvan Bacon return { 146082815dcSEvan Bacon filePath: '', 147082815dcSEvan Bacon modResults: {} 148082815dcSEvan Bacon }; 149082815dcSEvan Bacon }, 150082815dcSEvan Bacon async write() {} 151082815dcSEvan Bacon }), 152082815dcSEvan Bacon // Append a rule to supply gradle.properties data to mods on `mods.android.gradleProperties` 153082815dcSEvan Bacon manifest: (0, _createBaseMod().provider)({ 154082815dcSEvan Bacon isIntrospective: true, 155082815dcSEvan Bacon getFilePath({ 156082815dcSEvan Bacon modRequest: { 157082815dcSEvan Bacon platformProjectRoot 158082815dcSEvan Bacon } 159082815dcSEvan Bacon }) { 160082815dcSEvan Bacon return _path().default.join(platformProjectRoot, 'app/src/main/AndroidManifest.xml'); 161082815dcSEvan Bacon }, 162082815dcSEvan Bacon async read(filePath, config) { 163082815dcSEvan Bacon try { 164082815dcSEvan Bacon return await _android().Manifest.readAndroidManifestAsync(filePath); 165082815dcSEvan Bacon } catch (error) { 166082815dcSEvan Bacon if (!config.modRequest.introspect) { 167082815dcSEvan Bacon throw error; 168082815dcSEvan Bacon } 169082815dcSEvan Bacon } 170082815dcSEvan Bacon return await getAndroidManifestTemplate(config); 171082815dcSEvan Bacon }, 172082815dcSEvan Bacon async write(filePath, { 173082815dcSEvan Bacon modResults, 174082815dcSEvan Bacon modRequest: { 175082815dcSEvan Bacon introspect 176082815dcSEvan Bacon } 177082815dcSEvan Bacon }) { 178082815dcSEvan Bacon if (introspect) return; 179082815dcSEvan Bacon await _android().Manifest.writeAndroidManifestAsync(filePath, sortAndroidManifest(modResults)); 180082815dcSEvan Bacon } 181082815dcSEvan Bacon }), 182082815dcSEvan Bacon // Append a rule to supply gradle.properties data to mods on `mods.android.gradleProperties` 183082815dcSEvan Bacon gradleProperties: (0, _createBaseMod().provider)({ 184082815dcSEvan Bacon isIntrospective: true, 185082815dcSEvan Bacon getFilePath({ 186082815dcSEvan Bacon modRequest: { 187082815dcSEvan Bacon platformProjectRoot 188082815dcSEvan Bacon } 189082815dcSEvan Bacon }) { 190082815dcSEvan Bacon return _path().default.join(platformProjectRoot, 'gradle.properties'); 191082815dcSEvan Bacon }, 192082815dcSEvan Bacon async read(filePath, config) { 193082815dcSEvan Bacon try { 194082815dcSEvan Bacon return await _android().Properties.parsePropertiesFile(await readFile(filePath, 'utf8')); 195082815dcSEvan Bacon } catch (error) { 196082815dcSEvan Bacon if (!config.modRequest.introspect) { 197082815dcSEvan Bacon throw error; 198082815dcSEvan Bacon } 199082815dcSEvan Bacon } 200082815dcSEvan Bacon return []; 201082815dcSEvan Bacon }, 202082815dcSEvan Bacon async write(filePath, { 203082815dcSEvan Bacon modResults, 204082815dcSEvan Bacon modRequest: { 205082815dcSEvan Bacon introspect 206082815dcSEvan Bacon } 207082815dcSEvan Bacon }) { 208082815dcSEvan Bacon if (introspect) return; 209082815dcSEvan Bacon await writeFile(filePath, _android().Properties.propertiesListToString(modResults)); 210082815dcSEvan Bacon } 211082815dcSEvan Bacon }), 212082815dcSEvan Bacon // Append a rule to supply strings.xml data to mods on `mods.android.strings` 213082815dcSEvan Bacon strings: (0, _createBaseMod().provider)({ 214082815dcSEvan Bacon isIntrospective: true, 215082815dcSEvan Bacon async getFilePath({ 216082815dcSEvan Bacon modRequest: { 217082815dcSEvan Bacon projectRoot, 218082815dcSEvan Bacon introspect 219082815dcSEvan Bacon } 220082815dcSEvan Bacon }) { 221082815dcSEvan Bacon try { 222082815dcSEvan Bacon return await _android().Strings.getProjectStringsXMLPathAsync(projectRoot); 223082815dcSEvan Bacon } catch (error) { 224082815dcSEvan Bacon if (!introspect) { 225082815dcSEvan Bacon throw error; 226082815dcSEvan Bacon } 227082815dcSEvan Bacon } 228082815dcSEvan Bacon return ''; 229082815dcSEvan Bacon }, 230082815dcSEvan Bacon async read(filePath, config) { 231082815dcSEvan Bacon try { 232082815dcSEvan Bacon return await _android().Resources.readResourcesXMLAsync({ 233082815dcSEvan Bacon path: filePath 234082815dcSEvan Bacon }); 235082815dcSEvan Bacon } catch (error) { 236082815dcSEvan Bacon if (!config.modRequest.introspect) { 237082815dcSEvan Bacon throw error; 238082815dcSEvan Bacon } 239082815dcSEvan Bacon } 240082815dcSEvan Bacon return { 241082815dcSEvan Bacon resources: {} 242082815dcSEvan Bacon }; 243082815dcSEvan Bacon }, 244082815dcSEvan Bacon async write(filePath, { 245082815dcSEvan Bacon modResults, 246082815dcSEvan Bacon modRequest: { 247082815dcSEvan Bacon introspect 248082815dcSEvan Bacon } 249082815dcSEvan Bacon }) { 250082815dcSEvan Bacon if (introspect) return; 251082815dcSEvan Bacon await (0, _XML().writeXMLAsync)({ 252082815dcSEvan Bacon path: filePath, 253082815dcSEvan Bacon xml: modResults 254082815dcSEvan Bacon }); 255082815dcSEvan Bacon } 256082815dcSEvan Bacon }), 257082815dcSEvan Bacon colors: (0, _createBaseMod().provider)({ 258082815dcSEvan Bacon isIntrospective: true, 259082815dcSEvan Bacon async getFilePath({ 260082815dcSEvan Bacon modRequest: { 261082815dcSEvan Bacon projectRoot, 262082815dcSEvan Bacon introspect 263082815dcSEvan Bacon } 264082815dcSEvan Bacon }) { 265082815dcSEvan Bacon try { 266082815dcSEvan Bacon return await _android().Colors.getProjectColorsXMLPathAsync(projectRoot); 267082815dcSEvan Bacon } catch (error) { 268082815dcSEvan Bacon if (!introspect) { 269082815dcSEvan Bacon throw error; 270082815dcSEvan Bacon } 271082815dcSEvan Bacon } 272082815dcSEvan Bacon return ''; 273082815dcSEvan Bacon }, 274082815dcSEvan Bacon async read(filePath, { 275082815dcSEvan Bacon modRequest: { 276082815dcSEvan Bacon introspect 277082815dcSEvan Bacon } 278082815dcSEvan Bacon }) { 279082815dcSEvan Bacon try { 280082815dcSEvan Bacon return await _android().Resources.readResourcesXMLAsync({ 281082815dcSEvan Bacon path: filePath 282082815dcSEvan Bacon }); 283082815dcSEvan Bacon } catch (error) { 284082815dcSEvan Bacon if (!introspect) { 285082815dcSEvan Bacon throw error; 286082815dcSEvan Bacon } 287082815dcSEvan Bacon } 288082815dcSEvan Bacon return { 289082815dcSEvan Bacon resources: {} 290082815dcSEvan Bacon }; 291082815dcSEvan Bacon }, 292082815dcSEvan Bacon async write(filePath, { 293082815dcSEvan Bacon modResults, 294082815dcSEvan Bacon modRequest: { 295082815dcSEvan Bacon introspect 296082815dcSEvan Bacon } 297082815dcSEvan Bacon }) { 298082815dcSEvan Bacon if (introspect) return; 299082815dcSEvan Bacon await (0, _XML().writeXMLAsync)({ 300082815dcSEvan Bacon path: filePath, 301082815dcSEvan Bacon xml: modResults 302082815dcSEvan Bacon }); 303082815dcSEvan Bacon } 304082815dcSEvan Bacon }), 305082815dcSEvan Bacon colorsNight: (0, _createBaseMod().provider)({ 306082815dcSEvan Bacon isIntrospective: true, 307082815dcSEvan Bacon async getFilePath({ 308082815dcSEvan Bacon modRequest: { 309082815dcSEvan Bacon projectRoot, 310082815dcSEvan Bacon introspect 311082815dcSEvan Bacon } 312082815dcSEvan Bacon }) { 313082815dcSEvan Bacon try { 314082815dcSEvan Bacon return await _android().Colors.getProjectColorsXMLPathAsync(projectRoot, { 315082815dcSEvan Bacon kind: 'values-night' 316082815dcSEvan Bacon }); 317082815dcSEvan Bacon } catch (error) { 318082815dcSEvan Bacon if (!introspect) { 319082815dcSEvan Bacon throw error; 320082815dcSEvan Bacon } 321082815dcSEvan Bacon } 322082815dcSEvan Bacon return ''; 323082815dcSEvan Bacon }, 324082815dcSEvan Bacon async read(filePath, config) { 325082815dcSEvan Bacon try { 326082815dcSEvan Bacon return await _android().Resources.readResourcesXMLAsync({ 327082815dcSEvan Bacon path: filePath 328082815dcSEvan Bacon }); 329082815dcSEvan Bacon } catch (error) { 330082815dcSEvan Bacon if (!config.modRequest.introspect) { 331082815dcSEvan Bacon throw error; 332082815dcSEvan Bacon } 333082815dcSEvan Bacon } 334082815dcSEvan Bacon return { 335082815dcSEvan Bacon resources: {} 336082815dcSEvan Bacon }; 337082815dcSEvan Bacon }, 338082815dcSEvan Bacon async write(filePath, { 339082815dcSEvan Bacon modResults, 340082815dcSEvan Bacon modRequest: { 341082815dcSEvan Bacon introspect 342082815dcSEvan Bacon } 343082815dcSEvan Bacon }) { 344082815dcSEvan Bacon if (introspect) return; 345082815dcSEvan Bacon await (0, _XML().writeXMLAsync)({ 346082815dcSEvan Bacon path: filePath, 347082815dcSEvan Bacon xml: modResults 348082815dcSEvan Bacon }); 349082815dcSEvan Bacon } 350082815dcSEvan Bacon }), 351082815dcSEvan Bacon styles: (0, _createBaseMod().provider)({ 352082815dcSEvan Bacon isIntrospective: true, 353082815dcSEvan Bacon async getFilePath({ 354082815dcSEvan Bacon modRequest: { 355082815dcSEvan Bacon projectRoot, 356082815dcSEvan Bacon introspect 357082815dcSEvan Bacon } 358082815dcSEvan Bacon }) { 359082815dcSEvan Bacon try { 360082815dcSEvan Bacon return await _android().Styles.getProjectStylesXMLPathAsync(projectRoot); 361082815dcSEvan Bacon } catch (error) { 362082815dcSEvan Bacon if (!introspect) { 363082815dcSEvan Bacon throw error; 364082815dcSEvan Bacon } 365082815dcSEvan Bacon } 366082815dcSEvan Bacon return ''; 367082815dcSEvan Bacon }, 368082815dcSEvan Bacon async read(filePath, config) { 369082815dcSEvan Bacon var _styles$resources$$; 370082815dcSEvan Bacon let styles = { 371082815dcSEvan Bacon resources: {} 372082815dcSEvan Bacon }; 373082815dcSEvan Bacon try { 374082815dcSEvan Bacon // Adds support for `tools:x` 375082815dcSEvan Bacon styles = await _android().Resources.readResourcesXMLAsync({ 376082815dcSEvan Bacon path: filePath, 377082815dcSEvan Bacon fallback: `<?xml version="1.0" encoding="utf-8"?><resources xmlns:tools="http://schemas.android.com/tools"></resources>` 378082815dcSEvan Bacon }); 379082815dcSEvan Bacon } catch (error) { 380082815dcSEvan Bacon if (!config.modRequest.introspect) { 381082815dcSEvan Bacon throw error; 382082815dcSEvan Bacon } 383ee216927STomasz Sapeta } 384082815dcSEvan Bacon 385ee216927STomasz Sapeta // Ensure support for tools is added... 386082815dcSEvan Bacon if (!styles.resources.$) { 387082815dcSEvan Bacon styles.resources.$ = {}; 388082815dcSEvan Bacon } 389082815dcSEvan Bacon if (!((_styles$resources$$ = styles.resources.$) !== null && _styles$resources$$ !== void 0 && _styles$resources$$['xmlns:tools'])) { 390082815dcSEvan Bacon styles.resources.$['xmlns:tools'] = 'http://schemas.android.com/tools'; 391082815dcSEvan Bacon } 392082815dcSEvan Bacon return styles; 393082815dcSEvan Bacon }, 394082815dcSEvan Bacon async write(filePath, { 395082815dcSEvan Bacon modResults, 396082815dcSEvan Bacon modRequest: { 397082815dcSEvan Bacon introspect 398082815dcSEvan Bacon } 399082815dcSEvan Bacon }) { 400082815dcSEvan Bacon if (introspect) return; 401082815dcSEvan Bacon await (0, _XML().writeXMLAsync)({ 402082815dcSEvan Bacon path: filePath, 403082815dcSEvan Bacon xml: modResults 404082815dcSEvan Bacon }); 405082815dcSEvan Bacon } 406082815dcSEvan Bacon }), 407082815dcSEvan Bacon projectBuildGradle: (0, _createBaseMod().provider)({ 408082815dcSEvan Bacon getFilePath({ 409082815dcSEvan Bacon modRequest: { 410082815dcSEvan Bacon projectRoot 411082815dcSEvan Bacon } 412082815dcSEvan Bacon }) { 413082815dcSEvan Bacon return _android().Paths.getProjectBuildGradleFilePath(projectRoot); 414082815dcSEvan Bacon }, 415082815dcSEvan Bacon async read(filePath) { 416082815dcSEvan Bacon return _android().Paths.getFileInfo(filePath); 417082815dcSEvan Bacon }, 418082815dcSEvan Bacon async write(filePath, { 419082815dcSEvan Bacon modResults: { 420082815dcSEvan Bacon contents 421082815dcSEvan Bacon } 422082815dcSEvan Bacon }) { 423082815dcSEvan Bacon await writeFile(filePath, contents); 424082815dcSEvan Bacon } 425082815dcSEvan Bacon }), 426082815dcSEvan Bacon settingsGradle: (0, _createBaseMod().provider)({ 427082815dcSEvan Bacon getFilePath({ 428082815dcSEvan Bacon modRequest: { 429082815dcSEvan Bacon projectRoot 430082815dcSEvan Bacon } 431082815dcSEvan Bacon }) { 432082815dcSEvan Bacon return _android().Paths.getSettingsGradleFilePath(projectRoot); 433082815dcSEvan Bacon }, 434082815dcSEvan Bacon async read(filePath) { 435082815dcSEvan Bacon return _android().Paths.getFileInfo(filePath); 436082815dcSEvan Bacon }, 437082815dcSEvan Bacon async write(filePath, { 438082815dcSEvan Bacon modResults: { 439082815dcSEvan Bacon contents 440082815dcSEvan Bacon } 441082815dcSEvan Bacon }) { 442082815dcSEvan Bacon await writeFile(filePath, contents); 443082815dcSEvan Bacon } 444082815dcSEvan Bacon }), 445082815dcSEvan Bacon appBuildGradle: (0, _createBaseMod().provider)({ 446082815dcSEvan Bacon getFilePath({ 447082815dcSEvan Bacon modRequest: { 448082815dcSEvan Bacon projectRoot 449082815dcSEvan Bacon } 450082815dcSEvan Bacon }) { 451082815dcSEvan Bacon return _android().Paths.getAppBuildGradleFilePath(projectRoot); 452082815dcSEvan Bacon }, 453082815dcSEvan Bacon async read(filePath) { 454082815dcSEvan Bacon return _android().Paths.getFileInfo(filePath); 455082815dcSEvan Bacon }, 456082815dcSEvan Bacon async write(filePath, { 457082815dcSEvan Bacon modResults: { 458082815dcSEvan Bacon contents 459082815dcSEvan Bacon } 460082815dcSEvan Bacon }) { 461082815dcSEvan Bacon await writeFile(filePath, contents); 462082815dcSEvan Bacon } 463082815dcSEvan Bacon }), 464082815dcSEvan Bacon mainActivity: (0, _createBaseMod().provider)({ 465082815dcSEvan Bacon getFilePath({ 466082815dcSEvan Bacon modRequest: { 467082815dcSEvan Bacon projectRoot 468082815dcSEvan Bacon } 469082815dcSEvan Bacon }) { 470082815dcSEvan Bacon return _android().Paths.getProjectFilePath(projectRoot, 'MainActivity'); 471082815dcSEvan Bacon }, 472082815dcSEvan Bacon async read(filePath) { 473082815dcSEvan Bacon return _android().Paths.getFileInfo(filePath); 474082815dcSEvan Bacon }, 475082815dcSEvan Bacon async write(filePath, { 476082815dcSEvan Bacon modResults: { 477082815dcSEvan Bacon contents 478082815dcSEvan Bacon } 479082815dcSEvan Bacon }) { 480082815dcSEvan Bacon await writeFile(filePath, contents); 481082815dcSEvan Bacon } 482082815dcSEvan Bacon }), 483082815dcSEvan Bacon mainApplication: (0, _createBaseMod().provider)({ 484082815dcSEvan Bacon getFilePath({ 485082815dcSEvan Bacon modRequest: { 486082815dcSEvan Bacon projectRoot 487082815dcSEvan Bacon } 488082815dcSEvan Bacon }) { 489082815dcSEvan Bacon return _android().Paths.getProjectFilePath(projectRoot, 'MainApplication'); 490082815dcSEvan Bacon }, 491082815dcSEvan Bacon async read(filePath) { 492082815dcSEvan Bacon return _android().Paths.getFileInfo(filePath); 493082815dcSEvan Bacon }, 494082815dcSEvan Bacon async write(filePath, { 495082815dcSEvan Bacon modResults: { 496082815dcSEvan Bacon contents 497082815dcSEvan Bacon } 498082815dcSEvan Bacon }) { 499082815dcSEvan Bacon await writeFile(filePath, contents); 500082815dcSEvan Bacon } 501082815dcSEvan Bacon }) 502082815dcSEvan Bacon}; 503082815dcSEvan Baconfunction withAndroidBaseMods(config, { 504082815dcSEvan Bacon providers, 505082815dcSEvan Bacon ...props 506082815dcSEvan Bacon} = {}) { 507ee216927STomasz Sapeta return (0, _createBaseMod().withGeneratedBaseMods)(config, { 508ee216927STomasz Sapeta ...props, 509082815dcSEvan Bacon platform: 'android', 510082815dcSEvan Bacon providers: providers !== null && providers !== void 0 ? providers : getAndroidModFileProviders() 511082815dcSEvan Bacon }); 512082815dcSEvan Bacon} 513082815dcSEvan Baconfunction getAndroidModFileProviders() { 514082815dcSEvan Bacon return defaultProviders; 515082815dcSEvan Bacon} 516082815dcSEvan Bacon//# sourceMappingURL=withAndroidBaseMods.js.map