Merge "Moving PluginManager to dagger" into main
This commit is contained in:
+10
-6
@@ -27,6 +27,8 @@ import android.content.Intent;
|
||||
import android.content.pm.ResolveInfo;
|
||||
|
||||
import com.android.launcher3.BuildConfig;
|
||||
import com.android.launcher3.dagger.ApplicationContext;
|
||||
import com.android.launcher3.dagger.LauncherAppSingleton;
|
||||
import com.android.launcher3.util.PluginManagerWrapper;
|
||||
import com.android.systemui.plugins.Plugin;
|
||||
import com.android.systemui.plugins.PluginListener;
|
||||
@@ -34,7 +36,6 @@ import com.android.systemui.shared.plugins.PluginActionManager;
|
||||
import com.android.systemui.shared.plugins.PluginInstance;
|
||||
import com.android.systemui.shared.plugins.PluginManagerImpl;
|
||||
import com.android.systemui.shared.plugins.PluginPrefs;
|
||||
import com.android.systemui.shared.system.UncaughtExceptionPreHandlerManager;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
@@ -42,16 +43,17 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class PluginManagerWrapperImpl extends PluginManagerWrapper {
|
||||
import javax.inject.Inject;
|
||||
|
||||
private static final UncaughtExceptionPreHandlerManager UNCAUGHT_EXCEPTION_PRE_HANDLER_MANAGER =
|
||||
new UncaughtExceptionPreHandlerManager();
|
||||
@LauncherAppSingleton
|
||||
public class PluginManagerWrapperImpl extends PluginManagerWrapper {
|
||||
|
||||
private final Context mContext;
|
||||
private final PluginManagerImpl mPluginManager;
|
||||
private final PluginEnablerImpl mPluginEnabler;
|
||||
|
||||
public PluginManagerWrapperImpl(Context c) {
|
||||
@Inject
|
||||
public PluginManagerWrapperImpl(@ApplicationContext Context c) {
|
||||
mContext = c;
|
||||
mPluginEnabler = new PluginEnablerImpl(c);
|
||||
List<String> privilegedPlugins = Collections.emptyList();
|
||||
@@ -64,9 +66,11 @@ public class PluginManagerWrapperImpl extends PluginManagerWrapper {
|
||||
c.getSystemService(NotificationManager.class), mPluginEnabler,
|
||||
privilegedPlugins, instanceFactory);
|
||||
|
||||
// Use null preHandlerManager, as the handler is never unregistered which can cause leaks
|
||||
// when using multiple dagger graphs.
|
||||
mPluginManager = new PluginManagerImpl(c, instanceManagerFactory,
|
||||
BuildConfig.IS_DEBUG_DEVICE,
|
||||
UNCAUGHT_EXCEPTION_PRE_HANDLER_MANAGER, mPluginEnabler,
|
||||
null /* preHandlerManager */, mPluginEnabler,
|
||||
new PluginPrefs(c), privilegedPlugins);
|
||||
}
|
||||
|
||||
|
||||
@@ -15,8 +15,14 @@
|
||||
*/
|
||||
package com.android.quickstep.dagger;
|
||||
|
||||
import com.android.launcher3.uioverrides.plugins.PluginManagerWrapperImpl;
|
||||
import com.android.launcher3.util.PluginManagerWrapper;
|
||||
|
||||
import dagger.Binds;
|
||||
import dagger.Module;
|
||||
|
||||
@Module
|
||||
public class QuickStepModule {
|
||||
public abstract class QuickStepModule {
|
||||
|
||||
@Binds abstract PluginManagerWrapper bindPluginManagerWrapper(PluginManagerWrapperImpl impl);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user