aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornchalko <nchalko@google.com>2018-07-13 14:48:41 -0700
committerCopybara-Service <copybara-piper@google.com>2018-07-13 15:50:47 -0700
commit57fa0a9ce9331b264e2b0aa0561409e295e6d46d (patch)
treeab0299c04b8d8273383dddd28d6a2ebc4564e942
parent28cc6cadb8cf331f2220d28f5c4b9d2d8bcfd7db (diff)
downloadTV-57fa0a9ce9331b264e2b0aa0561409e295e6d46d.tar.gz
CLEANUP: Make TunerInputController optional
PiperOrigin-RevId: 204532275 Change-Id: Ib721a5f631f1cd19aa6b51e883b4b4fc259483a4
-rw-r--r--src/com/android/tv/MainActivity.java17
-rw-r--r--src/com/android/tv/TvApplication.java23
-rw-r--r--src/com/android/tv/TvSingletons.java3
-rw-r--r--src/com/android/tv/onboarding/SetupSourcesFragment.java9
-rw-r--r--src/com/android/tv/tuner/TunerInputControllerImpl.java2
-rw-r--r--tests/common/src/com/android/tv/testing/TestSingletonApp.java14
-rw-r--r--tests/unit/src/com/android/tv/util/MockTvSingletons.java3
7 files changed, 43 insertions, 28 deletions
diff --git a/src/com/android/tv/MainActivity.java b/src/com/android/tv/MainActivity.java
index 0653a4f2..d2556406 100644
--- a/src/com/android/tv/MainActivity.java
+++ b/src/com/android/tv/MainActivity.java
@@ -109,6 +109,7 @@ import com.android.tv.perf.PerformanceMonitorManagerFactory;
import com.android.tv.recommendation.ChannelPreviewUpdater;
import com.android.tv.recommendation.NotificationService;
import com.android.tv.search.ProgramGuideSearchFragment;
+import com.android.tv.tunerinputcontroller.TunerInputController;
import com.android.tv.ui.ChannelBannerView;
import com.android.tv.ui.DetailsActivity;
import com.android.tv.ui.InputBannerView;
@@ -141,6 +142,7 @@ import com.android.tv.util.ViewCache;
import com.android.tv.util.account.AccountHelper;
import com.android.tv.util.images.ImageCache;
+import com.google.common.base.Optional;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayDeque;
@@ -802,7 +804,10 @@ public class MainActivity extends Activity
startService(notificationIntent);
}
TvSingletons singletons = TvSingletons.getSingletons(this);
- singletons.getTunerInputController().executeNetworkTunerDiscoveryAsyncTask(this);
+ Optional<TunerInputController> tunerInputController = singletons.getTunerInputController();
+ if (tunerInputController.isPresent()) {
+ tunerInputController.get().executeNetworkTunerDiscoveryAsyncTask(this);
+ }
singletons.getEpgFetcher().fetchImmediatelyIfNeeded();
}
@@ -1899,8 +1904,7 @@ public class MainActivity extends Activity
selectTrack(TvTrackInfo.TYPE_AUDIO, bestTrack, UNDEFINED_TRACK_INDEX);
} else {
mTvOptionsManager.onMultiAudioChanged(
- TvTrackInfoUtils
- .getMultiAudioString(this, bestTrack, false));
+ TvTrackInfoUtils.getMultiAudioString(this, bestTrack, false));
}
return;
}
@@ -2549,10 +2553,9 @@ public class MainActivity extends Activity
mTvView.selectTrack(type, track == null ? null : track.getId());
if (type == TvTrackInfo.TYPE_AUDIO) {
mTvOptionsManager.onMultiAudioChanged(
- track == null
- ? null
- : TvTrackInfoUtils
- .getMultiAudioString(this, track, false));
+ track == null
+ ? null
+ : TvTrackInfoUtils.getMultiAudioString(this, track, false));
} else if (type == TvTrackInfo.TYPE_SUBTITLE) {
mTvOptionsManager.onClosedCaptionsChanged(track, trackIndex);
}
diff --git a/src/com/android/tv/TvApplication.java b/src/com/android/tv/TvApplication.java
index a91eff5f..628219e9 100644
--- a/src/com/android/tv/TvApplication.java
+++ b/src/com/android/tv/TvApplication.java
@@ -66,6 +66,7 @@ import com.android.tv.tunerinputcontroller.TunerInputController;
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 java.util.List;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
@@ -121,7 +122,7 @@ public abstract class TvApplication extends BaseApplication implements TvSinglet
private TvInputManagerHelper mTvInputManagerHelper;
private boolean mStarted;
private EpgFetcher mEpgFetcher;
- private TunerInputController mTunerInputController;
+ private Optional<TunerInputController> mOptionalTunerInputController;
@Override
public void onCreate() {
@@ -215,8 +216,11 @@ public abstract class TvApplication extends BaseApplication implements TvSinglet
boolean isFirstLaunch = sharedPreferences.getBoolean(PREFERENCE_IS_FIRST_LAUNCH, true);
if (isFirstLaunch) {
if (DEBUG) Log.d(TAG, "Congratulations, it's the first launch!");
- getTunerInputController()
- .onCheckingUsbTunerStatus(this, ACTION_APPLICATION_FIRST_LAUNCHED);
+ if (getTunerInputController().isPresent()) {
+ getTunerInputController()
+ .get()
+ .onCheckingUsbTunerStatus(this, ACTION_APPLICATION_FIRST_LAUNCHED);
+ }
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(PREFERENCE_IS_FIRST_LAUNCH, false);
editor.apply();
@@ -355,13 +359,14 @@ public abstract class TvApplication extends BaseApplication implements TvSinglet
}
@Override
- public synchronized TunerInputController getTunerInputController() {
- if (mTunerInputController == null) {
- mTunerInputController =
- new TunerInputControllerImpl(
- ComponentName.unflattenFromString(getEmbeddedTunerInputId()));
+ public synchronized Optional<TunerInputController> getTunerInputController() {
+ if (mOptionalTunerInputController == null) {
+ mOptionalTunerInputController =
+ Optional.of(
+ new TunerInputControllerImpl(
+ ComponentName.unflattenFromString(getEmbeddedTunerInputId())));
}
- return mTunerInputController;
+ return mOptionalTunerInputController;
}
@Override
diff --git a/src/com/android/tv/TvSingletons.java b/src/com/android/tv/TvSingletons.java
index e4e6b1bd..0333d501 100644
--- a/src/com/android/tv/TvSingletons.java
+++ b/src/com/android/tv/TvSingletons.java
@@ -37,6 +37,7 @@ import com.android.tv.tunerinputcontroller.TunerInputController;
import com.android.tv.util.SetupUtils;
import com.android.tv.util.TvInputManagerHelper;
import com.android.tv.util.account.AccountHelper;
+import com.google.common.base.Optional;
import java.util.concurrent.Executor;
import javax.inject.Provider;
@@ -100,7 +101,7 @@ public interface TvSingletons extends BaseSingletons {
SetupUtils getSetupUtils();
- TunerInputController getTunerInputController();
+ Optional<TunerInputController> getTunerInputController();
ExperimentLoader getExperimentLoader();
diff --git a/src/com/android/tv/onboarding/SetupSourcesFragment.java b/src/com/android/tv/onboarding/SetupSourcesFragment.java
index f032f622..cb95331e 100644
--- a/src/com/android/tv/onboarding/SetupSourcesFragment.java
+++ b/src/com/android/tv/onboarding/SetupSourcesFragment.java
@@ -197,9 +197,12 @@ public class SetupSourcesFragment extends SetupMultiPaneFragment {
mChannelDataManager.addListener(mChannelDataManagerListener);
super.onCreate(savedInstanceState);
mParentFragment = (SetupSourcesFragment) getParentFragment();
- singletons
- .getTunerInputController()
- .executeNetworkTunerDiscoveryAsyncTask(getContext());
+ if (singletons.getTunerInputController().isPresent()) {
+ singletons
+ .getTunerInputController()
+ .get()
+ .executeNetworkTunerDiscoveryAsyncTask(getContext());
+ }
}
@Override
diff --git a/src/com/android/tv/tuner/TunerInputControllerImpl.java b/src/com/android/tv/tuner/TunerInputControllerImpl.java
index 88419be5..6594cd35 100644
--- a/src/com/android/tv/tuner/TunerInputControllerImpl.java
+++ b/src/com/android/tv/tuner/TunerInputControllerImpl.java
@@ -464,7 +464,7 @@ public class TunerInputControllerImpl implements TunerInputController {
Starter.start(context);
TunerInputControllerImpl tunerInputController =
(TunerInputControllerImpl)
- TvSingletons.getSingletons(context).getTunerInputController();
+ TvSingletons.getSingletons(context).getTunerInputController().get();
if (!TUNER.isEnabled(context)) {
tunerInputController.handleTunerStatusChanged(
context, false, Collections.emptySet(), null);
diff --git a/tests/common/src/com/android/tv/testing/TestSingletonApp.java b/tests/common/src/com/android/tv/testing/TestSingletonApp.java
index 21aabac6..4fcf853b 100644
--- a/tests/common/src/com/android/tv/testing/TestSingletonApp.java
+++ b/tests/common/src/com/android/tv/testing/TestSingletonApp.java
@@ -51,6 +51,7 @@ import com.android.tv.tunerinputcontroller.TunerInputController;
import com.android.tv.util.SetupUtils;
import com.android.tv.util.TvInputManagerHelper;
import com.android.tv.util.account.AccountHelper;
+import com.google.common.base.Optional;
import java.util.concurrent.Executor;
import javax.inject.Provider;
@@ -67,16 +68,17 @@ public class TestSingletonApp extends Application implements TvSingletons {
public DvrDataManager mDvrDataManager;
private final Provider<EpgReader> mEpgReaderProvider = SingletonProvider.create(epgReader);
- private TunerInputController mTunerInputController;
+ private Optional<TunerInputController> mOptionalTunerInputController;
private PerformanceMonitor mPerformanceMonitor;
private ChannelDataManager mChannelDataManager;
@Override
public void onCreate() {
super.onCreate();
- mTunerInputController =
- new TunerInputControllerImpl(
- ComponentName.unflattenFromString(getEmbeddedTunerInputId()));
+ mOptionalTunerInputController =
+ Optional.of(
+ new TunerInputControllerImpl(
+ ComponentName.unflattenFromString(getEmbeddedTunerInputId())));
tvInputManagerHelper = new FakeTvInputManagerHelper(this);
setupUtils = SetupUtils.createForTvSingletons(this);
@@ -184,8 +186,8 @@ public class TestSingletonApp extends Application implements TvSingletons {
}
@Override
- public TunerInputController getTunerInputController() {
- return mTunerInputController;
+ public Optional<TunerInputController> getTunerInputController() {
+ return mOptionalTunerInputController;
}
@Override
diff --git a/tests/unit/src/com/android/tv/util/MockTvSingletons.java b/tests/unit/src/com/android/tv/util/MockTvSingletons.java
index 655bc90b..01579a26 100644
--- a/tests/unit/src/com/android/tv/util/MockTvSingletons.java
+++ b/tests/unit/src/com/android/tv/util/MockTvSingletons.java
@@ -41,6 +41,7 @@ import com.android.tv.dvr.recorder.RecordingScheduler;
import com.android.tv.perf.PerformanceMonitor;
import com.android.tv.testing.FakeClock;
import com.android.tv.tunerinputcontroller.TunerInputController;
+import com.google.common.base.Optional;
import java.util.concurrent.Executor;
import javax.inject.Provider;
@@ -154,7 +155,7 @@ public class MockTvSingletons implements TvSingletons {
}
@Override
- public TunerInputController getTunerInputController() {
+ public Optional<TunerInputController> getTunerInputController() {
return mApp.getTunerInputController();
}