diff options
author | shubang <shubang@google.com> | 2019-05-10 16:46:55 -0700 |
---|---|---|
committer | Nick Chalko <nchalko@google.com> | 2019-05-15 22:06:10 -0700 |
commit | 89c963769a4a36b78e858652d3e663b73053c442 (patch) | |
tree | 913e93a4801f7b2e3895c54a99f8277bb6dafbbd /src | |
parent | f03ebc0c30fb8dba514ca5546bf6c3ca49257a33 (diff) | |
download | TV-89c963769a4a36b78e858652d3e663b73053c442.tar.gz |
Use Injection for LocalSearchProvider
PiperOrigin-RevId: 247698232
Change-Id: Ib27c444d1c8bb5a303431263b78b3a0d50884ac5
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/tv/app/LiveTvApplicationComponent.java | 8 | ||||
-rw-r--r-- | src/com/android/tv/search/LocalSearchProvider.java | 22 |
2 files changed, 24 insertions, 6 deletions
diff --git a/src/com/android/tv/app/LiveTvApplicationComponent.java b/src/com/android/tv/app/LiveTvApplicationComponent.java index 3d3f0492..71ce1a8a 100644 --- a/src/com/android/tv/app/LiveTvApplicationComponent.java +++ b/src/com/android/tv/app/LiveTvApplicationComponent.java @@ -15,6 +15,7 @@ */ package com.android.tv.app; +import com.android.tv.search.LocalSearchProvider; import dagger.Component; import dagger.android.AndroidInjectionModule; import dagger.android.AndroidInjector; @@ -22,5 +23,10 @@ import javax.inject.Singleton; /** Dagger component for {@link LiveTvApplication}. */ @Singleton -@Component(modules = {AndroidInjectionModule.class, LiveTvModule.class}) +@Component( + modules = { + AndroidInjectionModule.class, + LiveTvModule.class, + LocalSearchProvider.Module.class + }) public interface LiveTvApplicationComponent extends AndroidInjector<LiveTvApplication> {} diff --git a/src/com/android/tv/search/LocalSearchProvider.java b/src/com/android/tv/search/LocalSearchProvider.java index 5652c986..2275e063 100644 --- a/src/com/android/tv/search/LocalSearchProvider.java +++ b/src/com/android/tv/search/LocalSearchProvider.java @@ -17,7 +17,6 @@ package com.android.tv.search; import android.app.SearchManager; -import android.content.ContentProvider; import android.content.ContentValues; import android.database.Cursor; import android.database.MatrixCursor; @@ -28,7 +27,6 @@ import android.support.annotation.Nullable; import android.support.annotation.VisibleForTesting; import android.text.TextUtils; import android.util.Log; -import com.android.tv.TvSingletons; import com.android.tv.common.CommonConstants; import com.android.tv.common.SoftPreconditions; import com.android.tv.common.util.CommonUtils; @@ -38,11 +36,15 @@ import com.android.tv.perf.PerformanceMonitor; import com.android.tv.perf.TimerEvent; import com.android.tv.util.TvUriMatcher; import com.google.auto.value.AutoValue; +import dagger.android.ContributesAndroidInjector; +import dagger.android.DaggerContentProvider; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import javax.inject.Inject; -public class LocalSearchProvider extends ContentProvider { +/** Content provider for local search */ +public class LocalSearchProvider extends DaggerContentProvider { private static final String TAG = "LocalSearchProvider"; private static final boolean DEBUG = false; @@ -79,14 +81,17 @@ public class LocalSearchProvider extends ContentProvider { private static final String NO_LIVE_CONTENTS = "0"; private static final String LIVE_CONTENTS = "1"; - private PerformanceMonitor mPerformanceMonitor; + @Inject PerformanceMonitor mPerformanceMonitor; /** Used only for testing */ private SearchInterface mSearchInterface; @Override public boolean onCreate() { - mPerformanceMonitor = TvSingletons.getSingletons(getContext()).getPerformanceMonitor(); + if (!super.onCreate()) { + Log.e(TAG, "LocalSearchProvider.onCreate() failed."); + return false; + } return true; } @@ -221,6 +226,13 @@ public class LocalSearchProvider extends ContentProvider { throw new UnsupportedOperationException(); } + /** Module for {@link LocalSearchProvider} */ + @dagger.Module + public abstract static class Module { + @ContributesAndroidInjector + abstract LocalSearchProvider contributesLocalSearchProviderInjector(); + } + /** A placeholder to a search result. */ @AutoValue public abstract static class SearchResult { |