aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv
diff options
context:
space:
mode:
authorNick Chalko <nchalko@google.com>2019-07-08 13:10:17 -0700
committerCopybara-Service <copybara-worker@google.com>2019-07-24 10:47:15 -0700
commit5f4c53783679c8e81d75f082965244e48fc6832e (patch)
tree49d574d4b09f66a67cd139975bcd0ab992cfb91d /src/com/android/tv
parent0df30f7f9f522ac1934110cea09d2ec9f66ae281 (diff)
downloadTV-5f4c53783679c8e81d75f082965244e48fc6832e.tar.gz
Inject SetupSourcesFragment.ContentFragment
PiperOrigin-RevId: 257040623 Change-Id: Id7d9d45453ec084dcd039f4ed661d76c1afa6c2d
Diffstat (limited to 'src/com/android/tv')
-rw-r--r--src/com/android/tv/modules/TvApplicationModule.java2
-rw-r--r--src/com/android/tv/onboarding/SetupSourcesFragment.java61
-rw-r--r--src/com/android/tv/setup/SystemSetupActivity.java4
3 files changed, 44 insertions, 23 deletions
diff --git a/src/com/android/tv/modules/TvApplicationModule.java b/src/com/android/tv/modules/TvApplicationModule.java
index 3e7d901f..99753d1e 100644
--- a/src/com/android/tv/modules/TvApplicationModule.java
+++ b/src/com/android/tv/modules/TvApplicationModule.java
@@ -35,6 +35,7 @@ import com.android.tv.dvr.DvrDataManagerImpl;
import com.android.tv.dvr.WritableDvrDataManager;
import com.android.tv.dvr.ui.playback.DvrPlaybackActivity;
import com.android.tv.onboarding.OnboardingActivity;
+import com.android.tv.onboarding.SetupSourcesFragment;
import com.android.tv.setup.SystemSetupActivity;
import com.android.tv.ui.DetailsActivity;
import com.android.tv.util.AsyncDbTask;
@@ -62,6 +63,7 @@ import javax.inject.Singleton;
MainActivity.Module.class,
OnboardingActivity.Module.class,
SetupPassthroughActivity.Module.class,
+ SetupSourcesFragment.ContentFragment.Module.class,
SystemSetupActivity.Module.class,
TvSingletonsModule.class,
})
diff --git a/src/com/android/tv/onboarding/SetupSourcesFragment.java b/src/com/android/tv/onboarding/SetupSourcesFragment.java
index bf842dd8..2b0a736c 100644
--- a/src/com/android/tv/onboarding/SetupSourcesFragment.java
+++ b/src/com/android/tv/onboarding/SetupSourcesFragment.java
@@ -16,33 +16,44 @@
package com.android.tv.onboarding;
-import android.content.Context;
+import android.app.Activity;
import android.graphics.Typeface;
import android.media.tv.TvInputInfo;
import android.media.tv.TvInputManager.TvInputCallback;
import android.os.Bundle;
import android.support.annotation.NonNull;
-import androidx.leanback.widget.GuidanceStylist.Guidance;
-import androidx.leanback.widget.GuidedAction;
-import androidx.leanback.widget.GuidedActionsStylist;
-import androidx.leanback.widget.VerticalGridView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+
+import androidx.leanback.widget.GuidanceStylist.Guidance;
+import androidx.leanback.widget.GuidedAction;
+import androidx.leanback.widget.GuidedActionsStylist;
+import androidx.leanback.widget.VerticalGridView;
+
import com.android.tv.R;
import com.android.tv.TvSingletons;
import com.android.tv.common.ui.setup.SetupGuidedStepFragment;
import com.android.tv.common.ui.setup.SetupMultiPaneFragment;
import com.android.tv.data.ChannelDataManager;
import com.android.tv.data.TvInputNewComparator;
+import com.android.tv.tunerinputcontroller.BuiltInTunerManager;
import com.android.tv.ui.GuidedActionsStylistWithDivider;
import com.android.tv.util.SetupUtils;
import com.android.tv.util.TvInputManagerHelper;
+
+import com.google.common.base.Optional;
+
+import dagger.android.AndroidInjection;
+import dagger.android.ContributesAndroidInjector;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import javax.inject.Inject;
+
/** A fragment for channel source info/setup. */
public class SetupSourcesFragment extends SetupMultiPaneFragment {
/** The action category for the actions which is fired from this fragment. */
@@ -106,9 +117,10 @@ public class SetupSourcesFragment extends SetupMultiPaneFragment {
private static final int PENDING_ACTION_INPUT_CHANGED = 1;
private static final int PENDING_ACTION_CHANNEL_CHANGED = 2;
- private TvInputManagerHelper mInputManager;
- private ChannelDataManager mChannelDataManager;
- private SetupUtils mSetupUtils;
+ @Inject TvInputManagerHelper mInputManager;
+ @Inject ChannelDataManager mChannelDataManager;
+ @Inject SetupUtils mSetupUtils;
+ @Inject Optional<BuiltInTunerManager> mBuiltInTunerManagerOptional;
private List<TvInputInfo> mInputs;
private int mKnownInputStartIndex;
private int mDoneInputStartIndex;
@@ -187,30 +199,31 @@ public class SetupSourcesFragment extends SetupMultiPaneFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
- Context context = getActivity();
- TvSingletons singletons = TvSingletons.getSingletons(context);
- mInputManager = singletons.getTvInputManagerHelper();
- mChannelDataManager = singletons.getChannelDataManager();
- mSetupUtils = singletons.getSetupUtils();
+ super.onCreate(savedInstanceState);
+ mParentFragment = (SetupSourcesFragment) getParentFragment();
+ }
+
+ @Override
+ public void onAttach(Activity activity) {
+ AndroidInjection.inject(this);
+ super.onAttach(activity);
buildInputs();
mInputManager.addCallback(mInputCallback);
mChannelDataManager.addListener(mChannelDataManagerListener);
- super.onCreate(savedInstanceState);
mParentFragment = (SetupSourcesFragment) getParentFragment();
- if (singletons.getBuiltInTunerManager().isPresent()) {
- singletons
- .getBuiltInTunerManager()
+ if (mBuiltInTunerManagerOptional.isPresent()) {
+ mBuiltInTunerManagerOptional
.get()
.getTunerInputController()
- .executeNetworkTunerDiscoveryAsyncTask(getContext());
+ .executeNetworkTunerDiscoveryAsyncTask(activity);
}
}
@Override
- public void onDestroy() {
- super.onDestroy();
+ public void onDetach() {
mChannelDataManager.removeListener(mChannelDataManagerListener);
mInputManager.removeCallback(mInputCallback);
+ super.onDetach();
}
@NonNull
@@ -404,5 +417,13 @@ public class SetupSourcesFragment extends SetupMultiPaneFragment {
setAccessibilityDelegate(vh, action);
}
}
+ /**
+ * Exports {@link ContentFragment} for Dagger codegen to create the appropriate injector.
+ */
+ @dagger.Module
+ public abstract static class Module {
+ @ContributesAndroidInjector
+ abstract ContentFragment contributesContentFragment();
+ }
}
}
diff --git a/src/com/android/tv/setup/SystemSetupActivity.java b/src/com/android/tv/setup/SystemSetupActivity.java
index 890331b8..999b157a 100644
--- a/src/com/android/tv/setup/SystemSetupActivity.java
+++ b/src/com/android/tv/setup/SystemSetupActivity.java
@@ -134,9 +134,7 @@ public class SystemSetupActivity extends SetupActivity {
*/
@dagger.Module
public abstract static class Module {
-
@ContributesAndroidInjector
- abstract SetupSourcesFragment.ContentFragment
- contributesSetupSourcesFragmentContentFragment();
+ abstract SystemSetupActivity contributeSystemSetupActivity();
}
}