mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-09-02 07:05:09 +00:00
Fixed onPluginsChanged not being always called after calling addPlugin
This commit is contained in:
@@ -559,24 +559,25 @@ public class Device implements BaseLink.PackageReceiver {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
|
boolean success;
|
||||||
try {
|
try {
|
||||||
boolean success = plugin.onCreate();
|
success = plugin.onCreate();
|
||||||
if (!success) {
|
|
||||||
Log.e("addPlugin", "plugin failed to load " + name);
|
|
||||||
failedPlugins.put(name, plugin);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
failedPlugins.put(name, plugin);
|
success = false;
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
Log.e("addPlugin", "Exception loading plugin " + name);
|
Log.e("addPlugin", "Exception loading plugin " + name);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Log.e("addPlugin","added " + name);
|
if (success) {
|
||||||
|
//Log.e("addPlugin","added " + name);
|
||||||
failedPlugins.remove(name);
|
failedPlugins.remove(name);
|
||||||
plugins.put(name, plugin);
|
plugins.put(name, plugin);
|
||||||
|
} else {
|
||||||
|
Log.e("addPlugin", "plugin failed to load " + name);
|
||||||
|
plugins.remove(name);
|
||||||
|
failedPlugins.put(name, plugin);
|
||||||
|
}
|
||||||
|
|
||||||
for (PluginsChangedListener listener : pluginsChangedListeners) {
|
for (PluginsChangedListener listener : pluginsChangedListeners) {
|
||||||
listener.onPluginsChanged(Device.this);
|
listener.onPluginsChanged(Device.this);
|
||||||
@@ -594,6 +595,7 @@ public class Device implements BaseLink.PackageReceiver {
|
|||||||
|
|
||||||
if (plugin == null) {
|
if (plugin == null) {
|
||||||
if (failedPlugin == null) {
|
if (failedPlugin == null) {
|
||||||
|
//Not found
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
plugin = failedPlugin;
|
plugin = failedPlugin;
|
||||||
@@ -601,20 +603,17 @@ public class Device implements BaseLink.PackageReceiver {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
plugin.onDestroy();
|
plugin.onDestroy();
|
||||||
|
//Log.e("removePlugin","removed " + name);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
Log.e("removePlugin","Exception calling onDestroy for plugin "+name);
|
Log.e("removePlugin","Exception calling onDestroy for plugin "+name);
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Log.e("removePlugin","removed " + name);
|
|
||||||
|
|
||||||
for (PluginsChangedListener listener : pluginsChangedListeners) {
|
for (PluginsChangedListener listener : pluginsChangedListeners) {
|
||||||
listener.onPluginsChanged(this);
|
listener.onPluginsChanged(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPluginEnabled(String pluginName, boolean value) {
|
public void setPluginEnabled(String pluginName, boolean value) {
|
||||||
@@ -651,9 +650,7 @@ public class Device implements BaseLink.PackageReceiver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (PluginsChangedListener listener : pluginsChangedListeners) {
|
//No need to call PluginsChangedListeners because addPlugin and removePlugin already do so
|
||||||
listener.onPluginsChanged(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public HashMap<String,Plugin> getLoadedPlugins() {
|
public HashMap<String,Plugin> getLoadedPlugins() {
|
||||||
|
Reference in New Issue
Block a user