diff options
author | Nick Chalko <nchalko@google.com> | 2015-12-09 13:48:17 -0800 |
---|---|---|
committer | Nick Chalko <nchalko@google.com> | 2015-12-11 15:09:19 -0800 |
commit | 1abddd9f6225298066094e20a6c29061b6af4590 (patch) | |
tree | 97d701f8681cca9939c86e5e61523775d4c13aea /src/com/android/tv/recommendation | |
parent | 7d67089aa1e9aa2123c3cd2f386d7019a1544db1 (diff) | |
download | TV-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')
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(); } |