Loading packages/SystemUI/src/com/android/systemui/pip/tv/PipControlsViewController.java +3 −1 Original line number Diff line number Diff line Loading @@ -36,6 +36,8 @@ import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import javax.inject.Inject; /** * Controller for {@link PipControlsView}. */ Loading Loading @@ -108,7 +110,7 @@ public class PipControlsViewController { } }; @Inject public PipControlsViewController(PipControlsView view, Optional<Pip> pipOptional, LayoutInflater layoutInflater, @Main Handler handler) { super(); Loading packages/SystemUI/src/com/android/systemui/pip/tv/dagger/TvPipModule.java 0 → 100644 +92 −0 Original line number Diff line number Diff line /* * 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.pip.tv.dagger; import android.app.Activity; import android.content.Context; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.pip.Pip; import com.android.systemui.pip.PipBoundsHandler; import com.android.systemui.pip.PipSurfaceTransactionHelper; import com.android.systemui.pip.PipTaskOrganizer; import com.android.systemui.pip.PipUiEventLogger; import com.android.systemui.pip.tv.PipController; import com.android.systemui.pip.tv.PipMenuActivity; import com.android.systemui.pip.tv.PipNotification; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.splitscreen.SplitScreen; import java.util.Optional; import dagger.Binds; import dagger.Module; import dagger.Provides; import dagger.multibindings.ClassKey; import dagger.multibindings.IntoMap; /** * Dagger module for TV Pip. */ @Module(subcomponents = {TvPipComponent.class}) public abstract class TvPipModule { /** Inject into PipMenuActivity. */ @Binds @IntoMap @ClassKey(PipMenuActivity.class) public abstract Activity providePipMenuActivity(PipMenuActivity activity); @SysUISingleton @Provides static Pip providePipController(Context context, BroadcastDispatcher broadcastDispatcher, PipBoundsHandler pipBoundsHandler, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, PipTaskOrganizer pipTaskOrganizer) { return new PipController(context, broadcastDispatcher, pipBoundsHandler, pipSurfaceTransactionHelper, pipTaskOrganizer); } @SysUISingleton @Provides static PipNotification providePipNotification(Context context, BroadcastDispatcher broadcastDispatcher, PipController pipController) { return new PipNotification(context, broadcastDispatcher, pipController); } @SysUISingleton @Provides static PipBoundsHandler providesPipBoundsHandler(Context context) { return new PipBoundsHandler(context); } @SysUISingleton @Provides static PipTaskOrganizer providesPipTaskOrganizer(Context context, PipBoundsHandler pipBoundsHandler, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, Optional<SplitScreen> splitScreenOptional, DisplayController displayController, PipUiEventLogger pipUiEventLogger, ShellTaskOrganizer shellTaskOrganizer) { return new PipTaskOrganizer(context, pipBoundsHandler, pipSurfaceTransactionHelper, splitScreenOptional, displayController, pipUiEventLogger, shellTaskOrganizer); } } packages/SystemUI/src/com/android/systemui/tv/TvSystemUIBinder.java +2 −1 Original line number Diff line number Diff line Loading @@ -17,11 +17,12 @@ package com.android.systemui.tv; import com.android.systemui.dagger.GlobalRootComponent; import com.android.systemui.pip.tv.dagger.TvPipModule; import dagger.Binds; import dagger.Module; @Module() @Module(includes = TvPipModule.class) interface TvSystemUIBinder { @Binds GlobalRootComponent bindGlobalRootComponent(TvGlobalRootComponent globalRootComponent); Loading packages/SystemUI/src/com/android/systemui/wmshell/TvWMShellModule.java +2 −49 Original line number Diff line number Diff line Loading @@ -20,17 +20,9 @@ import android.content.Context; import android.os.Handler; import android.view.IWindowManager; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.pip.Pip; import com.android.systemui.pip.PipBoundsHandler; import com.android.systemui.pip.PipSurfaceTransactionHelper; import com.android.systemui.pip.PipTaskOrganizer; import com.android.systemui.pip.PipUiEventLogger; import com.android.systemui.pip.tv.PipController; import com.android.systemui.pip.tv.PipNotification; import com.android.systemui.pip.tv.dagger.TvPipComponent; import com.android.systemui.pip.tv.dagger.TvPipModule; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.DisplayImeController; Loading @@ -39,8 +31,6 @@ import com.android.wm.shell.common.TransactionPool; import com.android.wm.shell.splitscreen.SplitScreen; import com.android.wm.shell.splitscreen.SplitScreenController; import java.util.Optional; import dagger.Module; import dagger.Provides; Loading @@ -49,7 +39,7 @@ import dagger.Provides; * branches of SystemUI. */ // TODO(b/162923491): Move most of these dependencies into WMSingleton scope. @Module(includes = WMShellBaseModule.class, subcomponents = {TvPipComponent.class}) @Module(includes = {WMShellBaseModule.class, TvPipModule.class}) public class TvWMShellModule { @SysUISingleton @Provides Loading @@ -59,17 +49,6 @@ public class TvWMShellModule { return new DisplayImeController(wmService, displayController, mainHandler, transactionPool); } @SysUISingleton @Provides static Pip providePipController(Context context, BroadcastDispatcher broadcastDispatcher, PipBoundsHandler pipBoundsHandler, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, PipTaskOrganizer pipTaskOrganizer) { return new PipController(context, broadcastDispatcher, pipBoundsHandler, pipSurfaceTransactionHelper, pipTaskOrganizer); } @SysUISingleton @Provides static SplitScreen provideSplitScreen(Context context, Loading @@ -79,30 +58,4 @@ public class TvWMShellModule { return new SplitScreenController(context, displayController, systemWindows, displayImeController, handler, transactionPool, shellTaskOrganizer); } @SysUISingleton @Provides static PipNotification providePipNotification(Context context, BroadcastDispatcher broadcastDispatcher, PipController pipController) { return new PipNotification(context, broadcastDispatcher, pipController); } @SysUISingleton @Provides static PipBoundsHandler providesPipBoundsHandler(Context context) { return new PipBoundsHandler(context); } @SysUISingleton @Provides static PipTaskOrganizer providesPipTaskOrganizer(Context context, PipBoundsHandler pipBoundsHandler, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, Optional<SplitScreen> splitScreenOptional, DisplayController displayController, PipUiEventLogger pipUiEventLogger, ShellTaskOrganizer shellTaskOrganizer) { return new PipTaskOrganizer(context, pipBoundsHandler, pipSurfaceTransactionHelper, splitScreenOptional, displayController, pipUiEventLogger, shellTaskOrganizer); } } Loading
packages/SystemUI/src/com/android/systemui/pip/tv/PipControlsViewController.java +3 −1 Original line number Diff line number Diff line Loading @@ -36,6 +36,8 @@ import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import javax.inject.Inject; /** * Controller for {@link PipControlsView}. */ Loading Loading @@ -108,7 +110,7 @@ public class PipControlsViewController { } }; @Inject public PipControlsViewController(PipControlsView view, Optional<Pip> pipOptional, LayoutInflater layoutInflater, @Main Handler handler) { super(); Loading
packages/SystemUI/src/com/android/systemui/pip/tv/dagger/TvPipModule.java 0 → 100644 +92 −0 Original line number Diff line number Diff line /* * 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.pip.tv.dagger; import android.app.Activity; import android.content.Context; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.pip.Pip; import com.android.systemui.pip.PipBoundsHandler; import com.android.systemui.pip.PipSurfaceTransactionHelper; import com.android.systemui.pip.PipTaskOrganizer; import com.android.systemui.pip.PipUiEventLogger; import com.android.systemui.pip.tv.PipController; import com.android.systemui.pip.tv.PipMenuActivity; import com.android.systemui.pip.tv.PipNotification; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.splitscreen.SplitScreen; import java.util.Optional; import dagger.Binds; import dagger.Module; import dagger.Provides; import dagger.multibindings.ClassKey; import dagger.multibindings.IntoMap; /** * Dagger module for TV Pip. */ @Module(subcomponents = {TvPipComponent.class}) public abstract class TvPipModule { /** Inject into PipMenuActivity. */ @Binds @IntoMap @ClassKey(PipMenuActivity.class) public abstract Activity providePipMenuActivity(PipMenuActivity activity); @SysUISingleton @Provides static Pip providePipController(Context context, BroadcastDispatcher broadcastDispatcher, PipBoundsHandler pipBoundsHandler, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, PipTaskOrganizer pipTaskOrganizer) { return new PipController(context, broadcastDispatcher, pipBoundsHandler, pipSurfaceTransactionHelper, pipTaskOrganizer); } @SysUISingleton @Provides static PipNotification providePipNotification(Context context, BroadcastDispatcher broadcastDispatcher, PipController pipController) { return new PipNotification(context, broadcastDispatcher, pipController); } @SysUISingleton @Provides static PipBoundsHandler providesPipBoundsHandler(Context context) { return new PipBoundsHandler(context); } @SysUISingleton @Provides static PipTaskOrganizer providesPipTaskOrganizer(Context context, PipBoundsHandler pipBoundsHandler, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, Optional<SplitScreen> splitScreenOptional, DisplayController displayController, PipUiEventLogger pipUiEventLogger, ShellTaskOrganizer shellTaskOrganizer) { return new PipTaskOrganizer(context, pipBoundsHandler, pipSurfaceTransactionHelper, splitScreenOptional, displayController, pipUiEventLogger, shellTaskOrganizer); } }
packages/SystemUI/src/com/android/systemui/tv/TvSystemUIBinder.java +2 −1 Original line number Diff line number Diff line Loading @@ -17,11 +17,12 @@ package com.android.systemui.tv; import com.android.systemui.dagger.GlobalRootComponent; import com.android.systemui.pip.tv.dagger.TvPipModule; import dagger.Binds; import dagger.Module; @Module() @Module(includes = TvPipModule.class) interface TvSystemUIBinder { @Binds GlobalRootComponent bindGlobalRootComponent(TvGlobalRootComponent globalRootComponent); Loading
packages/SystemUI/src/com/android/systemui/wmshell/TvWMShellModule.java +2 −49 Original line number Diff line number Diff line Loading @@ -20,17 +20,9 @@ import android.content.Context; import android.os.Handler; import android.view.IWindowManager; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.pip.Pip; import com.android.systemui.pip.PipBoundsHandler; import com.android.systemui.pip.PipSurfaceTransactionHelper; import com.android.systemui.pip.PipTaskOrganizer; import com.android.systemui.pip.PipUiEventLogger; import com.android.systemui.pip.tv.PipController; import com.android.systemui.pip.tv.PipNotification; import com.android.systemui.pip.tv.dagger.TvPipComponent; import com.android.systemui.pip.tv.dagger.TvPipModule; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.DisplayImeController; Loading @@ -39,8 +31,6 @@ import com.android.wm.shell.common.TransactionPool; import com.android.wm.shell.splitscreen.SplitScreen; import com.android.wm.shell.splitscreen.SplitScreenController; import java.util.Optional; import dagger.Module; import dagger.Provides; Loading @@ -49,7 +39,7 @@ import dagger.Provides; * branches of SystemUI. */ // TODO(b/162923491): Move most of these dependencies into WMSingleton scope. @Module(includes = WMShellBaseModule.class, subcomponents = {TvPipComponent.class}) @Module(includes = {WMShellBaseModule.class, TvPipModule.class}) public class TvWMShellModule { @SysUISingleton @Provides Loading @@ -59,17 +49,6 @@ public class TvWMShellModule { return new DisplayImeController(wmService, displayController, mainHandler, transactionPool); } @SysUISingleton @Provides static Pip providePipController(Context context, BroadcastDispatcher broadcastDispatcher, PipBoundsHandler pipBoundsHandler, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, PipTaskOrganizer pipTaskOrganizer) { return new PipController(context, broadcastDispatcher, pipBoundsHandler, pipSurfaceTransactionHelper, pipTaskOrganizer); } @SysUISingleton @Provides static SplitScreen provideSplitScreen(Context context, Loading @@ -79,30 +58,4 @@ public class TvWMShellModule { return new SplitScreenController(context, displayController, systemWindows, displayImeController, handler, transactionPool, shellTaskOrganizer); } @SysUISingleton @Provides static PipNotification providePipNotification(Context context, BroadcastDispatcher broadcastDispatcher, PipController pipController) { return new PipNotification(context, broadcastDispatcher, pipController); } @SysUISingleton @Provides static PipBoundsHandler providesPipBoundsHandler(Context context) { return new PipBoundsHandler(context); } @SysUISingleton @Provides static PipTaskOrganizer providesPipTaskOrganizer(Context context, PipBoundsHandler pipBoundsHandler, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, Optional<SplitScreen> splitScreenOptional, DisplayController displayController, PipUiEventLogger pipUiEventLogger, ShellTaskOrganizer shellTaskOrganizer) { return new PipTaskOrganizer(context, pipBoundsHandler, pipSurfaceTransactionHelper, splitScreenOptional, displayController, pipUiEventLogger, shellTaskOrganizer); } }