aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/recommendation
diff options
context:
space:
mode:
authorNick Chalko <nchalko@google.com>2015-12-09 13:48:17 -0800
committerNick Chalko <nchalko@google.com>2015-12-11 15:09:19 -0800
commit1abddd9f6225298066094e20a6c29061b6af4590 (patch)
tree97d701f8681cca9939c86e5e61523775d4c13aea /src/com/android/tv/recommendation
parent7d67089aa1e9aa2123c3cd2f386d7019a1544db1 (diff)
downloadTV-1abddd9f6225298066094e20a6c29061b6af4590.tar.gz
Sync to ub-tv-heroes at 1.08.301
source change id If9b64d7bbc6e8f77b360e502d34e5452775c0402 Change-Id: I4ffe87911cb85e54880d1d918d1b8fb7bb8cfb7d
Diffstat (limited to 'src/com/android/tv/recommendation')
-rw-r--r--src/com/android/tv/recommendation/ChannelRecord.java6
-rw-r--r--src/com/android/tv/recommendation/NotificationService.java9
-rw-r--r--src/com/android/tv/recommendation/RecommendationDataManager.java9
3 files changed, 19 insertions, 5 deletions
diff --git a/src/com/android/tv/recommendation/ChannelRecord.java b/src/com/android/tv/recommendation/ChannelRecord.java
index 10aaeef7..26f0fbf0 100644
--- a/src/com/android/tv/recommendation/ChannelRecord.java
+++ b/src/com/android/tv/recommendation/ChannelRecord.java
@@ -19,8 +19,10 @@ package com.android.tv.recommendation;
import android.content.Context;
import android.support.annotation.VisibleForTesting;
+import com.android.tv.TvApplication;
import com.android.tv.data.Channel;
import com.android.tv.data.Program;
+import com.android.tv.data.ProgramDataManager;
import com.android.tv.util.Utils;
import java.util.ArrayDeque;
@@ -68,7 +70,9 @@ public class ChannelRecord {
public Program getCurrentProgram() {
long time = System.currentTimeMillis();
if (mCurrentProgram == null || mCurrentProgram.getEndTimeUtcMillis() < time) {
- mCurrentProgram = Utils.getCurrentProgram(mContext, mChannel.getId());
+ ProgramDataManager manager =
+ TvApplication.getSingletons(mContext).getProgramDataManager();
+ mCurrentProgram = manager.getCurrentProgram(mChannel.getId());
}
return mCurrentProgram;
}
diff --git a/src/com/android/tv/recommendation/NotificationService.java b/src/com/android/tv/recommendation/NotificationService.java
index c00a508e..3ab67c8b 100644
--- a/src/com/android/tv/recommendation/NotificationService.java
+++ b/src/com/android/tv/recommendation/NotificationService.java
@@ -40,6 +40,7 @@ import android.util.SparseLongArray;
import android.view.View;
import com.android.tv.R;
+import com.android.tv.ApplicationSingletons;
import com.android.tv.TvApplication;
import com.android.tv.common.WeakHandler;
import com.android.tv.data.Channel;
@@ -141,16 +142,16 @@ public class NotificationService extends Service implements Recommender.Listener
getResources().getDimensionPixelOffset(R.dimen.notif_ch_logo_padding_bottom);
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
- TvApplication application = ((TvApplication) getApplicationContext());
- mTvInputManagerHelper = application.getTvInputManagerHelper();
+ ApplicationSingletons appSingletons = TvApplication.getSingletons(this);
+ mTvInputManagerHelper = appSingletons.getTvInputManagerHelper();
mHandlerThread = new HandlerThread("tv notification");
mHandlerThread.start();
mHandler = new NotificationHandler(mHandlerThread.getLooper(), this);
mHandler.sendEmptyMessage(MSG_INITIALIZE_RECOMMENDER);
// Just called for early initialization.
- application.getChannelDataManager();
- application.getProgramDataManager();
+ appSingletons.getChannelDataManager();
+ appSingletons.getProgramDataManager();
}
private void handleInitializeRecommender() {
diff --git a/src/com/android/tv/recommendation/RecommendationDataManager.java b/src/com/android/tv/recommendation/RecommendationDataManager.java
index 693380df..66dd9fe4 100644
--- a/src/com/android/tv/recommendation/RecommendationDataManager.java
+++ b/src/com/android/tv/recommendation/RecommendationDataManager.java
@@ -30,6 +30,7 @@ import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
+import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
@@ -531,23 +532,31 @@ public class RecommendationDataManager implements WatchedHistoryManager.Listener
/**
* A listener interface to receive notification about the recommendation data.
+ *
+ * @MainThread
*/
public interface Listener {
/**
* Called when loading channel record map from database is finished.
* It will be called after RecommendationDataManager.start() is finished.
+ *
+ * <p>Note that this method is called on the main thread.
*/
void onChannelRecordLoaded();
/**
* Called when a new watch log is added into the corresponding channelRecord.
*
+ * <p>Note that this method is called on the main thread.
+ *
* @param channelRecord The channel record corresponds to the new watch log.
*/
void onNewWatchLog(ChannelRecord channelRecord);
/**
* Called when the channel record map changes.
+ *
+ * <p>Note that this method is called on the main thread.
*/
void onChannelRecordChanged();
}