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

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

Merge "Remove low-hanging Dep#get from sb.phone."

parents 1e4bf7fa 9e7a15f0
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import com.android.systemui.dreams.DreamOverlayService;
import com.android.systemui.dump.SystemUIAuxiliaryDumpService;
import com.android.systemui.keyguard.KeyguardService;
import com.android.systemui.screenrecord.RecordingService;
import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins;

import dagger.Binds;
import dagger.Module;
@@ -60,6 +61,13 @@ public abstract class DefaultServiceBinder {
    @ClassKey(DreamOverlayService.class)
    public abstract Service bindDreamOverlayService(DreamOverlayService service);

    /** */
    @Binds
    @IntoMap
    @ClassKey(NotificationListenerWithPlugins.class)
    public abstract Service bindNotificationListenerWithPlugins(
            NotificationListenerWithPlugins service);

    /** */
    @Binds
    @IntoMap
+9 −1
Original line number Diff line number Diff line
@@ -29,7 +29,9 @@ import android.os.UserHandle;
import android.service.notification.StatusBarNotification;
import android.util.Log;

import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.dagger.StatusBarModule;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins;
@@ -42,10 +44,13 @@ import java.util.List;
import java.util.concurrent.ConcurrentLinkedDeque;
import java.util.concurrent.Executor;

import javax.inject.Inject;

/**
 * This class handles listening to notification updates and passing them along to
 * NotificationPresenter to be displayed to the user.
 */
@SysUISingleton
@SuppressLint("OverrideAbstract")
public class NotificationListener extends NotificationListenerWithPlugins {
    private static final String TAG = "NotificationListener";
@@ -66,11 +71,14 @@ public class NotificationListener extends NotificationListenerWithPlugins {
    /**
     * Injected constructor. See {@link StatusBarModule}.
     */
    @Inject
    public NotificationListener(
            Context context,
            NotificationManager notificationManager,
            SystemClock systemClock,
            @Main Executor mainExecutor) {
            @Main Executor mainExecutor,
            PluginManager pluginManager) {
        super(pluginManager);
        mContext = context;
        mNotificationManager = notificationManager;
        mSystemClock = systemClock;
+0 −14
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.systemui.statusbar.dagger;

import android.app.IActivityManager;
import android.app.NotificationManager;
import android.content.Context;
import android.os.Handler;
import android.service.dreams.IDreamManager;
@@ -38,7 +37,6 @@ import com.android.systemui.statusbar.ActionClickLogger;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.MediaArtworkProcessor;
import com.android.systemui.statusbar.NotificationClickNotifier;
import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
@@ -164,18 +162,6 @@ public interface StatusBarDependenciesModule {
                dumpManager);
    }

    /** */
    @SysUISingleton
    @Provides
    static NotificationListener provideNotificationListener(
            Context context,
            NotificationManager notificationManager,
            SystemClock systemClock,
            @Main Executor mainExecutor) {
        return new NotificationListener(
                context, notificationManager, systemClock, mainExecutor);
    }

    /** */
    @SysUISingleton
    @Provides
+16 −39
Original line number Diff line number Diff line
@@ -16,34 +16,36 @@

package com.android.systemui.statusbar.phone;

import static com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentModule.OPERATOR_NAME_FRAME_VIEW;

import android.graphics.Rect;
import android.view.View;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.widget.ViewClippingUtil;
import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.RootView;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.CrossFadeHelper;
import com.android.systemui.statusbar.HeadsUpStatusBarView;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentScope;
import com.android.systemui.statusbar.policy.Clock;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
import com.android.systemui.util.ViewController;

import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;

import javax.inject.Inject;
import javax.inject.Named;

/**
 * Controls the appearance of heads up notifications in the icon area and the header itself.
@@ -69,8 +71,8 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar
    private final CommandQueue mCommandQueue;
    private final NotificationWakeUpCoordinator mWakeUpCoordinator;

    private View mClockView;
    private View mOperatorNameView;
    private final View mClockView;
    private final Optional<View> mOperatorNameViewOptional;

    @VisibleForTesting
    float mExpandedHeight;
@@ -86,45 +88,24 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar
                }
            };
    private boolean mAnimationsEnabled = true;
    private KeyguardStateController mKeyguardStateController;

    @Inject
    public HeadsUpAppearanceController(
            NotificationIconAreaController notificationIconAreaController,
            HeadsUpManagerPhone headsUpManager,
            NotificationStackScrollLayoutController notificationStackScrollLayoutController,
            SysuiStatusBarStateController statusBarStateController,
            KeyguardBypassController keyguardBypassController,
            KeyguardStateController keyguardStateController,
            NotificationWakeUpCoordinator wakeUpCoordinator, CommandQueue commandQueue,
            NotificationPanelViewController notificationPanelViewController,
            @RootView PhoneStatusBarView statusBarView) {
        this(notificationIconAreaController, headsUpManager, statusBarStateController,
                keyguardBypassController, wakeUpCoordinator, keyguardStateController,
                commandQueue, notificationStackScrollLayoutController,
                notificationPanelViewController,
                // TODO(b/205609837): We should have the StatusBarFragmentComponent provide these
                //  four views, and then we can delete this constructor and just use the one below
                //  (which also removes the undesirable @VisibleForTesting).
                statusBarView.findViewById(R.id.heads_up_status_bar_view),
                statusBarView.findViewById(R.id.clock),
                statusBarView.findViewById(R.id.operator_name_frame));
    }
    private final KeyguardStateController mKeyguardStateController;

    @VisibleForTesting
    @Inject
    public HeadsUpAppearanceController(
            NotificationIconAreaController notificationIconAreaController,
            HeadsUpManagerPhone headsUpManager,
            StatusBarStateController stateController,
            KeyguardBypassController bypassController,
            NotificationWakeUpCoordinator wakeUpCoordinator,
            DarkIconDispatcher darkIconDispatcher,
            KeyguardStateController keyguardStateController,
            CommandQueue commandQueue,
            NotificationStackScrollLayoutController stackScrollerController,
            NotificationPanelViewController notificationPanelViewController,
            HeadsUpStatusBarView headsUpStatusBarView,
            View clockView,
            View operatorNameView) {
            Clock clockView,
            @Named(OPERATOR_NAME_FRAME_VIEW) Optional<View> operatorNameViewOptional) {
        super(headsUpStatusBarView);
        mNotificationIconAreaController = notificationIconAreaController;
        mHeadsUpManager = headsUpManager;
@@ -141,8 +122,8 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar
        mNotificationPanelViewController = notificationPanelViewController;
        mStackScrollerController.setHeadsUpAppearanceController(this);
        mClockView = clockView;
        mOperatorNameView = operatorNameView;
        mDarkIconDispatcher = Dependency.get(DarkIconDispatcher.class);
        mOperatorNameViewOptional = operatorNameViewOptional;
        mDarkIconDispatcher = darkIconDispatcher;

        mView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
            @Override
@@ -232,14 +213,10 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar
                mView.setVisibility(View.VISIBLE);
                show(mView);
                hide(mClockView, View.INVISIBLE);
                if (mOperatorNameView != null) {
                    hide(mOperatorNameView, View.INVISIBLE);
                }
                mOperatorNameViewOptional.ifPresent(view -> hide(view, View.INVISIBLE));
            } else {
                show(mClockView);
                if (mOperatorNameView != null) {
                    show(mOperatorNameView);
                }
                mOperatorNameViewOptional.ifPresent(this::show);
                hide(mView, View.GONE, () -> {
                    updateParentClipping(true /* shouldClip */);
                });
