Skip to content

Commit 6b31c37

Browse files
committed
fix: oldarch build
1 parent 28c6664 commit 6b31c37

File tree

6 files changed

+100
-58
lines changed

6 files changed

+100
-58
lines changed

package/android/cpp-adapter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
1313

1414
extern "C"
1515
JNIEXPORT void JNICALL
16-
Java_com_margelo_rnnitrosqlite_RNNitroSQLiteOnLoadModule_setDocPathInJNI(JNIEnv *env, jclass clazz,
16+
Java_com_margelo_rnnitrosqlite_DocPathSetter_setDocPathInJNI(JNIEnv *env, jclass clazz,
1717
jstring doc_path) {
1818
const char *nativeString = env->GetStringUTFChars(doc_path, nullptr);
1919
HybridNitroSQLite::docPath = std::string(nativeString);
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.margelo.rnnitrosqlite
2+
3+
import com.facebook.react.bridge.ReactApplicationContext
4+
5+
object DocPathSetter {
6+
@JvmStatic
7+
fun setDocPath(context: ReactApplicationContext) {
8+
val path = context.filesDir.absolutePath
9+
setDocPathInJNI(path)
10+
}
11+
12+
private external fun setDocPathInJNI(docPath: String)
13+
}

package/android/src/main/java/com/margelo/rnnitrosqlite/RNNitroSQLitePackage.java

Lines changed: 0 additions & 48 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.margelo.rnnitrosqlite
2+
3+
import com.facebook.react.TurboReactPackage
4+
import com.facebook.react.bridge.NativeModule
5+
import com.facebook.react.bridge.ReactApplicationContext
6+
import com.facebook.react.module.model.ReactModuleInfo
7+
import com.facebook.react.module.model.ReactModuleInfoProvider
8+
9+
class RNNitroSQLitePackage : TurboReactPackage() {
10+
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
11+
return if (name == RNNitroSQLiteOnLoadModule.NAME) {
12+
RNNitroSQLiteOnLoadModule(reactContext)
13+
} else {
14+
null
15+
}
16+
}
17+
18+
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
19+
return ReactModuleInfoProvider {
20+
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
21+
val isTurboModule: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
22+
moduleInfos[RNNitroSQLiteOnLoadModule.NAME] = ReactModuleInfo(
23+
RNNitroSQLiteOnLoadModule.NAME,
24+
RNNitroSQLiteOnLoadModule.NAME,
25+
canOverrideExistingModule=false,
26+
needsEagerInit=true,
27+
hasConstants=true,
28+
isCxxModule=false,
29+
isTurboModule=isTurboModule
30+
)
31+
moduleInfos
32+
}
33+
}
34+
35+
companion object {
36+
init {
37+
System.loadLibrary("RNNitroSQLite")
38+
}
39+
}
40+
}

package/android/src/main/java/com/margelo/rnnitrosqlite/RNNitroSQLiteOnLoadModule.java renamed to package/android/src/newarch/com/margelo/rnnitrosqlite/RNNitroSQLiteOnLoadModule.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,16 @@ public class RNNitroSQLiteOnLoadModule extends NativeNitroSQLiteOnLoadSpec {
1919

2020
public RNNitroSQLiteOnLoadModule(ReactApplicationContext reactContext) {
2121
super(reactContext);
22-
2322
_reactContext = reactContext;
24-
setDocPath(reactContext);
23+
24+
var docPathSetter = new DocPathSetter();
25+
docPathSetter.setDocPath(reactContext);
2526

2627
if (reactApplicationContextReadyCallback != null) {
2728
reactApplicationContextReadyCallback.invoke();
2829
}
2930
}
3031

31-
public static void setDocPath(ReactApplicationContext context) {
32-
final String path = context.getFilesDir().getAbsolutePath();
33-
setDocPathInJNI(path);
34-
}
35-
3632
@Override
3733
@NonNull
3834
public String getName() {
@@ -52,6 +48,4 @@ public void onReactApplicationContextReady(Callback callback) {
5248
public static ReactApplicationContext getReactContext() {
5349
return _reactContext;
5450
}
55-
56-
private native static void setDocPathInJNI(String docPath);
5751
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.margelo.rnnitrosqlite
2+
3+
import com.facebook.react.bridge.Callback
4+
import com.facebook.react.bridge.ReactApplicationContext
5+
import com.facebook.react.bridge.ReactContextBaseJavaModule
6+
import com.facebook.react.bridge.ReactMethod
7+
8+
class RNNitroSQLiteOnLoadModule(reactContext: ReactApplicationContext) :
9+
ReactContextBaseJavaModule(reactContext) {
10+
11+
12+
init {
13+
Companion.reactContext = reactContext
14+
DocPathSetter.setDocPath(reactContext)
15+
16+
if (reactApplicationContextReadyCallback != null) {
17+
reactApplicationContextReadyCallback!!.invoke()
18+
}
19+
}
20+
21+
override fun getName(): String {
22+
return NAME
23+
}
24+
25+
@ReactMethod
26+
fun onReactApplicationContextReady(callback: Callback) {
27+
if (reactContext != null) {
28+
callback.invoke()
29+
return
30+
}
31+
32+
reactApplicationContextReadyCallback = callback
33+
}
34+
35+
companion object {
36+
const val NAME: String = "RNNitroSQLiteOnLoad"
37+
38+
var reactContext: ReactApplicationContext? = null
39+
private set
40+
var reactApplicationContextReadyCallback: Callback? = null
41+
private set
42+
}
43+
}

0 commit comments

Comments
 (0)