diff options
Diffstat (limited to 'src/com/android/tv/data/ProgramDataManager.java')
-rw-r--r-- | src/com/android/tv/data/ProgramDataManager.java | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/src/com/android/tv/data/ProgramDataManager.java b/src/com/android/tv/data/ProgramDataManager.java index 88db91b9..d2af33a7 100644 --- a/src/com/android/tv/data/ProgramDataManager.java +++ b/src/com/android/tv/data/ProgramDataManager.java @@ -36,6 +36,7 @@ import android.util.LruCache; import com.android.tv.common.MemoryManageable; import com.android.tv.common.SoftPreconditions; import com.android.tv.data.epg.EpgFetcher; +import com.android.tv.experiments.Experiments; import com.android.tv.util.AsyncDbTask; import com.android.tv.util.Clock; import com.android.tv.util.MultiLongSparseArray; @@ -108,17 +109,17 @@ public class ProgramDataManager implements MemoryManageable { private boolean mPauseProgramUpdate = false; private final LruCache<Long, Program> mZeroLengthProgramCache = new LruCache<>(10); - - // TODO: Change to final. - private EpgFetcher mEpgFetcher; + private final EpgFetcher mEpgFetcher; public ProgramDataManager(Context context) { - this(context.getContentResolver(), Clock.SYSTEM, Looper.myLooper()); - mEpgFetcher = new EpgFetcher(context); + this(context.getContentResolver(), Clock.SYSTEM, Looper.myLooper(), + EpgFetcher.getInstance(context)); } @VisibleForTesting - ProgramDataManager(ContentResolver contentResolver, Clock time, Looper looper) { + ProgramDataManager(ContentResolver contentResolver, Clock time, Looper looper, + EpgFetcher epgFetcher) { + mEpgFetcher = epgFetcher; mClock = time; mContentResolver = contentResolver; mHandler = new MyHandler(looper); @@ -174,7 +175,7 @@ public class ProgramDataManager implements MemoryManageable { } mContentResolver.registerContentObserver(Programs.CONTENT_URI, true, mProgramObserver); - if (mEpgFetcher != null) { + if (mEpgFetcher != null && Experiments.CLOUD_EPG.get()) { mEpgFetcher.start(); } } @@ -624,22 +625,6 @@ public class ProgramDataManager implements MemoryManageable { } } - /** - * Gets an single {@link Program} from {@link TvContract.Programs#CONTENT_URI}. - */ - public static class QueryProgramTask extends AsyncDbTask.AsyncQueryItemTask<Program> { - - public QueryProgramTask(ContentResolver contentResolver, long programId) { - super(contentResolver, TvContract.buildProgramUri(programId), Program.PROJECTION, null, - null, null); - } - - @Override - protected Program fromCursor(Cursor c) { - return Program.fromCursor(c); - } - } - private class MyHandler extends Handler { public MyHandler(Looper looper) { super(looper); |