Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions expo/withAppsFlyer.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
const withAppsFlyerIos = require('./withAppsFlyerIos');
const withAppsFlyerAndroid = require('./withAppsFlyerAndroid');

module.exports = function withAppsFlyer(config, { shouldUseStrictMode = false }) {
config = withAppsFlyerIos(config, shouldUseStrictMode);
config = withAppsFlyerAndroid(config)
return config;
};
32 changes: 32 additions & 0 deletions expo/withAppsFlyerAndroid.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const {withMainActivity} = require('@expo/config-plugins')

function overrideOnNewIntent(contents, packageName = ''){
let nextContent = contents
const intentImportString = 'import android.content.intent'

if (!nextContent.includes(intentImportString)){
const packageString = `${packageName}\n`
nextContent = nextContent.replace(packageString,`${packageString}\n${intentImportString}`)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a new line at the end of the import.

Suggested change
nextContent = nextContent.replace(packageString,`${packageString}\n${intentImportString}`)
nextContent = nextContent.replace(packageString,`${packageString}\n${intentImportString}\n`)

}

if (!nextContent.includes('override fun onNewIntent(intent: Intent?)')) {
const classDeclarationRegex = /class\s+\w+.*\{/
nextContent = nextContent.replace(
classDeclarationRegex,
match=>`${match}
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
setIntent(intent)
}
`)
}
return nextContent
}

module.exports = function withAppsFlyerAndroid(config){
return withMainActivity(config, function(config){
const {modResults:{contents},android} = config
config.modResults.contents = overrideOnNewIntent(contents,android?.package)
return config
})
}