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

Commit 56390042 authored by Selim Cinek's avatar Selim Cinek Committed by Android (Google) Code Review
Browse files

Merge "Allow for injection in StatusBar Views"

parents ee9445e3 9d20bed9
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@ package com.android.systemui;

import android.util.Log;

import com.android.systemui.statusbar.phone.StatusBar;

import java.io.FileDescriptor;
import java.io.PrintWriter;

@@ -63,6 +65,11 @@ public class SystemBars extends SystemUI {
        }
        mStatusBar.mContext = mContext;
        mStatusBar.mComponents = mComponents;
        if (mStatusBar instanceof StatusBar) {
            SystemUIFactory.getInstance().getRootComponent()
                    .getStatusBarInjector()
                    .createStatusBar((StatusBar) mStatusBar);
        }
        mStatusBar.start();
        if (DEBUG) Log.d(TAG, "started " + mStatusBar.getClass().getSimpleName());
    }
+3 −0
Original line number Diff line number Diff line
@@ -221,6 +221,9 @@ public class SystemUIFactory {
        @Singleton
        Dependency.DependencyInjector createDependency();

        @Singleton
        StatusBar.StatusBarInjector getStatusBarInjector();

        /**
         * FragmentCreator generates all Fragments that need injection.
         */
+14 −2
Original line number Diff line number Diff line
@@ -220,6 +220,7 @@ import com.android.systemui.statusbar.policy.UserInfoController;
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.util.InjectionInflationController;
import com.android.systemui.volume.VolumeComponent;

import java.io.FileDescriptor;
@@ -228,6 +229,10 @@ import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Map;

import javax.inject.Inject;

import dagger.Subcomponent;

public class StatusBar extends SystemUI implements DemoMode,
        ActivityStarter, OnUnlockMethodChangedListener,
        OnHeadsUpChangedListener, CommandQueue.Callbacks, ZenModeController.Callback,
@@ -353,6 +358,8 @@ public class StatusBar extends SystemUI implements DemoMode,
    private final Object mQueueLock = new Object();

    protected StatusBarIconController mIconController;
    @Inject
    InjectionInflationController mInjectionInflater;

    // expanded notifications
    protected NotificationPanelView mNotificationPanel; // the sliding/resizing panel within the notification window
@@ -1196,8 +1203,8 @@ public class StatusBar extends SystemUI implements DemoMode,
    }

    protected void inflateStatusBarWindow(Context context) {
        mStatusBarWindow = (StatusBarWindowView) View.inflate(context,
                R.layout.super_status_bar, null);
        mStatusBarWindow = (StatusBarWindowView) mInjectionInflater.injectable(
                LayoutInflater.from(context)).inflate(R.layout.super_status_bar, null);
    }

    protected void startKeyguard() {
@@ -4504,4 +4511,9 @@ public class StatusBar extends SystemUI implements DemoMode,
    public NotificationGutsManager getGutsManager() {
        return mGutsManager;
    }

    @Subcomponent
    public interface StatusBarInjector {
        void createStatusBar(StatusBar statusbar);
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ import com.android.systemui.Dependency;
import com.android.systemui.ForegroundServiceController;
import com.android.systemui.InitController;
import com.android.systemui.R;
import com.android.systemui.SystemUIFactory;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.UiOffloadThread;
import com.android.systemui.appops.AppOpsController;
@@ -247,6 +248,9 @@ public class StatusBarTest extends SysuiTestCase {
                mock(BubbleController.class));
        mStatusBar.mContext = mContext;
        mStatusBar.mComponents = mContext.getComponents();
        SystemUIFactory.getInstance().getRootComponent()
                .getStatusBarInjector()
                .createStatusBar(mStatusBar);
        mStatusBar.putComponent(StatusBar.class, mStatusBar);
        Dependency.get(InitController.class).executePostInitTasks();
        mEntryManager.setUpForTest(mock(NotificationPresenter.class), mStackScroller,