diff --git a/.gitignore b/.gitignore
index 45fc440..201fbd4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,6 +23,7 @@ doc/api/
*.js_
*.js.deps
*.js.map
+*.lock
*.iml
.gradle
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..c5f3f6b
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "java.configuration.updateBuildConfiguration": "interactive"
+}
\ No newline at end of file
diff --git a/android/.classpath b/android/.classpath
index 4a04201..eb19361 100644
--- a/android/.classpath
+++ b/android/.classpath
@@ -1,6 +1,6 @@
-
+
diff --git a/android/.settings/org.eclipse.buildship.core.prefs b/android/.settings/org.eclipse.buildship.core.prefs
index 1755e36..41f5edb 100644
--- a/android/.settings/org.eclipse.buildship.core.prefs
+++ b/android/.settings/org.eclipse.buildship.core.prefs
@@ -1,11 +1,11 @@
-arguments=
+arguments=--init-script /var/folders/tv/dbm7kt650fvdxrtf0k7xgxcm0000gn/T/d146c9752a26f79b52047fb6dc6ed385d064e120494f96f08ca63a317c41f94c.gradle --init-script /var/folders/tv/dbm7kt650fvdxrtf0k7xgxcm0000gn/T/52cde0cfcf3e28b8b7510e992210d9614505e0911af0c190bd590d7158574963.gradle
auto.sync=false
build.scans.enabled=false
-connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(7.0-rc-1))
+connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(7.4.2))
connection.project.dir=
eclipse.preferences.version=1
gradle.user.home=
-java.home=C\:/Program Files/Eclipse Foundation/jdk-11.0.12.7-hotspot
+java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
jvm.arguments=
offline.mode=false
override.workspace.settings=true
diff --git a/android/build.gradle b/android/build.gradle
index 1802e72..9c2a4da 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -91,6 +91,6 @@ kapt {
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation 'com.finogeeks.lib:finapplet:2.41.0-alpha20230327v01'
- implementation 'com.finogeeks.mop:plugins:2.41.0-alpha20230327v01'
+ implementation 'com.finogeeks.lib:finapplet:2.40.3'
+ implementation 'com.finogeeks.mop:plugins:2.40.3'
}
\ No newline at end of file
diff --git a/android/src/main/java/com/finogeeks/mop/api/mop/AppletHandlerModule.java b/android/src/main/java/com/finogeeks/mop/api/mop/AppletHandlerModule.java
index 88dab1d..a19b4db 100644
--- a/android/src/main/java/com/finogeeks/mop/api/mop/AppletHandlerModule.java
+++ b/android/src/main/java/com/finogeeks/mop/api/mop/AppletHandlerModule.java
@@ -10,6 +10,7 @@ import android.util.Log;
import androidx.annotation.NonNull;
+import com.finogeeks.lib.applet.client.FinAppProcessClient;
import com.finogeeks.lib.applet.client.FinAppClient;
import com.finogeeks.lib.applet.client.FinAppTrace;
import com.finogeeks.lib.applet.interfaces.FinCallback;
diff --git a/android/src/main/java/com/finogeeks/mop/api/mop/AppletModule.java b/android/src/main/java/com/finogeeks/mop/api/mop/AppletModule.java
index 9091047..a7c81f1 100644
--- a/android/src/main/java/com/finogeeks/mop/api/mop/AppletModule.java
+++ b/android/src/main/java/com/finogeeks/mop/api/mop/AppletModule.java
@@ -141,6 +141,9 @@ public class AppletModule extends BaseApi {
String appId = String.valueOf(param.get("appletId"));
Integer sequence = (Integer) param.get("sequence");
Map params = (Map) param.get("startParams");
+ if (params == null) {
+ params = new HashMap<>();
+ }
String apiServer = (String) param.get("apiServer");
String offlineMiniprogramZipPath = (String) param.get("offlineMiniprogramZipPath");
String offlineFrameworkZipPath = (String) param.get("offlineFrameworkZipPath");
diff --git a/android/src/main/java/com/finogeeks/mop/api/mop/InitSDKModule.java b/android/src/main/java/com/finogeeks/mop/api/mop/InitSDKModule.java
index 12a2b92..65e1be7 100644
--- a/android/src/main/java/com/finogeeks/mop/api/mop/InitSDKModule.java
+++ b/android/src/main/java/com/finogeeks/mop/api/mop/InitSDKModule.java
@@ -19,6 +19,7 @@ import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Locale;
public class InitSDKModule extends BaseApi {
@@ -183,6 +184,12 @@ public class InitSDKModule extends BaseApi {
if (appletText != null) {
configBuilder.setAppletText(appletText);
}
+ Integer languageInteger = (Integer) configMap.get("language");
+ if (languageInteger == 1) {
+ configBuilder.setLocale(Locale.ENGLISH);
+ } else {
+ configBuilder.setLocale(Locale.SIMPLIFIED_CHINESE);
+ }
// uiConfig
FinAppConfig.UIConfig uiConfig = InitUtils.createUIConfigFromMap(uiConfigMap);
diff --git a/android/src/main/java/com/finogeeks/mop/api/mop/util/InitUtils.java b/android/src/main/java/com/finogeeks/mop/api/mop/util/InitUtils.java
index fc99ae9..ba2e082 100644
--- a/android/src/main/java/com/finogeeks/mop/api/mop/util/InitUtils.java
+++ b/android/src/main/java/com/finogeeks/mop/api/mop/util/InitUtils.java
@@ -7,6 +7,23 @@ import java.util.Map;
public class InitUtils {
+ private static float covertNumToFloat(Object obj) {
+ if (obj instanceof Float) {
+ return ((Float) obj).floatValue();
+ } else if (float.class.isInstance(obj)) {
+ return (float) obj;
+ } else if (obj instanceof Double) {
+ return ((Double) obj).floatValue();
+ } else if (double.class.isInstance(obj)) {
+ return (float) obj;
+ } else if (obj instanceof Integer) {
+ return ((Integer) obj).floatValue();
+ } else if (int.class.isInstance(obj)) {
+ return (float) obj;
+ }
+ throw new IllegalArgumentException("Unsupported argument type " + obj.getClass().getName());
+ }
+
public static FinAppConfig.UIConfig createUIConfigFromMap(Map