Remove View Injection entirely.
Fixes: 149942775 Test: manual && atest SystemUITests Change-Id: Ib0a21aad64ab141fc4d16a181e8fba64014ea16f
This commit is contained in:
@@ -37,9 +37,6 @@
|
||||
-keep class com.android.systemui.fragments.FragmentService$FragmentCreator {
|
||||
*;
|
||||
}
|
||||
-keep class com.android.systemui.util.InjectionInflationController$ViewInstanceCreator {
|
||||
*;
|
||||
}
|
||||
-keep class androidx.core.app.CoreComponentFactory
|
||||
|
||||
-keep public class * extends com.android.systemui.SystemUI {
|
||||
|
||||
@@ -41,7 +41,6 @@ import com.android.systemui.plugins.ClockPlugin;
|
||||
import com.android.systemui.plugins.PluginListener;
|
||||
import com.android.systemui.settings.CurrentUserObservable;
|
||||
import com.android.systemui.shared.plugins.PluginManager;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -125,16 +124,16 @@ public final class ClockManager {
|
||||
private final int mHeight;
|
||||
|
||||
@Inject
|
||||
public ClockManager(Context context, InjectionInflationController injectionInflater,
|
||||
public ClockManager(Context context, LayoutInflater layoutInflater,
|
||||
PluginManager pluginManager, SysuiColorExtractor colorExtractor,
|
||||
@Nullable DockManager dockManager, BroadcastDispatcher broadcastDispatcher) {
|
||||
this(context, injectionInflater, pluginManager, colorExtractor,
|
||||
this(context, layoutInflater, pluginManager, colorExtractor,
|
||||
context.getContentResolver(), new CurrentUserObservable(broadcastDispatcher),
|
||||
new SettingsWrapper(context.getContentResolver()), dockManager);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
ClockManager(Context context, InjectionInflationController injectionInflater,
|
||||
ClockManager(Context context, LayoutInflater layoutInflater,
|
||||
PluginManager pluginManager, SysuiColorExtractor colorExtractor,
|
||||
ContentResolver contentResolver, CurrentUserObservable currentUserObservable,
|
||||
SettingsWrapper settingsWrapper, DockManager dockManager) {
|
||||
@@ -147,7 +146,6 @@ public final class ClockManager {
|
||||
mPreviewClocks = new AvailableClocks();
|
||||
|
||||
Resources res = context.getResources();
|
||||
LayoutInflater layoutInflater = injectionInflater.injectable(LayoutInflater.from(context));
|
||||
|
||||
addBuiltinClock(() -> new DefaultClockController(res, layoutInflater, colorExtractor));
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@ import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.keyguard.KeyguardSliceProvider;
|
||||
import com.android.systemui.people.PeopleProvider;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
import com.android.wm.shell.ShellCommandHandler;
|
||||
import com.android.wm.shell.TaskViewFactory;
|
||||
import com.android.wm.shell.apppairs.AppPairs;
|
||||
@@ -146,11 +145,6 @@ public interface SysUIComponent {
|
||||
@SysUISingleton
|
||||
InitController getInitController();
|
||||
|
||||
/**
|
||||
* ViewInstanceCreator generates all Views that need injection.
|
||||
*/
|
||||
InjectionInflationController.ViewInstanceCreator.Factory createViewInstanceCreatorFactory();
|
||||
|
||||
/**
|
||||
* Member injection into the supplied argument.
|
||||
*/
|
||||
|
||||
@@ -76,7 +76,6 @@ import com.android.systemui.statusbar.policy.dagger.SmartRepliesInflationModule;
|
||||
import com.android.systemui.statusbar.policy.dagger.StatusBarPolicyModule;
|
||||
import com.android.systemui.tuner.dagger.TunerModule;
|
||||
import com.android.systemui.user.UserModule;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
import com.android.systemui.util.concurrency.SysUIConcurrencyModule;
|
||||
import com.android.systemui.util.dagger.UtilModule;
|
||||
import com.android.systemui.util.sensors.SensorModule;
|
||||
@@ -218,11 +217,9 @@ public abstract class SystemUIModule {
|
||||
|
||||
@Provides
|
||||
@SysUISingleton
|
||||
static StatusBarWindowView providesStatusBarWindowView(Context context,
|
||||
InjectionInflationController injectionInflationController) {
|
||||
static StatusBarWindowView providesStatusBarWindowView(LayoutInflater layoutInflater) {
|
||||
StatusBarWindowView view =
|
||||
(StatusBarWindowView) injectionInflationController.injectable(
|
||||
LayoutInflater.from(context)).inflate(R.layout.super_status_bar,
|
||||
(StatusBarWindowView) layoutInflater.inflate(R.layout.super_status_bar,
|
||||
/* root= */ null);
|
||||
if (view == null) {
|
||||
throw new IllegalStateException(
|
||||
|
||||
@@ -37,7 +37,6 @@ import android.widget.ImageView;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.systemui.Dumpable;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.animation.Interpolators;
|
||||
import com.android.systemui.animation.ShadeInterpolation;
|
||||
@@ -55,7 +54,6 @@ import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
|
||||
import com.android.systemui.statusbar.phone.KeyguardBypassController;
|
||||
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
import com.android.systemui.util.LifecycleFragment;
|
||||
import com.android.systemui.util.Utils;
|
||||
|
||||
@@ -96,7 +94,6 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
private ImageView mQsDragHandler;
|
||||
|
||||
private final RemoteInputQuickSettingsDisabler mRemoteInputQuickSettingsDisabler;
|
||||
private final InjectionInflationController mInjectionInflater;
|
||||
private final CommandQueue mCommandQueue;
|
||||
private final QSDetailDisplayer mQsDetailDisplayer;
|
||||
private final MediaHost mQsMediaHost;
|
||||
@@ -146,7 +143,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
|
||||
@Inject
|
||||
public QSFragment(RemoteInputQuickSettingsDisabler remoteInputQsDisabler,
|
||||
InjectionInflationController injectionInflater, QSTileHost qsTileHost,
|
||||
QSTileHost qsTileHost,
|
||||
StatusBarStateController statusBarStateController, CommandQueue commandQueue,
|
||||
QSDetailDisplayer qsDetailDisplayer, @Named(QS_PANEL) MediaHost qsMediaHost,
|
||||
@Named(QUICK_QS_PANEL) MediaHost qqsMediaHost,
|
||||
@@ -154,7 +151,6 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
QSFragmentComponent.Factory qsComponentFactory,
|
||||
FalsingManager falsingManager, DumpManager dumpManager) {
|
||||
mRemoteInputQuickSettingsDisabler = remoteInputQsDisabler;
|
||||
mInjectionInflater = injectionInflater;
|
||||
mCommandQueue = commandQueue;
|
||||
mQsDetailDisplayer = qsDetailDisplayer;
|
||||
mQsMediaHost = qsMediaHost;
|
||||
@@ -171,9 +167,8 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
inflater = mInjectionInflater.injectable(
|
||||
inflater.cloneInContext(new ContextThemeWrapper(getContext(),
|
||||
R.style.Theme_SystemUI_QuickSettings)));
|
||||
inflater = inflater.cloneInContext(new ContextThemeWrapper(getContext(),
|
||||
R.style.Theme_SystemUI_QuickSettings));
|
||||
return inflater.inflate(R.layout.qs_panel, container, false);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ package com.android.systemui.statusbar.notification.stack;
|
||||
import static com.android.internal.jank.InteractionJankMonitor.CUJ_NOTIFICATION_SHADE_SCROLL_FLING;
|
||||
import static com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt.BUCKET_SILENT;
|
||||
import static com.android.systemui.statusbar.notification.stack.StackStateAnimator.ANIMATION_DURATION_SWIPE;
|
||||
import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT;
|
||||
import static com.android.systemui.util.Utils.shouldUseSplitNotificationShade;
|
||||
|
||||
import static java.lang.annotation.RetentionPolicy.SOURCE;
|
||||
@@ -121,9 +120,6 @@ import java.util.List;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
/**
|
||||
* A layout which handles a dynamic amount of notifications and presents them in a scrollable stack.
|
||||
*/
|
||||
@@ -566,9 +562,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
||||
@Nullable
|
||||
private OnClickListener mManageButtonClickListener;
|
||||
|
||||
// TODO(b/149942757): Remove the @Inject
|
||||
@Inject
|
||||
public NotificationStackScrollLayout(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs) {
|
||||
public NotificationStackScrollLayout(Context context, AttributeSet attrs) {
|
||||
super(context, attrs, 0, 0);
|
||||
Resources res = getResources();
|
||||
mSectionsManager = Dependency.get(NotificationSectionsManager.class);
|
||||
@@ -5261,10 +5255,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
||||
mController.getNoticationRoundessManager().setAnimatedChildren(mChildrenToAddAnimated);
|
||||
}
|
||||
|
||||
public NotificationStackScrollLayoutController getController() {
|
||||
return mController;
|
||||
}
|
||||
|
||||
void addSwipedOutView(View v) {
|
||||
mSwipedOutViews.add(v);
|
||||
}
|
||||
|
||||
@@ -56,7 +56,6 @@ import com.android.systemui.statusbar.notification.stack.NotificationStackScroll
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.PrintWriter;
|
||||
@@ -68,7 +67,6 @@ import javax.inject.Inject;
|
||||
*/
|
||||
public class NotificationShadeWindowViewController {
|
||||
private static final String TAG = "NotifShadeWindowVC";
|
||||
private final InjectionInflationController mInjectionInflationController;
|
||||
private final NotificationWakeUpCoordinator mCoordinator;
|
||||
private final PulseExpansionHandler mPulseExpansionHandler;
|
||||
private final DynamicPrivacyController mDynamicPrivacyController;
|
||||
@@ -116,7 +114,6 @@ public class NotificationShadeWindowViewController {
|
||||
|
||||
@Inject
|
||||
public NotificationShadeWindowViewController(
|
||||
InjectionInflationController injectionInflationController,
|
||||
NotificationWakeUpCoordinator coordinator,
|
||||
PulseExpansionHandler pulseExpansionHandler,
|
||||
DynamicPrivacyController dynamicPrivacyController,
|
||||
@@ -141,7 +138,6 @@ public class NotificationShadeWindowViewController {
|
||||
NotificationStackScrollLayoutController notificationStackScrollLayoutController,
|
||||
StatusBarKeyguardViewManager statusBarKeyguardViewManager,
|
||||
LockIconViewController lockIconViewController) {
|
||||
mInjectionInflationController = injectionInflationController;
|
||||
mCoordinator = coordinator;
|
||||
mPulseExpansionHandler = pulseExpansionHandler;
|
||||
mDynamicPrivacyController = dynamicPrivacyController;
|
||||
|
||||
@@ -1218,7 +1218,7 @@ public class StatusBar extends SystemUI implements
|
||||
// TODO (b/136993073) Separate notification shade and status bar
|
||||
mHeadsUpAppearanceController = new HeadsUpAppearanceController(
|
||||
mNotificationIconAreaController, mHeadsUpManager,
|
||||
mStackScroller.getController(),
|
||||
mStackScrollerController,
|
||||
mStatusBarStateController, mKeyguardBypassController,
|
||||
mKeyguardStateController, mWakeUpCoordinator, mCommandQueue,
|
||||
mNotificationPanelViewController, mStatusBarView);
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package com.android.systemui.statusbar.phone.dagger;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
||||
@@ -33,7 +32,6 @@ import com.android.systemui.statusbar.phone.NotificationPanelView;
|
||||
import com.android.systemui.statusbar.phone.NotificationShadeWindowView;
|
||||
import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer;
|
||||
import com.android.systemui.statusbar.phone.TapAgainView;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
|
||||
import javax.inject.Named;
|
||||
|
||||
@@ -49,12 +47,9 @@ public abstract class StatusBarViewModule {
|
||||
@Provides
|
||||
@StatusBarComponent.StatusBarScope
|
||||
public static NotificationShadeWindowView providesNotificationShadeWindowView(
|
||||
InjectionInflationController injectionInflationController,
|
||||
Context context) {
|
||||
LayoutInflater layoutInflater) {
|
||||
NotificationShadeWindowView notificationShadeWindowView = (NotificationShadeWindowView)
|
||||
injectionInflationController.injectable(
|
||||
LayoutInflater.from(context)).inflate(R.layout.super_notification_shade,
|
||||
/* root= */ null);
|
||||
layoutInflater.inflate(R.layout.super_notification_shade, /* root= */ null);
|
||||
if (notificationShadeWindowView == null) {
|
||||
throw new IllegalStateException(
|
||||
"R.layout.super_notification_shade could not be properly inflated");
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
/*
|
||||
* 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.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.InflateException;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import dagger.BindsInstance;
|
||||
import dagger.Subcomponent;
|
||||
|
||||
/**
|
||||
* Manages inflation that requires dagger injection.
|
||||
* See docs/dagger.md for details.
|
||||
*/
|
||||
@SysUISingleton
|
||||
public class InjectionInflationController {
|
||||
|
||||
public static final String VIEW_CONTEXT = "view_context";
|
||||
private final ArrayMap<String, Method> mInjectionMap = new ArrayMap<>();
|
||||
private final LayoutInflater.Factory2 mFactory = new InjectionFactory();
|
||||
private final ViewInstanceCreator.Factory mViewInstanceCreatorFactory;
|
||||
|
||||
@Inject
|
||||
public InjectionInflationController(ViewInstanceCreator.Factory viewInstanceCreatorFactory) {
|
||||
mViewInstanceCreatorFactory = viewInstanceCreatorFactory;
|
||||
initInjectionMap();
|
||||
}
|
||||
|
||||
/**
|
||||
* Wraps a {@link LayoutInflater} to support creating dagger injected views.
|
||||
* See docs/dagger.md for details.
|
||||
*/
|
||||
public LayoutInflater injectable(LayoutInflater inflater) {
|
||||
LayoutInflater ret = inflater.cloneInContext(inflater.getContext());
|
||||
ret.setPrivateFactory(mFactory);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private void initInjectionMap() {
|
||||
for (Method method : ViewInstanceCreator.class.getDeclaredMethods()) {
|
||||
if (View.class.isAssignableFrom(method.getReturnType())
|
||||
&& (method.getModifiers() & Modifier.PUBLIC) != 0) {
|
||||
mInjectionMap.put(method.getReturnType().getName(), method);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Subcomponent that actually creates injected views.
|
||||
*/
|
||||
@Subcomponent
|
||||
public interface ViewInstanceCreator {
|
||||
|
||||
/** Factory for creating a ViewInstanceCreator. */
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
ViewInstanceCreator build(
|
||||
@BindsInstance @Named(VIEW_CONTEXT) Context context,
|
||||
@BindsInstance AttributeSet attributeSet);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the NotificationStackScrollLayout.
|
||||
*/
|
||||
NotificationStackScrollLayout createNotificationStackScrollLayout();
|
||||
}
|
||||
|
||||
|
||||
private class InjectionFactory implements LayoutInflater.Factory2 {
|
||||
|
||||
@Override
|
||||
public View onCreateView(String name, Context context, AttributeSet attrs) {
|
||||
Method creationMethod = mInjectionMap.get(name);
|
||||
if (creationMethod != null) {
|
||||
try {
|
||||
return (View) creationMethod.invoke(
|
||||
mViewInstanceCreatorFactory.build(context, attrs));
|
||||
} catch (IllegalAccessException e) {
|
||||
throw new InflateException("Could not inflate " + name, e);
|
||||
} catch (InvocationTargetException e) {
|
||||
throw new InflateException("Could not inflate " + name, e);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(View parent, String name, Context context, AttributeSet attrs) {
|
||||
return onCreateView(name, context, attrs);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,6 @@ package com.android.keyguard.clock;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.Mockito.reset;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -40,7 +39,6 @@ import com.android.systemui.dock.DockManagerFake;
|
||||
import com.android.systemui.plugins.ClockPlugin;
|
||||
import com.android.systemui.settings.CurrentUserObservable;
|
||||
import com.android.systemui.shared.plugins.PluginManager;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
@@ -69,7 +67,6 @@ public final class ClockManagerTest extends SysuiTestCase {
|
||||
private ContentObserver mContentObserver;
|
||||
private DockManagerFake mFakeDockManager;
|
||||
private MutableLiveData<Integer> mCurrentUser;
|
||||
@Mock InjectionInflationController mMockInjectionInflationController;
|
||||
@Mock PluginManager mMockPluginManager;
|
||||
@Mock SysuiColorExtractor mMockColorExtractor;
|
||||
@Mock ContentResolver mMockContentResolver;
|
||||
@@ -83,7 +80,6 @@ public final class ClockManagerTest extends SysuiTestCase {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
|
||||
LayoutInflater inflater = LayoutInflater.from(getContext());
|
||||
when(mMockInjectionInflationController.injectable(any())).thenReturn(inflater);
|
||||
|
||||
mFakeDockManager = new DockManagerFake();
|
||||
|
||||
@@ -91,7 +87,7 @@ public final class ClockManagerTest extends SysuiTestCase {
|
||||
mCurrentUser.setValue(MAIN_USER_ID);
|
||||
when(mMockCurrentUserObserable.getCurrentUser()).thenReturn(mCurrentUser);
|
||||
|
||||
mClockManager = new ClockManager(getContext(), mMockInjectionInflationController,
|
||||
mClockManager = new ClockManager(getContext(), inflater,
|
||||
mMockPluginManager, mMockColorExtractor, mMockContentResolver,
|
||||
mMockCurrentUserObserable, mMockSettingsWrapper, mFakeDockManager);
|
||||
|
||||
|
||||
@@ -39,7 +39,6 @@ import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.UiEventLogger;
|
||||
import com.android.keyguard.CarrierText;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.SystemUIFactory;
|
||||
import com.android.systemui.SysuiBaseFragmentTest;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
@@ -64,7 +63,6 @@ import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
import com.android.systemui.util.settings.SecureSettings;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -186,10 +184,6 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
|
||||
return new QSFragment(
|
||||
new RemoteInputQuickSettingsDisabler(context, mock(ConfigurationController.class),
|
||||
commandQueue),
|
||||
new InjectionInflationController(
|
||||
SystemUIFactory.getInstance()
|
||||
.getSysUIComponent()
|
||||
.createViewInstanceCreatorFactory()),
|
||||
mock(QSTileHost.class),
|
||||
mock(StatusBarStateController.class),
|
||||
commandQueue,
|
||||
|
||||
@@ -384,8 +384,6 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
|
||||
when(mView.findViewById(R.id.notification_stack_scroller))
|
||||
.thenReturn(mNotificationStackScrollLayout);
|
||||
when(mView.findViewById(R.id.communal_host)).thenReturn(mCommunalHostView);
|
||||
when(mNotificationStackScrollLayout.getController())
|
||||
.thenReturn(mNotificationStackScrollLayoutController);
|
||||
when(mNotificationStackScrollLayoutController.getHeight()).thenReturn(1000);
|
||||
when(mNotificationStackScrollLayoutController.getHeadsUpCallback())
|
||||
.thenReturn(mHeadsUpCallback);
|
||||
|
||||
@@ -34,7 +34,6 @@ import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.android.keyguard.LockIconViewController;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.SystemUIFactory;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.classifier.FalsingCollectorFake;
|
||||
import com.android.systemui.dock.DockManager;
|
||||
@@ -55,7 +54,6 @@ import com.android.systemui.statusbar.notification.stack.NotificationStackScroll
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -117,10 +115,6 @@ public class NotificationShadeWindowViewTest extends SysuiTestCase {
|
||||
when(mDockManager.isDocked()).thenReturn(false);
|
||||
|
||||
mController = new NotificationShadeWindowViewController(
|
||||
new InjectionInflationController(
|
||||
SystemUIFactory.getInstance()
|
||||
.getSysUIComponent()
|
||||
.createViewInstanceCreatorFactory()),
|
||||
mCoordinator,
|
||||
mPulseExpansionHandler,
|
||||
mDynamicPrivacyController,
|
||||
|
||||
@@ -314,7 +314,6 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
|
||||
mContext.setTheme(R.style.Theme_SystemUI_LightWallpaper);
|
||||
|
||||
when(mStackScroller.getController()).thenReturn(mStackScrollerController);
|
||||
when(mStackScrollerController.getView()).thenReturn(mStackScroller);
|
||||
when(mStackScrollerController.getNotificationListContainer()).thenReturn(
|
||||
mNotificationListContainer);
|
||||
|
||||
Reference in New Issue
Block a user