+7 −6
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import static com.android.systemui.statusbar.phone.StatusBar.MULTIUSER_DEBUG;
import android.service.notification.StatusBarNotification;
import android.util.Log;

import com.android.systemui.Dependency;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.notification.NotificationEntryManager.KeyguardEnvironment;
@@ -33,13 +32,15 @@ public class KeyguardEnvironmentImpl implements KeyguardEnvironment {

    private static final String TAG = "KeyguardEnvironmentImpl";

    private final NotificationLockscreenUserManager mLockscreenUserManager =
            Dependency.get(NotificationLockscreenUserManager.class);
    private final DeviceProvisionedController mDeviceProvisionedController =
            Dependency.get(DeviceProvisionedController.class);
    private final NotificationLockscreenUserManager mLockscreenUserManager;
    private final DeviceProvisionedController mDeviceProvisionedController;

    @Inject
    public KeyguardEnvironmentImpl() {
    public KeyguardEnvironmentImpl(
            NotificationLockscreenUserManager notificationLockscreenUserManager,
            DeviceProvisionedController deviceProvisionedController) {
        mLockscreenUserManager = notificationLockscreenUserManager;
        mDeviceProvisionedController = deviceProvisionedController;
    }

    @Override  // NotificationEntryManager.KeyguardEnvironment
Loading