Skip to content

Commit 24d0008

Browse files
committed
feat(android): new arch
1 parent 33a71ae commit 24d0008

File tree

3 files changed

+53
-10
lines changed

3 files changed

+53
-10
lines changed

android/build.gradle

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,24 @@ android {
5151
disable 'GradleCompatible'
5252
}
5353

54+
5455
compileOptions {
5556
sourceCompatibility JavaVersion.VERSION_1_8
5657
targetCompatibility JavaVersion.VERSION_1_8
5758
}
5859

60+
61+
sourceSets {
62+
main {
63+
if (isNewArchitectureEnabled()) {
64+
java.srcDirs += [
65+
"generated/java",
66+
"generated/jni"
67+
]
68+
}
69+
}
70+
}
71+
5972
}
6073

6174
repositories {
Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,36 @@
11
package com.mytracker
22

3-
import com.facebook.react.ReactPackage
43
import com.facebook.react.bridge.ReactApplicationContext
54
import com.facebook.react.bridge.NativeModule
6-
import com.facebook.react.uimanager.ViewManager
7-
import java.util.ArrayList
5+
import com.facebook.react.module.model.ReactModuleInfoProvider
86

9-
class MytrackerPackage : ReactPackage {
10-
override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
11-
val modules: MutableList<NativeModule> = ArrayList()
12-
modules.add(MytrackerModule(reactContext))
13-
return modules
7+
import com.facebook.react.TurboReactPackage
8+
import com.facebook.react.module.model.ReactModuleInfo
9+
import java.util.HashMap
10+
11+
class MytrackerPackage : TurboReactPackage() {
12+
13+
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
14+
return if (name == MytrackerModule.NAME) {
15+
MytrackerModule(reactContext)
16+
} else {
17+
null
1418
}
19+
}
1520

16-
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
17-
return emptyList()
21+
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
22+
return ReactModuleInfoProvider {
23+
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
24+
moduleInfos[MytrackerModule.NAME] = ReactModuleInfo(
25+
MytrackerModule.NAME,
26+
MytrackerModule.NAME,
27+
false, // canOverrideExistingModule
28+
false, // needsEagerInit
29+
true, // hasConstants
30+
false, // isCxxModule
31+
true // isTurboModule
32+
)
33+
moduleInfos
1834
}
35+
}
1936
}

package.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,19 @@
142142
"trailingComma": "es5",
143143
"useTabs": false
144144
},
145+
"codegenConfig": {
146+
"name": "RNMytrackerSpec",
147+
"type": "all",
148+
"jsSrcsDir": "src",
149+
"outputDir": {
150+
"ios": "ios/generated",
151+
"android": "android/generated"
152+
},
153+
"android": {
154+
"javaPackageName": "com.mytracker"
155+
},
156+
"includesGeneratedCode": true
157+
},
145158
"react-native-builder-bob": {
146159
"source": "src",
147160
"output": "lib",

0 commit comments

Comments
 (0)