Extend generated factories.
So other packages don't need to know the name of the generated factory.
PiperOrigin-RevId: 231871231
Change-Id: I19c100a957b25fcc0bb044fb495c0e9fd4da08df
diff --git a/tests/common/src/com/android/tv/testing/TestSingletonApp.java b/tests/common/src/com/android/tv/testing/TestSingletonApp.java
index 86a2a2d..74fc192 100644
--- a/tests/common/src/com/android/tv/testing/TestSingletonApp.java
+++ b/tests/common/src/com/android/tv/testing/TestSingletonApp.java
@@ -49,7 +49,7 @@
import com.android.tv.testing.dvr.DvrDataManagerInMemoryImpl;
import com.android.tv.testing.testdata.TestData;
import com.android.tv.tuner.singletons.TunerSingletons;
-import com.android.tv.tuner.source.TsDataSourceManagerFactory;
+import com.android.tv.tuner.source.TsDataSourceManager;
import com.android.tv.tuner.source.TunerTsStreamerManager;
import com.android.tv.tuner.tvinput.factory.TunerSessionFactory;
import com.android.tv.tuner.tvinput.factory.TunerSessionFactoryImpl;
@@ -80,8 +80,8 @@
private final DefaultUiFlags mUiFlags = new DefaultUiFlags();
private final DefaultConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags =
new DefaultConcurrentDvrPlaybackFlags();
- private final TsDataSourceManagerFactory mTsDataSourceManagerFactory =
- new TsDataSourceManagerFactory(() -> new TunerTsStreamerManager(null));
+ private final TsDataSourceManager.Factory mTsDataSourceManagerFactory =
+ new TsDataSourceManager.Factory(() -> new TunerTsStreamerManager(null));
private final TunerSessionFactoryImpl mTunerSessionFactory =
new TunerSessionFactoryImpl(
new DefaultExoplayer2Flags(),
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 5a46a96..568e3c9 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
@@ -19,17 +19,15 @@
import android.content.ComponentName;
import android.media.tv.TvContract;
import com.android.tv.common.BaseApplication;
-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.tuner.modules.TunerSingletonsModule;
import com.android.tv.tuner.sample.dvb.singletons.SampleDvbSingletons;
import com.android.tv.tuner.sample.dvb.tvinput.SampleDvbTunerTvInputService;
import com.android.tv.tuner.tvinput.factory.TunerSessionFactory;
import com.android.tv.tuner.tvinput.factory.TunerSessionFactoryImpl;
-import com.android.tv.tuner.tvinput.factory.TunerSessionFactoryImplFactory;
import dagger.android.AndroidInjector;
+import com.android.tv.common.flags.CloudEpgFlags;
+import com.android.tv.common.flags.ConcurrentDvrPlaybackFlags;
import javax.inject.Inject;
/** The top level application for Sample DVB Tuner. */
@@ -37,19 +35,13 @@
implements SampleDvbSingletons, HasSingletons<SampleDvbSingletons> {
private String mEmbeddedInputId;
- private final DefaultCloudEpgFlags mCloudEpgFlags = new DefaultCloudEpgFlags();
- private final DefaultConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags =
- new DefaultConcurrentDvrPlaybackFlags();
- private final DefaultExoplayer2Flags mExoplayer2Flags = new DefaultExoplayer2Flags();
- @Inject TunerSessionFactoryImplFactory mTunerSessionFactoryImplFactory;
- private TunerSessionFactoryImpl mTunerSessionFactory;
+ @Inject CloudEpgFlags mCloudEpgFlags;
+ @Inject ConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags;
+ @Inject TunerSessionFactoryImpl mTunerSessionFactory;
@Override
public void onCreate() {
super.onCreate();
- mTunerSessionFactory =
- mTunerSessionFactoryImplFactory.create(
- mExoplayer2Flags, mConcurrentDvrPlaybackFlags);
}
@Override
@@ -71,7 +63,7 @@
}
@Override
- public DefaultCloudEpgFlags getCloudEpgFlags() {
+ public CloudEpgFlags getCloudEpgFlags() {
return mCloudEpgFlags;
}
@@ -81,7 +73,7 @@
}
@Override
- public DefaultConcurrentDvrPlaybackFlags getConcurrentDvrPlaybackFlags() {
+ public ConcurrentDvrPlaybackFlags getConcurrentDvrPlaybackFlags() {
return mConcurrentDvrPlaybackFlags;
}
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 cdf5865..eb5b2ad 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
@@ -19,17 +19,15 @@
import android.content.ComponentName;
import android.media.tv.TvContract;
import com.android.tv.common.BaseApplication;
-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.tuner.modules.TunerSingletonsModule;
import com.android.tv.tuner.sample.network.singletons.SampleNetworkSingletons;
import com.android.tv.tuner.sample.network.tvinput.SampleNetworkTunerTvInputService;
import com.android.tv.tuner.tvinput.factory.TunerSessionFactory;
import com.android.tv.tuner.tvinput.factory.TunerSessionFactoryImpl;
-import com.android.tv.tuner.tvinput.factory.TunerSessionFactoryImplFactory;
import dagger.android.AndroidInjector;
+import com.android.tv.common.flags.CloudEpgFlags;
+import com.android.tv.common.flags.ConcurrentDvrPlaybackFlags;
import javax.inject.Inject;
/** The top level application for Sample DVB Tuner. */
@@ -37,19 +35,13 @@
implements SampleNetworkSingletons, HasSingletons<SampleNetworkSingletons> {
private String mEmbeddedInputId;
- private final DefaultCloudEpgFlags mCloudEpgFlags = new DefaultCloudEpgFlags();
- private final DefaultConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags =
- new DefaultConcurrentDvrPlaybackFlags();
- private final DefaultExoplayer2Flags mExoplayer2Flags = new DefaultExoplayer2Flags();
- @Inject TunerSessionFactoryImplFactory mTunerSessionFactoryImplFactory;
- private TunerSessionFactoryImpl mTunerSessionFactory;
+ @Inject CloudEpgFlags mCloudEpgFlags;
+ @Inject ConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags;
+ @Inject TunerSessionFactoryImpl mTunerSessionFactory;
@Override
public void onCreate() {
super.onCreate();
- mTunerSessionFactory =
- mTunerSessionFactoryImplFactory.create(
- mExoplayer2Flags, mConcurrentDvrPlaybackFlags);
}
@Override
@@ -71,7 +63,7 @@
}
@Override
- public DefaultCloudEpgFlags getCloudEpgFlags() {
+ public CloudEpgFlags getCloudEpgFlags() {
return mCloudEpgFlags;
}
@@ -81,7 +73,7 @@
}
@Override
- public DefaultConcurrentDvrPlaybackFlags getConcurrentDvrPlaybackFlags() {
+ public ConcurrentDvrPlaybackFlags getConcurrentDvrPlaybackFlags() {
return mConcurrentDvrPlaybackFlags;
}
diff --git a/tuner/src/com/android/tv/tuner/source/TsDataSourceManager.java b/tuner/src/com/android/tv/tuner/source/TsDataSourceManager.java
index 2167930..28756a9 100644
--- a/tuner/src/com/android/tv/tuner/source/TsDataSourceManager.java
+++ b/tuner/src/com/android/tv/tuner/source/TsDataSourceManager.java
@@ -27,6 +27,8 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
+import javax.inject.Inject;
+import javax.inject.Provider;
/**
* Manages {@link TsDataSource} for playback and recording. The class hides handling of {@link
@@ -45,6 +47,25 @@
private boolean mKeepTuneStatus;
+ /**
+ * Factory for {@link }TsDataSourceManager}.
+ *
+ * <p>This wrapper class keeps other classes from needing to reference the {@link AutoFactory}
+ * generated class.
+ */
+ public static final class Factory {
+ private final TsDataSourceManagerFactory mDelegate;
+
+ @Inject
+ public Factory(Provider<TunerTsStreamerManager> tunerStreamerManagerProvider) {
+ mDelegate = new TsDataSourceManagerFactory(tunerStreamerManagerProvider);
+ }
+
+ public TsDataSourceManager create(boolean isRecording) {
+ return mDelegate.create(isRecording);
+ }
+ }
+
TsDataSourceManager(
boolean isRecording, @Provided TunerTsStreamerManager tunerStreamerManager) {
mIsRecording = isRecording;
diff --git a/tuner/src/com/android/tv/tuner/tvinput/BaseTunerTvInputService.java b/tuner/src/com/android/tv/tuner/tvinput/BaseTunerTvInputService.java
index fb8eeb7..d22b639 100644
--- a/tuner/src/com/android/tv/tuner/tvinput/BaseTunerTvInputService.java
+++ b/tuner/src/com/android/tv/tuner/tvinput/BaseTunerTvInputService.java
@@ -23,8 +23,7 @@
import android.media.tv.TvInputService;
import android.util.Log;
import com.android.tv.common.feature.CommonFeatures;
-import com.android.tv.common.flags.has.HasConcurrentDvrPlaybackFlags;
-import com.android.tv.tuner.source.TsDataSourceManagerFactory;
+import com.android.tv.tuner.source.TsDataSourceManager;
import com.android.tv.tuner.tvinput.datamanager.ChannelDataManager;
import com.android.tv.tuner.tvinput.factory.TunerSessionFactory;
import dagger.android.AndroidInjection;
@@ -44,8 +43,8 @@
private final Set<Session> mTunerSessions = Collections.newSetFromMap(new WeakHashMap<>());
private ChannelDataManager mChannelDataManager;
- private ConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags;
- @Inject TsDataSourceManagerFactory mTsDataSourceManagerFactory;
+ @Inject ConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags;
+ @Inject TsDataSourceManager.Factory mTsDataSourceManagerFactory;
@Inject TunerSessionFactory mTunerSessionFactory;
@Override
@@ -59,8 +58,6 @@
super.onCreate();
if (DEBUG) Log.d(TAG, "onCreate");
mChannelDataManager = new ChannelDataManager(getApplicationContext());
- mConcurrentDvrPlaybackFlags =
- HasConcurrentDvrPlaybackFlags.fromContext(getApplicationContext());
if (CommonFeatures.DVR.isEnabled(this)) {
JobScheduler jobScheduler =
(JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
diff --git a/tuner/src/com/android/tv/tuner/tvinput/TunerRecordingSession.java b/tuner/src/com/android/tv/tuner/tvinput/TunerRecordingSession.java
index 92e896a..5561693 100644
--- a/tuner/src/com/android/tv/tuner/tvinput/TunerRecordingSession.java
+++ b/tuner/src/com/android/tv/tuner/tvinput/TunerRecordingSession.java
@@ -23,7 +23,7 @@
import android.support.annotation.WorkerThread;
import android.util.Log;
import com.android.tv.common.compat.RecordingSessionCompat;
-import com.android.tv.tuner.source.TsDataSourceManagerFactory;
+import com.android.tv.tuner.source.TsDataSourceManager;
import com.android.tv.tuner.tvinput.datamanager.ChannelDataManager;
import com.android.tv.common.flags.ConcurrentDvrPlaybackFlags;
@@ -39,7 +39,7 @@
String inputId,
ChannelDataManager channelDataManager,
ConcurrentDvrPlaybackFlags concurrentDvrPlaybackFlags,
- TsDataSourceManagerFactory tsDataSourceManagerFactory) {
+ TsDataSourceManager.Factory tsDataSourceManagerFactory) {
super(context);
mSessionWorker =
new TunerRecordingSessionWorker(
diff --git a/tuner/src/com/android/tv/tuner/tvinput/TunerRecordingSessionWorker.java b/tuner/src/com/android/tv/tuner/tvinput/TunerRecordingSessionWorker.java
index 91029a9..2c0c09a 100644
--- a/tuner/src/com/android/tv/tuner/tvinput/TunerRecordingSessionWorker.java
+++ b/tuner/src/com/android/tv/tuner/tvinput/TunerRecordingSessionWorker.java
@@ -55,7 +55,6 @@
import com.android.tv.tuner.exoplayer.buffer.PlaybackBufferListener;
import com.android.tv.tuner.source.TsDataSource;
import com.android.tv.tuner.source.TsDataSourceManager;
-import com.android.tv.tuner.source.TsDataSourceManagerFactory;
import com.android.tv.tuner.ts.EventDetector.EventListener;
import com.android.tv.tuner.tvinput.datamanager.ChannelDataManager;
import com.google.android.exoplayer.C;
@@ -176,7 +175,7 @@
ChannelDataManager dataManager,
TunerRecordingSession session,
ConcurrentDvrPlaybackFlags concurrentDvrPlaybackFlags,
- TsDataSourceManagerFactory tsDataSourceManagerFactory) {
+ TsDataSourceManager.Factory tsDataSourceManagerFactory) {
mConcurrentDvrPlaybackFlags = concurrentDvrPlaybackFlags;
mRandom.setSeed(System.nanoTime());
mContext = context;
diff --git a/tuner/src/com/android/tv/tuner/tvinput/TunerSession.java b/tuner/src/com/android/tv/tuner/tvinput/TunerSession.java
index c456683..fedb5f6 100644
--- a/tuner/src/com/android/tv/tuner/tvinput/TunerSession.java
+++ b/tuner/src/com/android/tv/tuner/tvinput/TunerSession.java
@@ -30,7 +30,7 @@
import com.android.tv.common.CommonPreferences.CommonPreferencesChangedListener;
import com.android.tv.common.compat.TisSessionCompat;
import com.android.tv.tuner.prefs.TunerPreferences;
-import com.android.tv.tuner.source.TsDataSourceManagerFactory;
+import com.android.tv.tuner.source.TsDataSourceManager;
import com.android.tv.tuner.tvinput.datamanager.ChannelDataManager;
import com.android.tv.tuner.tvinput.factory.TunerSessionFactory.SessionReleasedCallback;
import com.android.tv.common.flags.ConcurrentDvrPlaybackFlags;
@@ -55,7 +55,7 @@
ChannelDataManager channelDataManager,
SessionReleasedCallback releasedCallback,
ConcurrentDvrPlaybackFlags concurrentDvrPlaybackFlags,
- TsDataSourceManagerFactory tsDataSourceManagerFactory) {
+ TsDataSourceManager.Factory tsDataSourceManagerFactory) {
super(context);
mReleasedCallback = releasedCallback;
mTunerSessionOverlay = new TunerSessionOverlay(context);
diff --git a/tuner/src/com/android/tv/tuner/tvinput/TunerSessionExoV2.java b/tuner/src/com/android/tv/tuner/tvinput/TunerSessionExoV2.java
index 392e03a..4eca44d 100644
--- a/tuner/src/com/android/tv/tuner/tvinput/TunerSessionExoV2.java
+++ b/tuner/src/com/android/tv/tuner/tvinput/TunerSessionExoV2.java
@@ -30,7 +30,7 @@
import com.android.tv.common.CommonPreferences.CommonPreferencesChangedListener;
import com.android.tv.common.compat.TisSessionCompat;
import com.android.tv.tuner.prefs.TunerPreferences;
-import com.android.tv.tuner.source.TsDataSourceManagerFactory;
+import com.android.tv.tuner.source.TsDataSourceManager;
import com.android.tv.tuner.tvinput.datamanager.ChannelDataManager;
import com.android.tv.tuner.tvinput.factory.TunerSessionFactory.SessionReleasedCallback;
import com.android.tv.common.flags.ConcurrentDvrPlaybackFlags;
@@ -53,7 +53,7 @@
ChannelDataManager channelDataManager,
SessionReleasedCallback releasedCallback,
ConcurrentDvrPlaybackFlags concurrentDvrPlaybackFlags,
- TsDataSourceManagerFactory tsDataSourceManagerFactory) {
+ TsDataSourceManager.Factory tsDataSourceManagerFactory) {
super(context);
mReleasedCallback = releasedCallback;
mTunerSessionOverlay = new TunerSessionOverlay(context);
diff --git a/tuner/src/com/android/tv/tuner/tvinput/TunerSessionWorker.java b/tuner/src/com/android/tv/tuner/tvinput/TunerSessionWorker.java
index 976afb1..d3f9409 100644
--- a/tuner/src/com/android/tv/tuner/tvinput/TunerSessionWorker.java
+++ b/tuner/src/com/android/tv/tuner/tvinput/TunerSessionWorker.java
@@ -70,7 +70,6 @@
import com.android.tv.tuner.prefs.TunerPreferences;
import com.android.tv.tuner.source.TsDataSource;
import com.android.tv.tuner.source.TsDataSourceManager;
-import com.android.tv.tuner.source.TsDataSourceManagerFactory;
import com.android.tv.tuner.ts.EventDetector.EventListener;
import com.android.tv.tuner.tvinput.datamanager.ChannelDataManager;
import com.android.tv.tuner.tvinput.debug.TunerDebug;
@@ -243,7 +242,7 @@
TunerSession tunerSession,
TunerSessionOverlay tunerSessionOverlay,
ConcurrentDvrPlaybackFlags concurrentDvrPlaybackFlags,
- TsDataSourceManagerFactory tsDataSourceManagerFactory) {
+ TsDataSourceManager.Factory tsDataSourceManagerFactory) {
this(
context,
channelDataManager,
@@ -262,7 +261,7 @@
TunerSessionOverlay tunerSessionOverlay,
@Nullable Handler handler,
ConcurrentDvrPlaybackFlags concurrentDvrPlaybackFlags,
- TsDataSourceManagerFactory tsDataSourceManagerFactory) {
+ TsDataSourceManager.Factory tsDataSourceManagerFactory) {
this.mConcurrentDvrPlaybackFlags = concurrentDvrPlaybackFlags;
if (DEBUG) Log.d(TAG, "TunerSessionWorker created");
mContext = context;
diff --git a/tuner/src/com/android/tv/tuner/tvinput/TunerSessionWorkerExoV2.java b/tuner/src/com/android/tv/tuner/tvinput/TunerSessionWorkerExoV2.java
index 17d9c41..82afff1 100644
--- a/tuner/src/com/android/tv/tuner/tvinput/TunerSessionWorkerExoV2.java
+++ b/tuner/src/com/android/tv/tuner/tvinput/TunerSessionWorkerExoV2.java
@@ -70,7 +70,6 @@
import com.android.tv.tuner.prefs.TunerPreferences;
import com.android.tv.tuner.source.TsDataSource;
import com.android.tv.tuner.source.TsDataSourceManager;
-import com.android.tv.tuner.source.TsDataSourceManagerFactory;
import com.android.tv.tuner.ts.EventDetector.EventListener;
import com.android.tv.tuner.tvinput.datamanager.ChannelDataManager;
import com.android.tv.tuner.tvinput.debug.TunerDebug;
@@ -242,7 +241,7 @@
TunerSessionExoV2 tunerSession,
TunerSessionOverlay tunerSessionOverlay,
ConcurrentDvrPlaybackFlags concurrentDvrPlaybackFlags,
- TsDataSourceManagerFactory tsDataSourceManagerFactory) {
+ TsDataSourceManager.Factory tsDataSourceManagerFactory) {
this(
context,
channelDataManager,
@@ -261,7 +260,7 @@
TunerSessionOverlay tunerSessionOverlay,
@Nullable Handler handler,
ConcurrentDvrPlaybackFlags concurrentDvrPlaybackFlags,
- TsDataSourceManagerFactory tsDataSourceManagerFactory) {
+ TsDataSourceManager.Factory tsDataSourceManagerFactory) {
mConcurrentDvrPlaybackFlags = concurrentDvrPlaybackFlags;
if (DEBUG) {
Log.d(TAG, "TunerSessionWorkerExoV2 created");
diff --git a/tuner/src/com/android/tv/tuner/tvinput/factory/TunerSessionFactoryImpl.java b/tuner/src/com/android/tv/tuner/tvinput/factory/TunerSessionFactoryImpl.java
index 3da3030..6617995 100644
--- a/tuner/src/com/android/tv/tuner/tvinput/factory/TunerSessionFactoryImpl.java
+++ b/tuner/src/com/android/tv/tuner/tvinput/factory/TunerSessionFactoryImpl.java
@@ -2,26 +2,26 @@
import android.content.Context;
import android.media.tv.TvInputService.Session;
-import com.android.tv.tuner.source.TsDataSourceManagerFactory;
+import com.android.tv.tuner.source.TsDataSourceManager;
import com.android.tv.tuner.tvinput.TunerSession;
import com.android.tv.tuner.tvinput.TunerSessionExoV2;
import com.android.tv.tuner.tvinput.datamanager.ChannelDataManager;
-import com.google.auto.factory.AutoFactory;
-import com.google.auto.factory.Provided;
import com.android.tv.common.flags.ConcurrentDvrPlaybackFlags;
import com.android.tv.common.flags.Exoplayer2Flags;
+import javax.inject.Inject;
/** Creates a {@link TunerSessionFactory}. */
-@AutoFactory
public class TunerSessionFactoryImpl implements TunerSessionFactory {
+
private final Exoplayer2Flags mExoplayer2Flags;
private final ConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags;
- private final TsDataSourceManagerFactory mTsDataSourceManagerFactory;
+ private final TsDataSourceManager.Factory mTsDataSourceManagerFactory;
+ @Inject
public TunerSessionFactoryImpl(
Exoplayer2Flags exoplayer2Flags,
ConcurrentDvrPlaybackFlags concurrentDvrPlaybackFlags,
- @Provided TsDataSourceManagerFactory tsDataSourceManagerFactory) {
+ TsDataSourceManager.Factory tsDataSourceManagerFactory) {
mExoplayer2Flags = exoplayer2Flags;
mConcurrentDvrPlaybackFlags = concurrentDvrPlaybackFlags;
mTsDataSourceManagerFactory = tsDataSourceManagerFactory;