diff --git a/quickstep/src/com/android/launcher3/uioverrides/plugins/PluginManagerWrapper.java b/quickstep/src/com/android/launcher3/uioverrides/plugins/PluginManagerWrapper.java index e12f42e56f..941d9dedb5 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/plugins/PluginManagerWrapper.java +++ b/quickstep/src/com/android/launcher3/uioverrides/plugins/PluginManagerWrapper.java @@ -27,7 +27,8 @@ import android.content.pm.ResolveInfo; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.systemui.plugins.Plugin; import com.android.systemui.plugins.PluginListener; -import com.android.systemui.shared.plugins.PluginInstanceManager; +import com.android.systemui.shared.plugins.PluginActionManager; +import com.android.systemui.shared.plugins.PluginInstance; import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.shared.plugins.PluginManagerImpl; import com.android.systemui.shared.plugins.PluginPrefs; @@ -54,27 +55,35 @@ public class PluginManagerWrapper { mContext = c; PluginInitializerImpl pluginInitializer = new PluginInitializerImpl(); mPluginEnabler = new PluginEnablerImpl(c); - PluginInstanceManager.Factory instanceManagerFactory = new PluginInstanceManager.Factory( + List privilegedPlugins = Arrays.asList(pluginInitializer.getPrivilegedPlugins(c)); + PluginInstance.Factory instanceFactory = new PluginInstance.Factory( + getClass().getClassLoader(), new PluginInstance.InstanceFactory<>(), + new PluginInstance.VersionChecker(), privilegedPlugins, + pluginInitializer.isDebuggable()); + PluginActionManager.Factory instanceManagerFactory = new PluginActionManager.Factory( c, c.getPackageManager(), c.getMainExecutor(), MODEL_EXECUTOR, pluginInitializer, c.getSystemService(NotificationManager.class), mPluginEnabler, - Arrays.asList(pluginInitializer.getPrivilegedPlugins(c))); + privilegedPlugins, instanceFactory); mPluginManager = new PluginManagerImpl(c, instanceManagerFactory, pluginInitializer.isDebuggable(), Optional.ofNullable(Thread.getDefaultUncaughtExceptionHandler()), mPluginEnabler, - new PluginPrefs(c), Arrays.asList(pluginInitializer.getPrivilegedPlugins(c))); + new PluginPrefs(c), privilegedPlugins); } public PluginEnablerImpl getPluginEnabler() { return mPluginEnabler; } - public void addPluginListener(PluginListener listener, Class pluginClass) { + /** */ + public void addPluginListener( + PluginListener listener, Class pluginClass) { addPluginListener(listener, pluginClass, false); } - public void addPluginListener(PluginListener listener, Class pluginClass, - boolean allowMultiple) { + /** */ + public void addPluginListener( + PluginListener listener, Class pluginClass, boolean allowMultiple) { mPluginManager.addPluginListener(listener, pluginClass, allowMultiple); }