Remove low-hanging Dep#get from sb.phone.
Removes the easy to refactor Dependency#get calls from the com.android.systemui.statusbar.phone package. 10 calls are removed between this cl and the 2 cls in the same topic. Bug: 218354102 Test: manual && atest SystemUITests Change-Id: Id57ac5cdd14129913a1d4e32cfbc149c7f9581f7
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,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 */);
|
||||
});
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -28,7 +28,7 @@ import android.util.ArrayMap;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.statusbar.NotificationVisibility;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryListener;
|
||||
@@ -48,11 +48,14 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
* A helper class dealing with the alert interactions between {@link NotificationGroupManagerLegacy}
|
||||
* and {@link HeadsUpManager}. In particular, this class deals with keeping
|
||||
* the correct notification in a group alerting based off the group suppression and alertOverride.
|
||||
*/
|
||||
@SysUISingleton
|
||||
public class NotificationGroupAlertTransferHelper implements OnHeadsUpChangedListener,
|
||||
StateListener {
|
||||
|
||||
@@ -74,8 +77,7 @@ public class NotificationGroupAlertTransferHelper implements OnHeadsUpChangedLis
|
||||
|
||||
private HeadsUpManager mHeadsUpManager;
|
||||
private final RowContentBindStage mRowContentBindStage;
|
||||
private final NotificationGroupManagerLegacy mGroupManager =
|
||||
Dependency.get(NotificationGroupManagerLegacy.class);
|
||||
private final NotificationGroupManagerLegacy mGroupManager;
|
||||
|
||||
private NotificationEntryManager mEntryManager;
|
||||
|
||||
@@ -84,9 +86,14 @@ public class NotificationGroupAlertTransferHelper implements OnHeadsUpChangedLis
|
||||
/**
|
||||
* Injected constructor. See {@link StatusBarPhoneModule}.
|
||||
*/
|
||||
public NotificationGroupAlertTransferHelper(RowContentBindStage bindStage) {
|
||||
Dependency.get(StatusBarStateController.class).addCallback(this);
|
||||
@Inject
|
||||
public NotificationGroupAlertTransferHelper(
|
||||
RowContentBindStage bindStage,
|
||||
StatusBarStateController statusBarStateController,
|
||||
NotificationGroupManagerLegacy notificationGroupManagerLegacy) {
|
||||
mRowContentBindStage = bindStage;
|
||||
mGroupManager = notificationGroupManagerLegacy;
|
||||
statusBarStateController.addCallback(this);
|
||||
}
|
||||
|
||||
/** Causes the TransferHelper to register itself as a listener to the appropriate classes. */
|
||||
|
||||
@@ -22,7 +22,6 @@ import android.os.UserHandle;
|
||||
import android.service.notification.NotificationListenerService;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.plugins.NotificationListenerController;
|
||||
import com.android.systemui.plugins.NotificationListenerController.NotificationProvider;
|
||||
import com.android.systemui.plugins.PluginListener;
|
||||
@@ -30,6 +29,8 @@ import com.android.systemui.shared.plugins.PluginManager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
* A version of NotificationListenerService that passes all info to
|
||||
* any plugins connected. Also allows those plugins the chance to cancel
|
||||
@@ -40,19 +41,25 @@ public class NotificationListenerWithPlugins extends NotificationListenerService
|
||||
|
||||
private ArrayList<NotificationListenerController> mPlugins = new ArrayList<>();
|
||||
private boolean mConnected;
|
||||
private PluginManager mPluginManager;
|
||||
|
||||
@Inject
|
||||
public NotificationListenerWithPlugins(PluginManager pluginManager) {
|
||||
super();
|
||||
mPluginManager = pluginManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerAsSystemService(Context context, ComponentName componentName,
|
||||
int currentUser) throws RemoteException {
|
||||
super.registerAsSystemService(context, componentName, currentUser);
|
||||
Dependency.get(PluginManager.class).addPluginListener(this,
|
||||
NotificationListenerController.class);
|
||||
mPluginManager.addPluginListener(this, NotificationListenerController.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unregisterAsSystemService() throws RemoteException {
|
||||
super.unregisterAsSystemService();
|
||||
Dependency.get(PluginManager.class).removePluginListener(this);
|
||||
mPluginManager.removePluginListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -113,7 +113,6 @@ import com.android.keyguard.dagger.KeyguardStatusBarViewComponent;
|
||||
import com.android.keyguard.dagger.KeyguardStatusViewComponent;
|
||||
import com.android.keyguard.dagger.KeyguardUserSwitcherComponent;
|
||||
import com.android.systemui.DejankUtils;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.animation.ActivityLaunchAnimator;
|
||||
import com.android.systemui.animation.Interpolators;
|
||||
@@ -804,6 +803,7 @@ public class NotificationPanelViewController extends PanelViewController
|
||||
ControlsComponent controlsComponent,
|
||||
InteractionJankMonitor interactionJankMonitor,
|
||||
QsFrameTranslateController qsFrameTranslateController,
|
||||
SysUiState sysUiState,
|
||||
KeyguardUnlockAnimationController keyguardUnlockAnimationController) {
|
||||
super(view,
|
||||
falsingManager,
|
||||
@@ -876,8 +876,7 @@ public class NotificationPanelViewController extends PanelViewController
|
||||
mUiExecutor = uiExecutor;
|
||||
mSecureSettings = secureSettings;
|
||||
mInteractionJankMonitor = interactionJankMonitor;
|
||||
// TODO: inject via dagger instead of Dependency
|
||||
mSysUiState = Dependency.get(SysUiState.class);
|
||||
mSysUiState = sysUiState;
|
||||
pulseExpansionHandler.setPulseExpandAbortListener(() -> {
|
||||
if (mQs != null) {
|
||||
mQs.animateHeaderSlidingOut();
|
||||
|
||||
@@ -27,7 +27,6 @@ import android.util.Log;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.internal.statusbar.StatusBarIcon;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.Dumpable;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
@@ -74,17 +73,19 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu
|
||||
Context context,
|
||||
CommandQueue commandQueue,
|
||||
DemoModeController demoModeController,
|
||||
ConfigurationController configurationController,
|
||||
TunerService tunerService,
|
||||
DumpManager dumpManager) {
|
||||
super(context.getResources().getStringArray(
|
||||
com.android.internal.R.array.config_statusBarIcons));
|
||||
Dependency.get(ConfigurationController.class).addCallback(this);
|
||||
configurationController.addCallback(this);
|
||||
|
||||
mContext = context;
|
||||
|
||||
loadDimens();
|
||||
|
||||
commandQueue.addCallback(this);
|
||||
Dependency.get(TunerService.class).addTunable(this, ICON_HIDE_LIST);
|
||||
tunerService.addTunable(this, ICON_HIDE_LIST);
|
||||
demoModeController.addCallback(this);
|
||||
dumpManager.registerDumpable(getClass().getSimpleName(), this);
|
||||
}
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2020 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.statusbar.phone.dagger;
|
||||
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
import com.android.systemui.statusbar.notification.row.RowContentBindStage;
|
||||
import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper;
|
||||
import com.android.systemui.statusbar.phone.StatusBar;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
/**
|
||||
* This module provides instances needed to construct {@link StatusBar}. These are moved to this
|
||||
* separate from {@link StatusBarPhoneModule} module so that components that wish to build their own
|
||||
* version of StatusBar can include just dependencies, without injecting StatusBar itself.
|
||||
*/
|
||||
@Module
|
||||
public interface StatusBarPhoneDependenciesModule {
|
||||
|
||||
/** */
|
||||
@SysUISingleton
|
||||
@Provides
|
||||
static NotificationGroupAlertTransferHelper provideNotificationGroupAlertTransferHelper(
|
||||
RowContentBindStage bindStage) {
|
||||
return new NotificationGroupAlertTransferHelper(bindStage);
|
||||
}
|
||||
}
|
||||
@@ -129,7 +129,7 @@ import dagger.Provides;
|
||||
/**
|
||||
* Dagger Module providing {@link StatusBar}.
|
||||
*/
|
||||
@Module(includes = {StatusBarPhoneDependenciesModule.class})
|
||||
@Module
|
||||
public interface StatusBarPhoneModule {
|
||||
/**
|
||||
* Provides our instance of StatusBar which is considered optional.
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.view.View;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.battery.BatteryMeterView;
|
||||
import com.android.systemui.dagger.qualifiers.RootView;
|
||||
import com.android.systemui.statusbar.HeadsUpStatusBarView;
|
||||
import com.android.systemui.statusbar.phone.NotificationPanelViewController;
|
||||
import com.android.systemui.statusbar.phone.PhoneStatusBarTransitions;
|
||||
import com.android.systemui.statusbar.phone.PhoneStatusBarView;
|
||||
@@ -32,6 +33,8 @@ import com.android.systemui.statusbar.phone.userswitcher.StatusBarUserSwitcherCo
|
||||
import com.android.systemui.statusbar.policy.Clock;
|
||||
import com.android.systemui.statusbar.window.StatusBarWindowController;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.inject.Named;
|
||||
|
||||
import dagger.Binds;
|
||||
@@ -44,6 +47,7 @@ public interface StatusBarFragmentModule {
|
||||
|
||||
String LIGHTS_OUT_NOTIF_VIEW = "lights_out_notif_view";
|
||||
String OPERATOR_NAME_VIEW = "operator_name_view";
|
||||
String OPERATOR_NAME_FRAME_VIEW = "operator_name_frame_view";
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
@@ -77,6 +81,14 @@ public interface StatusBarFragmentModule {
|
||||
return view.findViewById(R.id.operator_name);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
@StatusBarFragmentScope
|
||||
@Named(OPERATOR_NAME_FRAME_VIEW)
|
||||
static Optional<View> provideOperatorFrameNameView(@RootView PhoneStatusBarView view) {
|
||||
return Optional.ofNullable(view.findViewById(R.id.operator_name_frame));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
@StatusBarFragmentScope
|
||||
@@ -119,4 +131,11 @@ public interface StatusBarFragmentModule {
|
||||
) {
|
||||
return new PhoneStatusBarTransitions(view, statusBarWindowController.getBackgroundView());
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
@StatusBarFragmentScope
|
||||
static HeadsUpStatusBarView providesHeasdUpStatusBarView(@RootView PhoneStatusBarView view) {
|
||||
return view.findViewById(R.id.heads_up_status_bar_view);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import android.testing.AndroidTestingRunner;
|
||||
import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.shared.plugins.PluginManager;
|
||||
import com.android.systemui.statusbar.NotificationListener.NotificationHandler;
|
||||
import com.android.systemui.util.concurrency.FakeExecutor;
|
||||
import com.android.systemui.util.time.FakeSystemClock;
|
||||
@@ -55,6 +56,7 @@ public class NotificationListenerTest extends SysuiTestCase {
|
||||
|
||||
@Mock private NotificationHandler mNotificationHandler;
|
||||
@Mock private NotificationManager mNotificationManager;
|
||||
@Mock private PluginManager mPluginManager;
|
||||
|
||||
private final FakeSystemClock mFakeSystemClock = new FakeSystemClock();
|
||||
private final FakeExecutor mFakeExecutor = new FakeExecutor(mFakeSystemClock);
|
||||
@@ -70,7 +72,8 @@ public class NotificationListenerTest extends SysuiTestCase {
|
||||
mContext,
|
||||
mNotificationManager,
|
||||
mFakeSystemClock,
|
||||
mFakeExecutor);
|
||||
mFakeExecutor,
|
||||
mPluginManager);
|
||||
mSbn = new StatusBarNotification(TEST_PACKAGE_NAME, TEST_PACKAGE_NAME, 0, null, TEST_UID, 0,
|
||||
new Notification(), UserHandle.CURRENT, null, 0);
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator
|
||||
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
|
||||
import com.android.systemui.statusbar.notification.row.NotificationTestHelper;
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
|
||||
import com.android.systemui.statusbar.policy.Clock;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
|
||||
import org.junit.Assert;
|
||||
@@ -47,6 +48,8 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@SmallTest
|
||||
@RunWith(AndroidTestingRunner.class)
|
||||
@RunWithLooper
|
||||
@@ -76,7 +79,6 @@ public class HeadsUpAppearanceControllerTest extends SysuiTestCase {
|
||||
mDependency,
|
||||
TestableLooper.get(this));
|
||||
mFirst = testHelper.createRow();
|
||||
mDependency.injectTestDependency(DarkIconDispatcher.class, mDarkIconDispatcher);
|
||||
mHeadsUpStatusBarView = new HeadsUpStatusBarView(mContext, mock(View.class),
|
||||
mock(TextView.class));
|
||||
mHeadsUpManager = mock(HeadsUpManagerPhone.class);
|
||||
@@ -92,13 +94,14 @@ public class HeadsUpAppearanceControllerTest extends SysuiTestCase {
|
||||
mStatusbarStateController,
|
||||
mBypassController,
|
||||
mWakeUpCoordinator,
|
||||
mDarkIconDispatcher,
|
||||
mKeyguardStateController,
|
||||
mCommandQueue,
|
||||
mStackScrollerController,
|
||||
mPanelView,
|
||||
mHeadsUpStatusBarView,
|
||||
new View(mContext),
|
||||
mOperatorNameView);
|
||||
new Clock(mContext, null),
|
||||
Optional.of(mOperatorNameView));
|
||||
mHeadsUpAppearanceController.setAppearFraction(0.0f, 0.0f);
|
||||
}
|
||||
|
||||
@@ -173,13 +176,14 @@ public class HeadsUpAppearanceControllerTest extends SysuiTestCase {
|
||||
mStatusbarStateController,
|
||||
mBypassController,
|
||||
mWakeUpCoordinator,
|
||||
mDarkIconDispatcher,
|
||||
mKeyguardStateController,
|
||||
mCommandQueue,
|
||||
mStackScrollerController,
|
||||
mPanelView,
|
||||
mHeadsUpStatusBarView,
|
||||
new View(mContext),
|
||||
new View(mContext));
|
||||
new Clock(mContext, null),
|
||||
Optional.empty());
|
||||
|
||||
Assert.assertEquals(expandedHeight, newController.mExpandedHeight, 0.0f);
|
||||
Assert.assertEquals(appearFraction, newController.mAppearFraction, 0.0f);
|
||||
|
||||
@@ -78,6 +78,7 @@ public class NotificationGroupAlertTransferHelperTest extends SysuiTestCase {
|
||||
@Mock private NotificationEntryManager mNotificationEntryManager;
|
||||
@Mock private RowContentBindStage mBindStage;
|
||||
@Mock PeopleNotificationIdentifier mPeopleNotificationIdentifier;
|
||||
@Mock StatusBarStateController mStatusBarStateController;
|
||||
@Captor private ArgumentCaptor<NotificationEntryListener> mListenerCaptor;
|
||||
private NotificationEntryListener mNotificationEntryListener;
|
||||
private final HashMap<String, NotificationEntry> mPendingEntries = new HashMap<>();
|
||||
@@ -94,7 +95,7 @@ public class NotificationGroupAlertTransferHelperTest extends SysuiTestCase {
|
||||
.thenReturn(mPendingEntries.values());
|
||||
|
||||
mGroupManager = new NotificationGroupManagerLegacy(
|
||||
mock(StatusBarStateController.class),
|
||||
mStatusBarStateController,
|
||||
() -> mPeopleNotificationIdentifier,
|
||||
Optional.of(mock(Bubbles.class)),
|
||||
mock(DumpManager.class));
|
||||
@@ -103,7 +104,8 @@ public class NotificationGroupAlertTransferHelperTest extends SysuiTestCase {
|
||||
|
||||
when(mBindStage.getStageParams(any())).thenReturn(new RowContentBindParams());
|
||||
|
||||
mGroupAlertTransferHelper = new NotificationGroupAlertTransferHelper(mBindStage);
|
||||
mGroupAlertTransferHelper = new NotificationGroupAlertTransferHelper(
|
||||
mBindStage, mStatusBarStateController, mGroupManager);
|
||||
mGroupAlertTransferHelper.setHeadsUpManager(mHeadsUpManager);
|
||||
|
||||
mGroupAlertTransferHelper.bind(mNotificationEntryManager, mGroupManager);
|
||||
|
||||
@@ -106,6 +106,7 @@ import com.android.systemui.keyguard.KeyguardUnlockAnimationController;
|
||||
import com.android.systemui.media.KeyguardMediaController;
|
||||
import com.android.systemui.media.MediaDataManager;
|
||||
import com.android.systemui.media.MediaHierarchyManager;
|
||||
import com.android.systemui.model.SysUiState;
|
||||
import com.android.systemui.navigationbar.NavigationModeController;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.qrcodescanner.controller.QRCodeScannerController;
|
||||
@@ -366,6 +367,8 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
|
||||
private KeyguardUnlockAnimationController mKeyguardUnlockAnimationController;
|
||||
@Mock
|
||||
private NotificationShadeWindowController mNotificationShadeWindowController;
|
||||
@Mock
|
||||
private SysUiState mSysUiState;
|
||||
private Optional<SysUIUnfoldComponent> mSysUIUnfoldComponent = Optional.empty();
|
||||
private SysuiStatusBarStateController mStatusBarStateController;
|
||||
private NotificationPanelViewController mNotificationPanelViewController;
|
||||
@@ -555,6 +558,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
|
||||
mControlsComponent,
|
||||
mInteractionJankMonitor,
|
||||
mQsFrameTranslateController,
|
||||
mSysUiState,
|
||||
mKeyguardUnlockAnimationController);
|
||||
mNotificationPanelViewController.initDependencies(
|
||||
mStatusBar,
|
||||
|
||||
Reference in New Issue
Block a user