diff options
Diffstat (limited to 'src/com/android/tv/modules')
-rw-r--r-- | src/com/android/tv/modules/TvApplicationModule.java | 39 | ||||
-rw-r--r-- | src/com/android/tv/modules/TvSingletonsModule.java | 12 |
2 files changed, 42 insertions, 9 deletions
diff --git a/src/com/android/tv/modules/TvApplicationModule.java b/src/com/android/tv/modules/TvApplicationModule.java index 45383ae1..26c2be23 100644 --- a/src/com/android/tv/modules/TvApplicationModule.java +++ b/src/com/android/tv/modules/TvApplicationModule.java @@ -17,15 +17,24 @@ package com.android.tv.modules; import android.content.Context; import com.android.tv.MainActivity; +import com.android.tv.SetupPassthroughActivity; import com.android.tv.TvApplication; +import com.android.tv.common.buildtype.BuildTypeModule; import com.android.tv.common.concurrent.NamedThreadFactory; import com.android.tv.common.dagger.ApplicationModule; import com.android.tv.common.dagger.annotations.ApplicationContext; +import com.android.tv.data.ChannelDataManager; +import com.android.tv.data.ChannelDataManagerFactory; +import com.android.tv.dialog.PinDialogFragment; +import com.android.tv.dvr.ui.playback.DvrPlaybackActivity; import com.android.tv.onboarding.OnboardingActivity; +import com.android.tv.ui.DetailsActivity; import com.android.tv.util.AsyncDbTask; import com.android.tv.util.TvInputManagerHelper; import dagger.Module; import dagger.Provides; +import dagger.android.ContributesAndroidInjector; +import com.android.tv.common.flags.LegacyFlags; import java.util.concurrent.Executor; import java.util.concurrent.Executors; import javax.inject.Singleton; @@ -34,25 +43,43 @@ import javax.inject.Singleton; @Module( includes = { ApplicationModule.class, - TvSingletonsModule.class, + BuildTypeModule.class, + DetailsActivity.Module.class, + DvrPlaybackActivity.Module.class, MainActivity.Module.class, - OnboardingActivity.Module.class + OnboardingActivity.Module.class, + SetupPassthroughActivity.Module.class, + TvSingletonsModule.class, }) -public class TvApplicationModule { +public abstract class TvApplicationModule { private static final NamedThreadFactory THREAD_FACTORY = new NamedThreadFactory("tv-app-db"); @Provides @AsyncDbTask.DbExecutor @Singleton - Executor providesDbExecutor() { + static Executor providesDbExecutor() { return Executors.newSingleThreadExecutor(THREAD_FACTORY); } @Provides @Singleton - TvInputManagerHelper providesTvInputManagerHelper(@ApplicationContext Context context) { - TvInputManagerHelper tvInputManagerHelper = new TvInputManagerHelper(context); + static TvInputManagerHelper providesTvInputManagerHelper( + @ApplicationContext Context context, LegacyFlags legacyFlags) { + TvInputManagerHelper tvInputManagerHelper = new TvInputManagerHelper(context, legacyFlags); tvInputManagerHelper.start(); + // Since this is injected as a Lazy in the application start is delayed. return tvInputManagerHelper; } + + @Provides + @Singleton + static ChannelDataManager providesChannelDataManager(ChannelDataManagerFactory factory) { + ChannelDataManager channelDataManager = factory.create(); + channelDataManager.start(); + // Since this is injected as a Lazy in the application start is delayed. + return channelDataManager; + } + + @ContributesAndroidInjector + abstract PinDialogFragment contributesPinDialogFragment(); } diff --git a/src/com/android/tv/modules/TvSingletonsModule.java b/src/com/android/tv/modules/TvSingletonsModule.java index f998c08b..41206c9b 100644 --- a/src/com/android/tv/modules/TvSingletonsModule.java +++ b/src/com/android/tv/modules/TvSingletonsModule.java @@ -16,8 +16,9 @@ package com.android.tv.modules; import com.android.tv.TvSingletons; -import com.android.tv.data.ChannelDataManager; import com.android.tv.data.ProgramDataManager; +import com.android.tv.dvr.DvrDataManager; +import com.android.tv.dvr.DvrWatchedPositionManager; import dagger.Module; import dagger.Provides; @@ -36,8 +37,13 @@ public class TvSingletonsModule { } @Provides - ChannelDataManager providesChannelDataManager() { - return mTvSingletons.getChannelDataManager(); + DvrDataManager providesDvrDataManager() { + return mTvSingletons.getDvrDataManager(); + } + + @Provides + DvrWatchedPositionManager providesDvrWatchedPositionManager() { + return mTvSingletons.getDvrWatchedPositionManager(); } @Provides |