diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2731f496..eb4e4533 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -51,7 +51,7 @@ yarn test To edit the Objective-C files, open `example/ios/MmkvExample.xcworkspace` in XCode and find the source files at `Pods > Development Pods > react-native-mmkv`. -To edit the Kotlin files, open `example/android` in Android studio and find the source files at `reactnativemmkv` under `Android`. +To edit the Java files, open `example/android` in Android studio and find the source files at `reactnativemmkv` under `Android`. ### Commit message convention diff --git a/android/build.gradle b/android/build.gradle index 24bd4329..f2678910 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,7 +1,4 @@ buildscript { - // Buildscript is evaluated before everything else so we can't use getExtOrDefault - def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : project.properties['Mmkv_kotlinVersion'] - repositories { google() jcenter() @@ -9,13 +6,10 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.2.1' - // noinspection DifferentKotlinGradleVersion - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' def getExtOrDefault(name) { return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['Mmkv_' + name] @@ -134,10 +128,7 @@ repositories { } } -def kotlin_version = getExtOrDefault('kotlinVersion') - dependencies { // noinspection GradleDynamicVersion api 'com.facebook.react:react-native:+' - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } diff --git a/android/gradle.properties b/android/gradle.properties index 492ee55a..98bc617d 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,4 +1,3 @@ -Mmkv_kotlinVersion=1.3.50 Mmkv_compileSdkVersion=29 Mmkv_buildToolsVersion=29.0.2 Mmkv_targetSdkVersion=29 diff --git a/android/src/main/java/com/reactnativemmkv/MmkvModule.java b/android/src/main/java/com/reactnativemmkv/MmkvModule.java new file mode 100644 index 00000000..c6e84fbc --- /dev/null +++ b/android/src/main/java/com/reactnativemmkv/MmkvModule.java @@ -0,0 +1,34 @@ +package com.reactnativemmkv; + +import androidx.annotation.NonNull; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; + +public class MmkvModule extends ReactContextBaseJavaModule { + static { + System.loadLibrary("cpp"); + } + + private native void nativeInstall(long jsiPtr, String path); + + public MmkvModule(ReactApplicationContext context) { + super(context); + } + + @NonNull + @Override + public String getName() { + return "MMKV"; + } + + @Override + public void initialize() { + super.initialize(); + + nativeInstall( + this.getReactApplicationContext().getJavaScriptContextHolder().get(), + this.getReactApplicationContext().getFilesDir().getAbsolutePath() + "/mmkv" + ); + } +} diff --git a/android/src/main/java/com/reactnativemmkv/MmkvModule.kt b/android/src/main/java/com/reactnativemmkv/MmkvModule.kt deleted file mode 100644 index aaf871cb..00000000 --- a/android/src/main/java/com/reactnativemmkv/MmkvModule.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.reactnativemmkv - -import com.facebook.react.bridge.ReactApplicationContext -import com.facebook.react.bridge.ReactContextBaseJavaModule - -class MmkvModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) { - override fun getName(): String { - return "MMKV" - } - - private external fun nativeInstall(jsiPtr: Long, path: String); - - companion object - { - init - { - System.loadLibrary("cpp") - } - } - - override fun initialize() { - super.initialize() - - nativeInstall( - this.reactApplicationContext.javaScriptContextHolder.get(), - this.reactApplicationContext.filesDir.absolutePath + "/mmkv") - } -} diff --git a/android/src/main/java/com/reactnativemmkv/MmkvPackage.java b/android/src/main/java/com/reactnativemmkv/MmkvPackage.java new file mode 100644 index 00000000..8b376b64 --- /dev/null +++ b/android/src/main/java/com/reactnativemmkv/MmkvPackage.java @@ -0,0 +1,26 @@ +package com.reactnativemmkv; + +import androidx.annotation.NonNull; + +import com.facebook.react.ReactPackage; +import com.facebook.react.bridge.NativeModule; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.uimanager.ViewManager; + +import java.util.Collections; +import java.util.List; + + +public class MmkvPackage implements ReactPackage { + @NonNull + @Override + public List createNativeModules(@NonNull ReactApplicationContext reactContext) { + return Collections.singletonList(new MmkvModule(reactContext)); + } + + @NonNull + @Override + public List createViewManagers(@NonNull ReactApplicationContext reactContext) { + return null; + } +} diff --git a/android/src/main/java/com/reactnativemmkv/MmkvPackage.kt b/android/src/main/java/com/reactnativemmkv/MmkvPackage.kt deleted file mode 100644 index 74669f74..00000000 --- a/android/src/main/java/com/reactnativemmkv/MmkvPackage.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.reactnativemmkv - -import com.facebook.react.ReactPackage -import com.facebook.react.bridge.NativeModule -import com.facebook.react.bridge.ReactApplicationContext -import com.facebook.react.uimanager.ViewManager - - -class MmkvPackage : ReactPackage { - override fun createNativeModules(reactContext: ReactApplicationContext): List { - return listOf(MmkvModule(reactContext)) - } - - override fun createViewManagers(reactContext: ReactApplicationContext): List> { - return emptyList() - } -}