Merge "Add dagger to the rest of the make files"
diff --git a/src/com/android/tv/app/LiveTvApplication.java b/src/com/android/tv/app/LiveTvApplication.java
index 7ccbebd..450b9a5 100644
--- a/src/com/android/tv/app/LiveTvApplication.java
+++ b/src/com/android/tv/app/LiveTvApplication.java
@@ -16,6 +16,7 @@
package com.android.tv.app;
+import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import com.android.tv.TvActivity;
@@ -41,15 +42,22 @@
import com.android.tv.util.account.AccountHelper;
import com.android.tv.util.account.AccountHelperImpl;
import com.google.common.base.Optional;
+import dagger.android.AndroidInjector;
+import dagger.android.DispatchingAndroidInjector;
+import dagger.android.HasActivityInjector;
+import javax.inject.Inject;
import javax.inject.Provider;
/** The top level application for Live TV. */
-public class LiveTvApplication extends TvApplication implements HasSingletons<TvSingletons> {
+public class LiveTvApplication extends TvApplication
+ implements HasSingletons<TvSingletons>, HasActivityInjector {
static {
PERFORMANCE_MONITOR_MANAGER.getStartupMeasure().onAppClassLoaded();
}
+ @Inject DispatchingAndroidInjector<Activity> mDispatchingActivityInjector;
+
private final Provider<EpgReader> mEpgReaderProvider =
new Provider<EpgReader>() {
@@ -168,4 +176,9 @@
public TvSingletons singletons() {
return this;
}
+
+ @Override
+ public AndroidInjector<Activity> activityInjector() {
+ return mDispatchingActivityInjector;
+ }
}
diff --git a/tuner/SampleDvbTuner/src/com/android/tv/tuner/sample/dvb/app/SampleDvbTuner.java b/tuner/SampleDvbTuner/src/com/android/tv/tuner/sample/dvb/app/SampleDvbTuner.java
index aa2a48e..4f2f665 100644
--- a/tuner/SampleDvbTuner/src/com/android/tv/tuner/sample/dvb/app/SampleDvbTuner.java
+++ b/tuner/SampleDvbTuner/src/com/android/tv/tuner/sample/dvb/app/SampleDvbTuner.java
@@ -24,11 +24,14 @@
import com.android.tv.common.actions.InputSetupActionUtils;
import com.android.tv.common.flags.impl.DefaultCloudEpgFlags;
import com.android.tv.common.flags.impl.DefaultConcurrentDvrPlaybackFlags;
+import com.android.tv.common.flags.impl.DefaultExoplayer2Flags;
import com.android.tv.common.singletons.HasSingletons;
import com.android.tv.common.util.CommonUtils;
import com.android.tv.tuner.sample.dvb.singletons.SampleDvbSingletons;
import com.android.tv.tuner.sample.dvb.tvinput.SampleDvbTunerTvInputService;
import com.android.tv.tuner.setup.LiveTvTunerSetupActivity;
+import com.android.tv.tuner.tvinput.factory.TunerSessionFactory;
+import com.android.tv.tuner.tvinput.factory.TunerSessionFactoryImpl;
/** The top level application for Sample DVB Tuner. */
public class SampleDvbTuner extends BaseApplication
@@ -37,6 +40,9 @@
private final DefaultCloudEpgFlags mCloudEpgFlags = new DefaultCloudEpgFlags();
private final DefaultConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags =
new DefaultConcurrentDvrPlaybackFlags();
+ private final DefaultExoplayer2Flags mExoplayer2Flags = new DefaultExoplayer2Flags();
+ private final TunerSessionFactoryImpl mTunerSessionFactory =
+ new TunerSessionFactoryImpl(mExoplayer2Flags, mConcurrentDvrPlaybackFlags);
@Override
public Intent getTunerSetupIntent(Context context) {
@@ -77,4 +83,9 @@
public SampleDvbSingletons singletons() {
return this;
}
+
+ @Override
+ public TunerSessionFactory getTunerSessionFactory() {
+ return mTunerSessionFactory;
+ }
}
diff --git a/tuner/SampleNetworkTuner/src/com/android/tv/tuner/sample/network/app/SampleNetworkTuner.java b/tuner/SampleNetworkTuner/src/com/android/tv/tuner/sample/network/app/SampleNetworkTuner.java
index 1bcb255..82b40ff 100644
--- a/tuner/SampleNetworkTuner/src/com/android/tv/tuner/sample/network/app/SampleNetworkTuner.java
+++ b/tuner/SampleNetworkTuner/src/com/android/tv/tuner/sample/network/app/SampleNetworkTuner.java
@@ -24,11 +24,14 @@
import com.android.tv.common.actions.InputSetupActionUtils;
import com.android.tv.common.flags.impl.DefaultCloudEpgFlags;
import com.android.tv.common.flags.impl.DefaultConcurrentDvrPlaybackFlags;
+import com.android.tv.common.flags.impl.DefaultExoplayer2Flags;
import com.android.tv.common.singletons.HasSingletons;
import com.android.tv.common.util.CommonUtils;
import com.android.tv.tuner.sample.network.singletons.SampleNetworkSingletons;
import com.android.tv.tuner.sample.network.tvinput.SampleNetworkTunerTvInputService;
import com.android.tv.tuner.setup.LiveTvTunerSetupActivity;
+import com.android.tv.tuner.tvinput.factory.TunerSessionFactory;
+import com.android.tv.tuner.tvinput.factory.TunerSessionFactoryImpl;
/** The top level application for Sample DVB Tuner. */
public class SampleNetworkTuner extends BaseApplication
@@ -37,6 +40,9 @@
private final DefaultCloudEpgFlags mCloudEpgFlags = new DefaultCloudEpgFlags();
private final DefaultConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags =
new DefaultConcurrentDvrPlaybackFlags();
+ private final DefaultExoplayer2Flags mExoplayer2Flags = new DefaultExoplayer2Flags();
+ private final TunerSessionFactoryImpl mTunerSessionFactory =
+ new TunerSessionFactoryImpl(mExoplayer2Flags, mConcurrentDvrPlaybackFlags);
@Override
public Intent getTunerSetupIntent(Context context) {
@@ -77,4 +83,9 @@
public SampleNetworkSingletons singletons() {
return this;
}
+
+ @Override
+ public TunerSessionFactory getTunerSessionFactory() {
+ return mTunerSessionFactory;
+ }
}
diff --git a/tuner/src/com/android/tv/tuner/singletons/TunerSingletons.java b/tuner/src/com/android/tv/tuner/singletons/TunerSingletons.java
index 48b17dc..abaebf3 100644
--- a/tuner/src/com/android/tv/tuner/singletons/TunerSingletons.java
+++ b/tuner/src/com/android/tv/tuner/singletons/TunerSingletons.java
@@ -16,6 +16,7 @@
package com.android.tv.tuner.singletons;
import com.android.tv.common.singletons.HasTvInputId;
+import com.android.tv.tuner.tvinput.factory.TunerSessionFactory;
/** Singletons used in tuner applications */
-public interface TunerSingletons extends HasTvInputId {}
+public interface TunerSingletons extends HasTvInputId, TunerSessionFactory.HasTunerSessionFactory {}