Merge "Moving PluginManager to dagger" into main

This commit is contained in:
Sunny Goyal
2024-10-17 21:47:28 +00:00
committed by Android (Google) Code Review
8 changed files with 49 additions and 39 deletions
@@ -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);
}