Skip to content

Commit 196a0e9

Browse files
committed
add plugin enable/disable
Signed-off-by: Cai Liming <405977146@163.com>
1 parent df8ed39 commit 196a0e9

3 files changed

Lines changed: 19 additions & 7 deletions

File tree

PluginCore/src/com/plugin/core/PluginDescriptor.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ public class PluginDescriptor implements Serializable {
3333

3434
private String description;
3535

36+
private boolean isEnabled;
37+
3638
private HashMap<String, String> fragments;
3739

3840
private HashMap<String, String> activities;
@@ -106,4 +108,12 @@ public String getDescription() {
106108
public void setDescription(String description) {
107109
this.description = description;
108110
}
111+
112+
public boolean isEnabled() {
113+
return isEnabled;
114+
}
115+
116+
public void setEnabled(boolean isEnabled) {
117+
this.isEnabled = isEnabled;
118+
}
109119
}

PluginCore/src/com/plugin/core/PluginLoader.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,14 @@ private static PluginDescriptor getPluginDescriptorByClassName(String clazzName)
297297
return null;
298298
}
299299

300+
public static synchronized void enablePlugin(String pluginId, boolean enable) {
301+
PluginDescriptor pluginDescriptor = sInstalledPlugins.get(pluginId);
302+
if (pluginDescriptor != null && !pluginDescriptor.isEnabled()) {
303+
pluginDescriptor.setEnabled(enable);
304+
saveInstalledPlugins(sInstalledPlugins);
305+
}
306+
}
307+
300308
@SuppressWarnings("unchecked")
301309
private static synchronized Hashtable<String, PluginDescriptor> readInstalledPlugins() {
302310
if (sInstalledPlugins.size() == 0) {
@@ -332,18 +340,11 @@ private static synchronized Hashtable<String, PluginDescriptor> readInstalledPlu
332340
if (object != null) {
333341

334342
Hashtable<String, PluginDescriptor> installedPlugin = (Hashtable<String, PluginDescriptor>) object;
335-
installedPlugin = checkEnableList(installedPlugin);
336-
337343
sInstalledPlugins.putAll(installedPlugin);
338344
}
339345
}
340346
return sInstalledPlugins;
341347
}
342-
343-
private static Hashtable<String, PluginDescriptor> checkEnableList(Hashtable<String, PluginDescriptor> installedPlugin) {
344-
//TODO 检查是否需要禁用部分插件
345-
return installedPlugin;
346-
}
347348

348349
/**
349350
* 插件的安装目录, 插件apk将来会被放在这个目录下面

PluginCore/src/com/plugin/util/ApkReader.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public static PluginDescriptor readPluginDescriptor(String pluginFile) {
3434
try {
3535
JSONObject json = new JSONObject(pluginDesciption);
3636
PluginDescriptor pluginDescriptor = new PluginDescriptor();
37+
pluginDescriptor.setEnabled(true);
3738
pluginDescriptor.setId(json.get("id").toString());
3839
pluginDescriptor.setVersion(json.get("version").toString());
3940
pluginDescriptor.setDescription(json.get("description").toString());

0 commit comments

Comments
 (0)