From 2e3f8f3cea4796a327a25734f0648fe05e428f54 Mon Sep 17 00:00:00 2001 From: "pengfei.zhou" Date: Thu, 29 Apr 2021 11:13:51 +0800 Subject: [PATCH] android: fix npe when create plugin error --- .../doric/src/main/java/pub/doric/DoricContext.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doric-android/doric/src/main/java/pub/doric/DoricContext.java b/doric-android/doric/src/main/java/pub/doric/DoricContext.java index 4e5b0057..3cc26334 100644 --- a/doric-android/doric/src/main/java/pub/doric/DoricContext.java +++ b/doric-android/doric/src/main/java/pub/doric/DoricContext.java @@ -53,7 +53,7 @@ public class DoricContext { private final String mContextId; private final Map mPluginMap = new HashMap<>(); private final Context mContext; - private RootNode mRootNode = new RootNode(this); + private final RootNode mRootNode = new RootNode(this); private final String source; private String script; private String extra; @@ -198,7 +198,9 @@ public class DoricContext { DoricJavaPlugin plugin = mPluginMap.get(doricMetaInfo.getName()); if (plugin == null) { plugin = doricMetaInfo.createInstance(this); - mPluginMap.put(doricMetaInfo.getName(), plugin); + if (plugin != null) { + mPluginMap.put(doricMetaInfo.getName(), plugin); + } } return plugin; } @@ -281,7 +283,9 @@ public class DoricContext { */ public void onActivityResult(int requestCode, int resultCode, Intent data) { for (DoricJavaPlugin javaPlugin : mPluginMap.values()) { - javaPlugin.onActivityResult(requestCode, resultCode, data); + if (javaPlugin != null) { + javaPlugin.onActivityResult(requestCode, resultCode, data); + } } } }