Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12d8e155 authored by Dave Mankoff's avatar Dave Mankoff
Browse files

Revert "5/N Remove PluginInitializer entirely."

Revert submission 15560568-b194781951-flags-8

Reason for revert: Broken build.
Reverted Changes:
Ie522ae3cc:5/N Remove PluginInitializer entirely.
Icaeaaee28:4/N Remove #handleWtfs from PluginInitializer.
I1c86c246c:3/N Remove #getPrivilegedPlugins from PluginInitia...
Id525f27e3:2/N Rename PluginInstanceManager to PluginActionMa...

Change-Id: I417dd4eddb0216e351a4eb1870a35f3ebc84045a
parent bfb3a7a8
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ 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;

@@ -86,11 +87,13 @@ 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;
@@ -373,19 +376,21 @@ 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,
                Executor mainExecutor, Executor bgExecutor, PluginInitializer initializer,
                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;
@@ -397,7 +402,7 @@ public class PluginActionManager<T extends Plugin> {
                boolean allowMultiple, boolean debuggable) {
            return new PluginActionManager<>(mContext, mPackageManager, action, listener,
                    pluginClass, allowMultiple, mMainExecutor, mBgExecutor,
                    debuggable, mNotificationManager, mPluginEnabler,
                    debuggable, mInitializer, mNotificationManager, mPluginEnabler,
                    mPrivilegedPlugins, mPluginInstanceFactory);
        }
    }
+21 −0
Original line number Diff line number Diff line
/*
 * 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 {
}
+10 −16
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ 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;
@@ -33,7 +32,6 @@ import com.android.systemui.volume.VolumeDialogControllerImpl;

import dagger.Binds;
import dagger.Module;
import dagger.Provides;

/**
 * Module for binding Plugin implementations.
@@ -41,40 +39,36 @@ import dagger.Provides;
 * TODO(b/166258224): Many of these should be moved closer to their implementations.
 */
@Module
public abstract class PluginModule {
public interface PluginModule {

    /** */
    @Provides
    static ActivityStarter provideActivityStarter(ActivityStarterDelegate delegate,
            PluginDependencyProvider dependencyProvider) {
        dependencyProvider.allowPluginDependency(ActivityStarter.class, delegate);
        return delegate;
    }
    @Binds
    ActivityStarter provideActivityStarter(ActivityStarterDelegate delegate);

    /** */
    @Binds
    abstract DarkIconDispatcher provideDarkIconDispatcher(DarkIconDispatcherImpl controllerImpl);
    DarkIconDispatcher provideDarkIconDispatcher(DarkIconDispatcherImpl controllerImpl);

    /** */
    @Binds
    abstract FalsingManager provideFalsingManager(FalsingManagerProxy falsingManagerImpl);
    FalsingManager provideFalsingManager(FalsingManagerProxy falsingManagerImpl);

    /** */
    @Binds
    abstract GlobalActions provideGlobalActions(GlobalActionsImpl controllerImpl);
    GlobalActions provideGlobalActions(GlobalActionsImpl controllerImpl);

    /** */
    @Binds
    abstract GlobalActions.GlobalActionsManager provideGlobalActionsManager(
    GlobalActions.GlobalActionsManager provideGlobalActionsManager(
            GlobalActionsComponent controllerImpl);

    /** */
    @Binds
    abstract StatusBarStateController provideStatusBarStateController(
    StatusBarStateController provideStatusBarStateController(
            StatusBarStateControllerImpl controllerImpl);

    /** */
    @Binds
    abstract VolumeDialogController provideVolumeDialogController(
            VolumeDialogControllerImpl controllerImpl);
    VolumeDialogController provideVolumeDialogController(VolumeDialogControllerImpl controllerImpl);

}
+29 −0
Original line number Diff line number Diff line
/*
 * 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);
    }
}
+6 −2
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ 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;
@@ -68,6 +69,9 @@ public abstract class PluginsModule {
    @Binds
    abstract PluginEnabler bindsPluginEnablerImpl(PluginEnablerImpl impl);

    @Binds
    abstract PluginInitializer bindsPluginInitializerImpl(PluginInitializerImpl impl);

    @Provides
    @Singleton
    static PluginInstance.Factory providesPluginInstanceFactory(
@@ -85,12 +89,12 @@ public abstract class PluginsModule {
    @Singleton
    static PluginActionManager.Factory providePluginInstanceManagerFactory(Context context,
            PackageManager packageManager, @Main Executor mainExecutor,
            @Named(PLUGIN_THREAD) Executor pluginExecutor,
            @Named(PLUGIN_THREAD) Executor pluginExecutor, PluginInitializer initializer,
            NotificationManager notificationManager, PluginEnabler pluginEnabler,
            @Named(PLUGIN_PRIVILEGED) List<String> privilegedPlugins,
            PluginInstance.Factory pluginInstanceFactory) {
        return new PluginActionManager.Factory(
                context, packageManager, mainExecutor, pluginExecutor,
                context, packageManager, mainExecutor, pluginExecutor, initializer,
                notificationManager, pluginEnabler, privilegedPlugins, pluginInstanceFactory);
    }

Loading