Have BaseApplication extend DaggerAppliction

BUGi=121342631
PiperOrigin-RevId: 226926567
Change-Id: I1d218b3475644ca079338b40abc6ced12a350d79
diff --git a/common/src/com/android/tv/common/BaseApplication.java b/common/src/com/android/tv/common/BaseApplication.java
index 566bd25..871e461 100644
--- a/common/src/com/android/tv/common/BaseApplication.java
+++ b/common/src/com/android/tv/common/BaseApplication.java
@@ -17,7 +17,6 @@
 package com.android.tv.common;
 
 import android.annotation.TargetApi;
-import android.app.Application;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Build;
@@ -29,9 +28,10 @@
 import com.android.tv.common.util.CommonUtils;
 import com.android.tv.common.util.Debug;
 import com.android.tv.common.util.SystemProperties;
+import dagger.android.DaggerApplication;
 
 /** The base application class for Live TV applications. */
-public abstract class BaseApplication extends Application implements BaseSingletons {
+public abstract class BaseApplication extends DaggerApplication implements BaseSingletons {
     private RecordingStorageStatusManager mRecordingStorageStatusManager;
 
     /**
diff --git a/src/com/android/tv/app/LiveTvApplication.java b/src/com/android/tv/app/LiveTvApplication.java
index 450b9a5..abaf6e8 100644
--- a/src/com/android/tv/app/LiveTvApplication.java
+++ b/src/com/android/tv/app/LiveTvApplication.java
@@ -16,7 +16,6 @@
 
 package com.android.tv.app;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import com.android.tv.TvActivity;
@@ -43,21 +42,15 @@
 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>, HasActivityInjector {
+public class LiveTvApplication extends TvApplication implements HasSingletons<TvSingletons> {
 
     static {
         PERFORMANCE_MONITOR_MANAGER.getStartupMeasure().onAppClassLoaded();
     }
 
-  @Inject DispatchingAndroidInjector<Activity> mDispatchingActivityInjector;
-
     private final Provider<EpgReader> mEpgReaderProvider =
             new Provider<EpgReader>() {
 
@@ -79,12 +72,15 @@
     private PerformanceMonitor mPerformanceMonitor;
 
     @Override
+    protected AndroidInjector<LiveTvApplication> applicationInjector() {
+        return DaggerLiveTvApplicationComponent.builder()
+                .tvSingletonsModule(new TvSingletonsModule(this))
+                .build();
+    }
+
+    @Override
     public void onCreate() {
         super.onCreate();
-        DaggerLiveTvApplicationComponent.builder()
-                .tvSingletonsModule(new TvSingletonsModule(this))
-                .build()
-                .inject(this);
         PERFORMANCE_MONITOR_MANAGER.getStartupMeasure().onAppCreate(this);
     }
 
@@ -176,9 +172,4 @@
     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 336c2c9..bbb6779 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
@@ -16,7 +16,6 @@
 
 package com.android.tv.tuner.sample.dvb.app;
 
-import android.app.Activity;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -35,15 +34,10 @@
 import com.android.tv.tuner.tvinput.factory.TunerSessionFactory;
 import com.android.tv.tuner.tvinput.factory.TunerSessionFactoryImpl;
 import dagger.android.AndroidInjector;
-import dagger.android.DispatchingAndroidInjector;
-import dagger.android.HasActivityInjector;
-import javax.inject.Inject;
 
 /** The top level application for Sample DVB Tuner. */
 public class SampleDvbTuner extends BaseApplication
-        implements SampleDvbSingletons, HasSingletons<SampleDvbSingletons>, HasActivityInjector {
-
-    @Inject DispatchingAndroidInjector<Activity> mDispatchingActivityInjector;
+        implements SampleDvbSingletons, HasSingletons<SampleDvbSingletons> {
 
     private String mEmbeddedInputId;
     private final DefaultCloudEpgFlags mCloudEpgFlags = new DefaultCloudEpgFlags();
@@ -54,12 +48,10 @@
             new TunerSessionFactoryImpl(mExoplayer2Flags, mConcurrentDvrPlaybackFlags);
 
     @Override
-    public void onCreate() {
-        super.onCreate();
-        DaggerSampleDvbTunerComponent.builder()
+    protected AndroidInjector<SampleDvbTuner> applicationInjector() {
+        return DaggerSampleDvbTunerComponent.builder()
                 .tunerSingletonsModule(new TunerSingletonsModule(this))
-                .build()
-                .inject(this);
+                .build();
     }
 
     @Override
@@ -106,9 +98,4 @@
     public TunerSessionFactory getTunerSessionFactory() {
         return mTunerSessionFactory;
     }
-
-    @Override
-    public AndroidInjector<Activity> activityInjector() {
-        return mDispatchingActivityInjector;
-    }
 }
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 a35530c..5eb44e9 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
@@ -16,7 +16,6 @@
 
 package com.android.tv.tuner.sample.network.app;
 
-import android.app.Activity;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -35,17 +34,10 @@
 import com.android.tv.tuner.tvinput.factory.TunerSessionFactory;
 import com.android.tv.tuner.tvinput.factory.TunerSessionFactoryImpl;
 import dagger.android.AndroidInjector;
-import dagger.android.DispatchingAndroidInjector;
-import dagger.android.HasActivityInjector;
-import javax.inject.Inject;
 
 /** The top level application for Sample DVB Tuner. */
 public class SampleNetworkTuner extends BaseApplication
-        implements SampleNetworkSingletons,
-                HasSingletons<SampleNetworkSingletons>,
-                HasActivityInjector {
-
-    @Inject DispatchingAndroidInjector<Activity> mDispatchingActivityInjector;
+        implements SampleNetworkSingletons, HasSingletons<SampleNetworkSingletons> {
 
     private String mEmbeddedInputId;
     private final DefaultCloudEpgFlags mCloudEpgFlags = new DefaultCloudEpgFlags();
@@ -56,12 +48,10 @@
             new TunerSessionFactoryImpl(mExoplayer2Flags, mConcurrentDvrPlaybackFlags);
 
     @Override
-    public void onCreate() {
-        super.onCreate();
-        DaggerSampleNetworkTunerComponent.builder()
+    protected AndroidInjector<SampleNetworkTuner> applicationInjector() {
+        return DaggerSampleNetworkTunerComponent.builder()
                 .tunerSingletonsModule(new TunerSingletonsModule(this))
-                .build()
-                .inject(this);
+                .build();
     }
 
     @Override
@@ -108,9 +98,4 @@
     public TunerSessionFactory getTunerSessionFactory() {
         return mTunerSessionFactory;
     }
-
-    @Override
-    public AndroidInjector<Activity> activityInjector() {
-        return mDispatchingActivityInjector;
-    }
 }