diff options
author | Nick Chalko <nchalko@google.com> | 2019-07-08 13:10:17 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2019-07-24 10:47:15 -0700 |
commit | 5f4c53783679c8e81d75f082965244e48fc6832e (patch) | |
tree | 49d574d4b09f66a67cd139975bcd0ab992cfb91d /src/com/android/tv | |
parent | 0df30f7f9f522ac1934110cea09d2ec9f66ae281 (diff) | |
download | TV-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.java | 2 | ||||
-rw-r--r-- | src/com/android/tv/onboarding/SetupSourcesFragment.java | 61 | ||||
-rw-r--r-- | src/com/android/tv/setup/SystemSetupActivity.java | 4 |
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(); } } |