From bb9575f5b5c96873763747295c4212e975ce2c30 Mon Sep 17 00:00:00 2001 From: Dave Mankoff Date: Wed, 2 Oct 2019 12:23:49 -0400 Subject: Move StatusBar to constructor injection. Bug: 141882822 Test: atest SystemUITests Change-Id: I385ccd8e96b3e131b095db5adfca93389905d030 --- .../SystemUI/src/com/android/systemui/SystemUIDefaultModule.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java') diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java b/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java index 262b5ec50d83..72831e99e122 100644 --- a/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java +++ b/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java @@ -40,6 +40,8 @@ import javax.inject.Singleton; import dagger.Binds; import dagger.Module; import dagger.Provides; +import dagger.multibindings.ClassKey; +import dagger.multibindings.IntoMap; /** * A dagger module for injecting default implementations of components of System UI that may be @@ -76,6 +78,11 @@ abstract class SystemUIDefaultModule { return SysUiServiceProvider.getComponent(context, StatusBar.class); } + @Binds + @IntoMap + @ClassKey(StatusBar.class) + public abstract SystemUI providesStatusBar(StatusBar statusBar); + @Singleton @Provides @Named(ALLOW_NOTIFICATION_LONG_PRESS_NAME) -- cgit v1.2.3 From 0cf8dfce9b311250577705da19e282c5054810a2 Mon Sep 17 00:00:00 2001 From: Dave Mankoff Date: Fri, 27 Sep 2019 12:46:41 -0400 Subject: Create controller for StatusBarWindowView. This moves most of the logic out of the view and into StatusBarWindowViewController. It is not beautiful, but it is cleaner than before. This removes the final call to Dependency.get(FalsingManager.class). This also fixes a small, old bug in StatusBarWindowView.onInterceptTouchEvent where the results of calling hte super method were being unintentionally ingored. (This bug would have been introduced nearly seven years ago.) Bug: 141751146,136279712 Test: atest SystemUITests Change-Id: I5e09c1c0f2a3098db1a47837ddce3d382099f483 --- .../SystemUI/src/com/android/systemui/SystemUIDefaultModule.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java') diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java b/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java index 72831e99e122..176bcbfd9500 100644 --- a/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java +++ b/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java @@ -19,8 +19,6 @@ package com.android.systemui; import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME; import static com.android.systemui.Dependency.LEAK_REPORT_EMAIL_NAME; -import android.content.Context; - import androidx.annotation.Nullable; import com.android.systemui.dock.DockManager; @@ -72,11 +70,8 @@ abstract class SystemUIDefaultModule { abstract NotificationData.KeyguardEnvironment bindKeyguardEnvironment( KeyguardEnvironmentImpl keyguardEnvironment); - @Singleton - @Provides - static ShadeController provideShadeController(Context context) { - return SysUiServiceProvider.getComponent(context, StatusBar.class); - } + @Binds + abstract ShadeController provideShadeController(StatusBar statusBar); @Binds @IntoMap -- cgit v1.2.3 From f473681480f929e2a7aebbbedb4babb65bfd26d2 Mon Sep 17 00:00:00 2001 From: Dave Mankoff Date: Fri, 18 Oct 2019 17:25:50 -0400 Subject: Move DI related coded into new dagger package. This adds new Dagger qualifiers for BgHandler, BgLooper, MainHandler, MainLooper, and MainResources, replacing the use of @Named for them. Bug: 142954072 Test: atest SystemUITests Change-Id: Ibbda8998e587474c26740ba8d49a8b3f90d89efa --- .../android/systemui/SystemUIDefaultModule.java | 87 ---------------------- 1 file changed, 87 deletions(-) delete mode 100644 packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java (limited to 'packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java') diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java b/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java deleted file mode 100644 index 176bcbfd9500..000000000000 --- a/packages/SystemUI/src/com/android/systemui/SystemUIDefaultModule.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * 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 static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME; -import static com.android.systemui.Dependency.LEAK_REPORT_EMAIL_NAME; - -import androidx.annotation.Nullable; - -import com.android.systemui.dock.DockManager; -import com.android.systemui.dock.DockManagerImpl; -import com.android.systemui.power.EnhancedEstimates; -import com.android.systemui.power.EnhancedEstimatesImpl; -import com.android.systemui.statusbar.NotificationLockscreenUserManager; -import com.android.systemui.statusbar.NotificationLockscreenUserManagerImpl; -import com.android.systemui.statusbar.notification.collection.NotificationData; -import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl; -import com.android.systemui.statusbar.phone.ShadeController; -import com.android.systemui.statusbar.phone.StatusBar; - -import javax.inject.Named; -import javax.inject.Singleton; - -import dagger.Binds; -import dagger.Module; -import dagger.Provides; -import dagger.multibindings.ClassKey; -import dagger.multibindings.IntoMap; - -/** - * A dagger module for injecting default implementations of components of System UI that may be - * overridden by the System UI implementation. - */ -@Module -abstract class SystemUIDefaultModule { - - @Singleton - @Provides - @Named(LEAK_REPORT_EMAIL_NAME) - @Nullable - static String provideLeakReportEmail() { - return null; - } - - @Binds - abstract EnhancedEstimates bindEnhancedEstimates(EnhancedEstimatesImpl enhancedEstimates); - - @Binds - abstract NotificationLockscreenUserManager bindNotificationLockscreenUserManager( - NotificationLockscreenUserManagerImpl notificationLockscreenUserManager); - - @Binds - abstract DockManager bindDockManager(DockManagerImpl dockManager); - - @Binds - abstract NotificationData.KeyguardEnvironment bindKeyguardEnvironment( - KeyguardEnvironmentImpl keyguardEnvironment); - - @Binds - abstract ShadeController provideShadeController(StatusBar statusBar); - - @Binds - @IntoMap - @ClassKey(StatusBar.class) - public abstract SystemUI providesStatusBar(StatusBar statusBar); - - @Singleton - @Provides - @Named(ALLOW_NOTIFICATION_LONG_PRESS_NAME) - static boolean provideAllowNotificationLongPress() { - return true; - } -} -- cgit v1.2.3