This was lacking from ag/10097974. Bug: 148388531 Test: HomeHelperTest is included in TEST_MAPPING Change-Id: I73e9d9bbf6499e4d0c3dc7654118e52f6b3a2950
174 lines
5.5 KiB
Java
174 lines
5.5 KiB
Java
/*
|
|
* Copyright (C) 2019 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;
|
|
|
|
import com.android.systemui.biometrics.AuthController;
|
|
import com.android.systemui.globalactions.GlobalActionsComponent;
|
|
import com.android.systemui.keyguard.KeyguardViewMediator;
|
|
import com.android.systemui.navigationbar.car.CarNavigationBar;
|
|
import com.android.systemui.pip.PipUI;
|
|
import com.android.systemui.power.PowerUI;
|
|
import com.android.systemui.recents.Recents;
|
|
import com.android.systemui.recents.RecentsModule;
|
|
import com.android.systemui.shortcut.ShortcutKeyDispatcher;
|
|
import com.android.systemui.stackdivider.Divider;
|
|
import com.android.systemui.statusbar.car.CarStatusBar;
|
|
import com.android.systemui.statusbar.car.CarStatusBarModule;
|
|
import com.android.systemui.statusbar.notification.InstantAppNotifier;
|
|
import com.android.systemui.statusbar.phone.StatusBar;
|
|
import com.android.systemui.statusbar.tv.TvStatusBar;
|
|
import com.android.systemui.theme.ThemeOverlayController;
|
|
import com.android.systemui.toast.ToastUI;
|
|
import com.android.systemui.util.leak.GarbageMonitor;
|
|
import com.android.systemui.volume.VolumeUI;
|
|
|
|
import dagger.Binds;
|
|
import dagger.Module;
|
|
import dagger.multibindings.ClassKey;
|
|
import dagger.multibindings.IntoMap;
|
|
|
|
/** Binder for car specific {@link SystemUI} modules. */
|
|
@Module(includes = {RecentsModule.class, CarStatusBarModule.class})
|
|
public abstract class CarSystemUIBinder {
|
|
/** Inject into AuthController. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(AuthController.class)
|
|
public abstract SystemUI bindAuthController(AuthController sysui);
|
|
|
|
/** Inject into Divider. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(Divider.class)
|
|
public abstract SystemUI bindDivider(Divider sysui);
|
|
|
|
/** */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(CarNavigationBar.class)
|
|
public abstract SystemUI bindCarNavigationBar(CarNavigationBar sysui);
|
|
|
|
/** Inject into GarbageMonitor.Service. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(GarbageMonitor.Service.class)
|
|
public abstract SystemUI bindGarbageMonitorService(GarbageMonitor.Service sysui);
|
|
|
|
/** Inject into GlobalActionsComponent. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(GlobalActionsComponent.class)
|
|
public abstract SystemUI bindGlobalActionsComponent(GlobalActionsComponent sysui);
|
|
|
|
/** Inject into InstantAppNotifier. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(InstantAppNotifier.class)
|
|
public abstract SystemUI bindInstantAppNotifier(InstantAppNotifier sysui);
|
|
|
|
/** Inject into KeyguardViewMediator. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(KeyguardViewMediator.class)
|
|
public abstract SystemUI bindKeyguardViewMediator(KeyguardViewMediator sysui);
|
|
|
|
/** Inject into LatencyTests. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(LatencyTester.class)
|
|
public abstract SystemUI bindLatencyTester(LatencyTester sysui);
|
|
|
|
/** Inject into PipUI. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(PipUI.class)
|
|
public abstract SystemUI bindPipUI(PipUI sysui);
|
|
|
|
/** Inject into PowerUI. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(PowerUI.class)
|
|
public abstract SystemUI bindPowerUI(PowerUI sysui);
|
|
|
|
/** Inject into Recents. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(Recents.class)
|
|
public abstract SystemUI bindRecents(Recents sysui);
|
|
|
|
/** Inject into ScreenDecorations. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(ScreenDecorations.class)
|
|
public abstract SystemUI bindScreenDecorations(ScreenDecorations sysui);
|
|
|
|
/** Inject into ShortcutKeyDispatcher. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(ShortcutKeyDispatcher.class)
|
|
public abstract SystemUI bindsShortcutKeyDispatcher(ShortcutKeyDispatcher sysui);
|
|
|
|
/** Inject into SizeCompatModeActivityController. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(SizeCompatModeActivityController.class)
|
|
public abstract SystemUI bindsSizeCompatModeActivityController(
|
|
SizeCompatModeActivityController sysui);
|
|
|
|
/** Inject into SliceBroadcastRelayHandler. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(SliceBroadcastRelayHandler.class)
|
|
public abstract SystemUI bindSliceBroadcastRelayHandler(SliceBroadcastRelayHandler sysui);
|
|
|
|
/** Inject into ThemeOverlayController. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(ThemeOverlayController.class)
|
|
public abstract SystemUI bindThemeOverlayController(ThemeOverlayController sysui);
|
|
|
|
/** Inject into StatusBar. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(StatusBar.class)
|
|
public abstract SystemUI bindsStatusBar(CarStatusBar sysui);
|
|
|
|
/** Inject into TvStatusBar. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(TvStatusBar.class)
|
|
public abstract SystemUI bindsTvStatusBar(TvStatusBar sysui);
|
|
|
|
/** Inject into StatusBarGoogle. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(CarStatusBar.class)
|
|
public abstract SystemUI bindsCarStatusBar(CarStatusBar sysui);
|
|
|
|
/** Inject into VolumeUI. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(VolumeUI.class)
|
|
public abstract SystemUI bindVolumeUI(VolumeUI sysui);
|
|
|
|
/** Inject into ToastUI. */
|
|
@Binds
|
|
@IntoMap
|
|
@ClassKey(ToastUI.class)
|
|
public abstract SystemUI bindToastUI(ToastUI service);
|
|
}
|