aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorshubang <shubang@google.com>2019-05-10 16:46:55 -0700
committerNick Chalko <nchalko@google.com>2019-05-15 22:06:10 -0700
commit89c963769a4a36b78e858652d3e663b73053c442 (patch)
tree913e93a4801f7b2e3895c54a99f8277bb6dafbbd /src
parentf03ebc0c30fb8dba514ca5546bf6c3ca49257a33 (diff)
downloadTV-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.java8
-rw-r--r--src/com/android/tv/search/LocalSearchProvider.java22
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 {