@@ -11,53 +11,32 @@ const insertLinesHelper_1 = require("./util/insertLinesHelper");
1111let viroPluginConfig = [ "AR" ] ;
1212const withBranchAndroid = ( config ) => {
1313 // Directly edit MainApplication.java
14- config = ( 0 , config_plugins_1 . withDangerousMod ) ( config , [
14+ return ( 0 , config_plugins_1 . withDangerousMod ) ( config , [
1515 "android" ,
1616 async ( config ) => {
17- const mainApplicationPath = path_1 . default . join ( config . modRequest . platformProjectRoot , "app" , "src" , "main" , "java" , ...( config ?. android ?. package ?. split ?. ( "." ) || [ ] ) , "MainApplication.java" ) ;
18- const root = config . modRequest . platformProjectRoot ;
17+ let mainApplicationPath = "" ;
18+ let isJava ;
19+ const mainApplicationPrefix = path_1 . default . join ( config . modRequest . platformProjectRoot , "app" , "src" , "main" , "java" , ...( config ?. android ?. package ?. split ?. ( "." ) || [ ] ) ) ;
20+ const mainApplicationPathJava = path_1 . default . join ( mainApplicationPrefix , "MainApplication.java" ) ;
21+ const mainApplicationPathKotlin = path_1 . default . join ( mainApplicationPrefix , "MainApplication.kt" ) ;
22+ if ( fs_1 . default . existsSync ( mainApplicationPathJava ) ) {
23+ isJava = true ;
24+ mainApplicationPath = mainApplicationPathJava ;
25+ }
26+ else if ( fs_1 . default . existsSync ( mainApplicationPathKotlin ) ) {
27+ isJava = false ;
28+ mainApplicationPath = mainApplicationPathKotlin ;
29+ }
30+ else {
31+ throw new Error ( "MainApplication.kt or MainApplication.java file not found." ) ;
32+ }
1933 fs_1 . default . readFile ( mainApplicationPath , "utf-8" , ( err , data ) => {
20- data = ( 0 , insertLinesHelper_1 . insertLinesHelper ) ( "import com.viromedia.bridge.ReactViroPackage;" , `package ${ config ?. android ?. package } ;` , data ) ;
21- /**
22- * ********************************************************************
23- * Sample app.json with property config
24- * Options: "AR", "GVR", "OVR_MOBILE"
25- *
26- * https://docs.expo.dev/guides/config-plugins/#using-a-plugin-in-your-app
27- * ********************************************************************
28- *
29- * plugins: [
30- * [
31- * "@viro-community/react-viro",
32- * {
33- * android: {
34- * xRMode: "GVR"
35- * }
36- * }
37- * ]
38- * ],
39- *
40- * ********************************************************************
41- * Sample app.json with multiple options for Viro config
42- * The default configuration is "AR"
43- * ********************************************************************
44- * plugins: [
45- * [
46- * "@viro-community/react-viro",
47- * {
48- * android: {
49- * xRMode: ["GVR", "AR"]
50- * }
51- * }
52- * ]
53- * ],
54- * ********************************************************************
55- * Sample app.json without property config
56- * ********************************************************************
57- *
58- * plugins: [ "@viro-community/react-viro" ],
59- *
60- */
34+ if ( isJava ) {
35+ data = ( 0 , insertLinesHelper_1 . insertLinesHelper ) ( "import com.viromedia.bridge.ReactViroPackage;" , `package ${ config ?. android ?. package } ;` , data ) ;
36+ }
37+ else {
38+ data = ( 0 , insertLinesHelper_1 . insertLinesHelper ) ( "import com.viromedia.bridge.ReactViroPackage" , `package ${ config ?. android ?. package } ` , data ) ;
39+ }
6140 const viroPlugin = config ?. plugins ?. find ( ( plugin ) => Array . isArray ( plugin ) && plugin [ 0 ] === "@viro-community/react-viro" ) ;
6241 if ( Array . isArray ( viroPlugin ) ) {
6342 if ( Array . isArray ( viroPlugin [ 1 ] . android ?. xRMode ) ) {
@@ -71,9 +50,14 @@ const withBranchAndroid = (config) => {
7150 for ( const viroConfig of viroPluginConfig ) {
7251 target =
7352 target +
74- ` packages.add(new ReactViroPackage(ReactViroPackage.ViroPlatform.valueOf("${ viroConfig } ")));\n` ;
53+ ` packages.add(new ReactViroPackage(ReactViroPackage.ViroPlatform.valueOf("${ viroConfig } ")))${ isJava ? ";" : "" } \n` ;
54+ }
55+ if ( isJava ) {
56+ data = ( 0 , insertLinesHelper_1 . insertLinesHelper ) ( target , "List<ReactPackage> packages = new PackageList(this).getPackages();" , data ) ;
57+ }
58+ else {
59+ data = ( 0 , insertLinesHelper_1 . insertLinesHelper ) ( target , "override fun getPackages(): List<ReactPackage> {" , data ) ;
7560 }
76- data = ( 0 , insertLinesHelper_1 . insertLinesHelper ) ( target , "List<ReactPackage> packages = new PackageList(this).getPackages();" , data ) ;
7761 fs_1 . default . writeFile ( mainApplicationPath , data , "utf-8" , function ( err ) {
7862 if ( err )
7963 console . log ( "Error writing MainApplication.java" ) ;
@@ -82,7 +66,6 @@ const withBranchAndroid = (config) => {
8266 return config ;
8367 } ,
8468 ] ) ;
85- return config ;
8669} ;
8770const withViroProjectBuildGradle = ( config ) => ( 0 , config_plugins_1 . withProjectBuildGradle ) ( config , async ( newConfig ) => {
8871 newConfig . modResults . contents = newConfig . modResults . contents . replace ( / m i n S d k V e r s i o n .* / , `minSdkVersion = 24` ) ;
0 commit comments