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

Commit edbf3411 authored by Dave Mankoff's avatar Dave Mankoff Committed by Android (Google) Code Review
Browse files

Merge "Stand up an example of a WMShell api."

parents 9f60e77f 4654239f
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import com.android.systemui.statusbar.phone.KeyguardBouncer;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.policy.KeyguardStateController;

import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;

/**
@@ -83,11 +84,16 @@ public class SystemUIFactory {

    public SystemUIFactory() {}

    private void init(Context context) {
    private void init(Context context) throws ExecutionException, InterruptedException {
        mRootComponent = buildGlobalRootComponent(context);
        // Stand up WMComponent
        mWMComponent = mRootComponent.getWMComponentBuilder().build();
        // TODO: use WMComponent to pass APIs into the SysUIComponent.
        mSysUIComponent = mRootComponent.getSysUIComponent().build();

        // And finally, retrieve whatever SysUI needs from WMShell and build SysUI.
        // TODO: StubAPIClass is just a placeholder.
        mSysUIComponent = mRootComponent.getSysUIComponent()
                .setStubAPIClass(mWMComponent.createStubAPIClass())
                .build();

        // Every other part of our codebase currently relies on Dependency, so we
        // really need to ensure the Dependency gets initialized early on.
@@ -101,10 +107,15 @@ public class SystemUIFactory {
                .build();
    }


    public GlobalRootComponent getRootComponent() {
        return mRootComponent;
    }

    public WMComponent getWMComponent() {
        return mWMComponent;
    }

    public SysUIComponent getSysUIComponent() {
        return mSysUIComponent;
    }
+5 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.systemui.dagger;

import com.android.systemui.util.concurrency.GlobalConcurrencyModule;

import dagger.Module;

/**
@@ -33,6 +35,8 @@ import dagger.Module;
 *
 * Please use discretion when adding things to the global scope.
 */
@Module(includes = {FrameworkServicesModule.class})
@Module(includes = {
        FrameworkServicesModule.class,
        GlobalConcurrencyModule.class})
public class GlobalModule {
}
+7 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ package com.android.systemui.dagger;

import android.content.Context;

import com.android.systemui.util.concurrency.ThreadFactory;

import javax.inject.Singleton;

import dagger.BindsInstance;
@@ -53,4 +55,9 @@ public interface GlobalRootComponent {
     * Builder for a SysuiComponent.
     */
    SysUIComponent.Builder getSysUIComponent();

    /**
     * Build a {@link ThreadFactory}.
     */
    ThreadFactory createThreadFactory();
}
+4 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import com.android.systemui.pip.phone.dagger.PipModule;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.util.InjectionInflationController;

import dagger.BindsInstance;
import dagger.Subcomponent;

/**
@@ -46,6 +47,9 @@ public interface SysUIComponent {
     */
    @Subcomponent.Builder
    interface Builder {
        @BindsInstance
        Builder setStubAPIClass(WMComponent.StubAPIClass stubAPIClass);

        SysUIComponent build();
    }

+2 −2
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ import com.android.systemui.statusbar.phone.dagger.StatusBarComponent;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.dagger.StatusBarPolicyModule;
import com.android.systemui.tuner.dagger.TunerModule;
import com.android.systemui.util.concurrency.ConcurrencyModule;
import com.android.systemui.util.concurrency.SysUIConcurrencyModule;
import com.android.systemui.util.dagger.UtilModule;
import com.android.systemui.util.sensors.SensorModule;
import com.android.systemui.util.settings.SettingsUtilModule;
@@ -62,7 +62,6 @@ import dagger.Provides;
@Module(includes = {
            AppOpsModule.class,
            AssistModule.class,
            ConcurrencyModule.class,
            ControlsModule.class,
            DemoModeModule.class,
            LogModule.class,
@@ -74,6 +73,7 @@ import dagger.Provides;
            SettingsModule.class,
            SettingsUtilModule.class,
            StatusBarPolicyModule.class,
            SysUIConcurrencyModule.class,
            TunerModule.class,
            UtilModule.class,
            VolumeModule.class
Loading