5/N Remove PluginInitializer entirely.

This class no longer serves any purpose.

Bug: 194781951
Test: atest SystemUITests && manual
Change-Id: Ie522ae3cc493817d83824c19b642664ce8b57c9f
This commit is contained in:
Dave Mankoff
2021-08-13 14:49:43 -04:00
parent b07994d29a
commit bfb3a7a831
6 changed files with 25 additions and 80 deletions

View File

@@ -73,7 +73,6 @@ public class PluginActionManager<T extends Plugin> {
private final boolean mIsDebuggable;
private final PackageManager mPm;
private final Class<T> mPluginClass;
private final PluginInitializer mInitializer;
private final Executor mMainExecutor;
private final Executor mBgExecutor;
@@ -87,13 +86,11 @@ public class PluginActionManager<T extends Plugin> {
Executor mainExecutor,
Executor bgExecutor,
boolean debuggable,
PluginInitializer initializer,
NotificationManager notificationManager,
PluginEnabler pluginEnabler,
List<String> privilegedPlugins,
PluginInstance.Factory pluginInstanceFactory) {
mPluginClass = pluginClass;
mInitializer = initializer;
mMainExecutor = mainExecutor;
mBgExecutor = bgExecutor;
mContext = context;
@@ -376,21 +373,19 @@ public class PluginActionManager<T extends Plugin> {
private final PackageManager mPackageManager;
private final Executor mMainExecutor;
private final Executor mBgExecutor;
private final PluginInitializer mInitializer;
private final NotificationManager mNotificationManager;
private final PluginEnabler mPluginEnabler;
private final List<String> mPrivilegedPlugins;
private final PluginInstance.Factory mPluginInstanceFactory;
public Factory(Context context, PackageManager packageManager,
Executor mainExecutor, Executor bgExecutor, PluginInitializer initializer,
Executor mainExecutor, Executor bgExecutor,
NotificationManager notificationManager, PluginEnabler pluginEnabler,
List<String> privilegedPlugins, PluginInstance.Factory pluginInstanceFactory) {
mContext = context;
mPackageManager = packageManager;
mMainExecutor = mainExecutor;
mBgExecutor = bgExecutor;
mInitializer = initializer;
mNotificationManager = notificationManager;
mPluginEnabler = pluginEnabler;
mPrivilegedPlugins = privilegedPlugins;
@@ -402,7 +397,7 @@ public class PluginActionManager<T extends Plugin> {
boolean allowMultiple, boolean debuggable) {
return new PluginActionManager<>(mContext, mPackageManager, action, listener,
pluginClass, allowMultiple, mMainExecutor, mBgExecutor,
debuggable, mInitializer, mNotificationManager, mPluginEnabler,
debuggable, mNotificationManager, mPluginEnabler,
mPrivilegedPlugins, mPluginInstanceFactory);
}
}

View File

@@ -1,21 +0,0 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.android.systemui.shared.plugins;
/**
* Provides necessary components for initializing {@link PluginManagerImpl}.
*/
public interface PluginInitializer {
}

View File

@@ -24,6 +24,7 @@ import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.GlobalActions;
import com.android.systemui.plugins.PluginDependencyProvider;
import com.android.systemui.plugins.VolumeDialogController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.StatusBarStateControllerImpl;
@@ -32,6 +33,7 @@ import com.android.systemui.volume.VolumeDialogControllerImpl;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
/**
* Module for binding Plugin implementations.
@@ -39,36 +41,40 @@ import dagger.Module;
* TODO(b/166258224): Many of these should be moved closer to their implementations.
*/
@Module
public interface PluginModule {
public abstract class PluginModule {
/** */
@Provides
static ActivityStarter provideActivityStarter(ActivityStarterDelegate delegate,
PluginDependencyProvider dependencyProvider) {
dependencyProvider.allowPluginDependency(ActivityStarter.class, delegate);
return delegate;
}
/** */
@Binds
ActivityStarter provideActivityStarter(ActivityStarterDelegate delegate);
abstract DarkIconDispatcher provideDarkIconDispatcher(DarkIconDispatcherImpl controllerImpl);
/** */
@Binds
DarkIconDispatcher provideDarkIconDispatcher(DarkIconDispatcherImpl controllerImpl);
abstract FalsingManager provideFalsingManager(FalsingManagerProxy falsingManagerImpl);
/** */
@Binds
FalsingManager provideFalsingManager(FalsingManagerProxy falsingManagerImpl);
abstract GlobalActions provideGlobalActions(GlobalActionsImpl controllerImpl);
/** */
@Binds
GlobalActions provideGlobalActions(GlobalActionsImpl controllerImpl);
/** */
@Binds
GlobalActions.GlobalActionsManager provideGlobalActionsManager(
abstract GlobalActions.GlobalActionsManager provideGlobalActionsManager(
GlobalActionsComponent controllerImpl);
/** */
@Binds
StatusBarStateController provideStatusBarStateController(
abstract StatusBarStateController provideStatusBarStateController(
StatusBarStateControllerImpl controllerImpl);
/** */
@Binds
VolumeDialogController provideVolumeDialogController(VolumeDialogControllerImpl controllerImpl);
abstract VolumeDialogController provideVolumeDialogController(
VolumeDialogControllerImpl controllerImpl);
}

View File

@@ -1,29 +0,0 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.android.systemui.plugins;
import com.android.systemui.shared.plugins.PluginInitializer;
import javax.inject.Inject;
import javax.inject.Singleton;
/** */
@Singleton
public class PluginInitializerImpl implements PluginInitializer {
@Inject
public PluginInitializerImpl(PluginDependencyProvider dependencyProvider) {
dependencyProvider.allowPluginDependency(ActivityStarter.class);
}
}

View File

@@ -28,7 +28,6 @@ import com.android.systemui.dagger.PluginModule;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.shared.plugins.PluginActionManager;
import com.android.systemui.shared.plugins.PluginEnabler;
import com.android.systemui.shared.plugins.PluginInitializer;
import com.android.systemui.shared.plugins.PluginInstance;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.shared.plugins.PluginManagerImpl;
@@ -69,9 +68,6 @@ public abstract class PluginsModule {
@Binds
abstract PluginEnabler bindsPluginEnablerImpl(PluginEnablerImpl impl);
@Binds
abstract PluginInitializer bindsPluginInitializerImpl(PluginInitializerImpl impl);
@Provides
@Singleton
static PluginInstance.Factory providesPluginInstanceFactory(
@@ -89,12 +85,12 @@ public abstract class PluginsModule {
@Singleton
static PluginActionManager.Factory providePluginInstanceManagerFactory(Context context,
PackageManager packageManager, @Main Executor mainExecutor,
@Named(PLUGIN_THREAD) Executor pluginExecutor, PluginInitializer initializer,
@Named(PLUGIN_THREAD) Executor pluginExecutor,
NotificationManager notificationManager, PluginEnabler pluginEnabler,
@Named(PLUGIN_PRIVILEGED) List<String> privilegedPlugins,
PluginInstance.Factory pluginInstanceFactory) {
return new PluginActionManager.Factory(
context, packageManager, mainExecutor, pluginExecutor, initializer,
context, packageManager, mainExecutor, pluginExecutor,
notificationManager, pluginEnabler, privilegedPlugins, pluginInstanceFactory);
}

View File

@@ -74,7 +74,6 @@ public class PluginActionManagerTest extends SysuiTestCase {
private PluginEnabler mMockEnabler;
ComponentName mTestPluginComponentName =
new ComponentName(PRIVILEGED_PACKAGE, TestPlugin.class.getName());
private PluginInitializer mInitializer;
private final FakeExecutor mFakeExecutor = new FakeExecutor(new FakeSystemClock());
NotificationManager mNotificationManager;
private PluginInstance<TestPlugin> mPluginInstance;
@@ -98,14 +97,13 @@ public class PluginActionManagerTest extends SysuiTestCase {
mMockListener = mock(PluginListener.class);
mMockEnabler = mock(PluginEnabler.class);
mMockVersionInfo = mock(VersionInfo.class);
mInitializer = mock(PluginInitializer.class);
mNotificationManager = mock(NotificationManager.class);
mMockPlugin = mock(TestPlugin.class);
mPluginInstance = mock(PluginInstance.class);
when(mPluginInstance.getComponentName()).thenReturn(mTestPluginComponentName);
when(mPluginInstance.getPackage()).thenReturn(mTestPluginComponentName.getPackageName());
mActionManagerFactory = new PluginActionManager.Factory(getContext(), mMockPm,
mFakeExecutor, mFakeExecutor, mInitializer, mNotificationManager, mMockEnabler,
mFakeExecutor, mFakeExecutor, mNotificationManager, mMockEnabler,
new ArrayList<>(), mPluginInstanceFactory);
mPluginActionManager = mActionManagerFactory.create("myAction", mMockListener,
@@ -178,7 +176,7 @@ public class PluginActionManagerTest extends SysuiTestCase {
public void testNonDebuggable_privileged() throws Exception {
// Create a version that thinks the build is not debuggable.
PluginActionManager.Factory factory = new PluginActionManager.Factory(getContext(),
mMockPm, mFakeExecutor, mFakeExecutor, mInitializer, mNotificationManager,
mMockPm, mFakeExecutor, mFakeExecutor, mNotificationManager,
mMockEnabler, Collections.singletonList(PRIVILEGED_PACKAGE),
mPluginInstanceFactory);
mPluginActionManager = factory.create("myAction", mMockListener,
@@ -222,7 +220,7 @@ public class PluginActionManagerTest extends SysuiTestCase {
@Test
public void testDisablePrivileged() throws Exception {
PluginActionManager.Factory factory = new PluginActionManager.Factory(getContext(),
mMockPm, mFakeExecutor, mFakeExecutor, mInitializer, mNotificationManager,
mMockPm, mFakeExecutor, mFakeExecutor, mNotificationManager,
mMockEnabler, Collections.singletonList(PRIVILEGED_PACKAGE),
mPluginInstanceFactory);
mPluginActionManager = factory.create("myAction", mMockListener,