From f1aa8211e42d6a0f9052fad31a5e8c9b6fcab8d4 Mon Sep 17 00:00:00 2001 From: nchalko Date: Thu, 31 Jan 2019 16:01:09 -0800 Subject: Inject TvInputManagerHelper PiperOrigin-RevId: 231871950 Change-Id: Ic081166eb50d0f45ef8d268571a437473380ded1 --- src/com/android/tv/TvApplication.java | 9 +++------ src/com/android/tv/modules/TvApplicationModule.java | 11 +++++++++++ src/com/android/tv/modules/TvSingletonsModule.java | 6 ------ 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/com/android/tv/TvApplication.java b/src/com/android/tv/TvApplication.java index 1cb05c0f..5f25a24b 100644 --- a/src/com/android/tv/TvApplication.java +++ b/src/com/android/tv/TvApplication.java @@ -67,6 +67,7 @@ import com.android.tv.util.SetupUtils; import com.android.tv.util.TvInputManagerHelper; import com.android.tv.util.Utils; import com.google.common.base.Optional; +import dagger.Lazy; import java.util.List; import java.util.concurrent.Executor; import javax.inject.Inject; @@ -114,7 +115,7 @@ public abstract class TvApplication extends BaseApplication implements TvSinglet // STOP-SHIP: Remove this variable when Tuner Process is split to another application. // When this variable is null, we don't know in which process TvApplication runs. private Boolean mRunningInMainProcess; - private TvInputManagerHelper mTvInputManagerHelper; + @Inject Lazy mLazyTvInputManagerHelper; private boolean mStarted; private EpgFetcher mEpgFetcher; @@ -359,11 +360,7 @@ public abstract class TvApplication extends BaseApplication implements TvSinglet /** Returns {@link TvInputManagerHelper}. */ @Override public TvInputManagerHelper getTvInputManagerHelper() { - if (mTvInputManagerHelper == null) { - mTvInputManagerHelper = new TvInputManagerHelper(this); - mTvInputManagerHelper.start(); - } - return mTvInputManagerHelper; + return mLazyTvInputManagerHelper.get(); } @Override diff --git a/src/com/android/tv/modules/TvApplicationModule.java b/src/com/android/tv/modules/TvApplicationModule.java index d54427d2..45383ae1 100644 --- a/src/com/android/tv/modules/TvApplicationModule.java +++ b/src/com/android/tv/modules/TvApplicationModule.java @@ -15,12 +15,15 @@ */ package com.android.tv.modules; +import android.content.Context; import com.android.tv.MainActivity; import com.android.tv.TvApplication; 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.onboarding.OnboardingActivity; import com.android.tv.util.AsyncDbTask; +import com.android.tv.util.TvInputManagerHelper; import dagger.Module; import dagger.Provides; import java.util.concurrent.Executor; @@ -44,4 +47,12 @@ public class TvApplicationModule { Executor providesDbExecutor() { return Executors.newSingleThreadExecutor(THREAD_FACTORY); } + + @Provides + @Singleton + TvInputManagerHelper providesTvInputManagerHelper(@ApplicationContext Context context) { + TvInputManagerHelper tvInputManagerHelper = new TvInputManagerHelper(context); + tvInputManagerHelper.start(); + return tvInputManagerHelper; + } } diff --git a/src/com/android/tv/modules/TvSingletonsModule.java b/src/com/android/tv/modules/TvSingletonsModule.java index b149492b..f998c08b 100644 --- a/src/com/android/tv/modules/TvSingletonsModule.java +++ b/src/com/android/tv/modules/TvSingletonsModule.java @@ -18,7 +18,6 @@ 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.util.TvInputManagerHelper; import dagger.Module; import dagger.Provides; @@ -45,9 +44,4 @@ public class TvSingletonsModule { ProgramDataManager providesProgramDataManager() { return mTvSingletons.getProgramDataManager(); } - - @Provides - TvInputManagerHelper providesTvInputManagerHelper() { - return mTvSingletons.getTvInputManagerHelper(); - } } -- cgit v1.2.3