UNPKG

@adyen/react-native

Version:

Wraps Adyen Checkout Drop-In and Components for iOS and Android for convenient use with React Native

55 lines (50 loc) 1.73 kB
export function setKotlinMainActivity(contents: string): string { contents = contents.replace( 'class MainActivity : ReactActivity() {', 'import com.adyenreactnativesdk.AdyenCheckout\nimport android.content.Intent\nclass MainActivity : ReactActivity() {' ); // on Create contents = contents.replace( 'super.onCreate(null)', 'super.onCreate(null)\n AdyenCheckout.setLauncherActivity(this)' ); // on NewIntent if (contents.includes('override fun onNewIntent(intent: Intent?) {')) { contents = contents.replace( 'super.onNewIntent(intent)\n', 'super.onNewIntent(intent)\n intent?.let { AdyenCheckout.handleIntent(it) }\n' ); } else { contents = contents.replace( /}\n$/, '\n' + ' override fun onNewIntent(intent: Intent?) {\n' + ' super.onNewIntent(intent)\n' + ' intent?.let { AdyenCheckout.handleIntent(it) }\n' + ' }\n' + '}\n' ); } // on ActivityResult if ( contents.includes( 'override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {' ) ) { contents = contents.replace( 'super.onActivityResult(requestCode, resultCode, data)\n', 'super.onActivityResult(requestCode, resultCode, data)\n AdyenCheckout.handleActivityResult(requestCode, resultCode, data)\n' ); } else { contents = contents.replace( /}\n$/, '\n' + ' override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {\n' + ' super.onActivityResult(requestCode, resultCode, data)\n' + ' AdyenCheckout.handleActivityResult(requestCode, resultCode, data)\n' + ' }\n' + '}\n' ); } return contents; }