summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xservices/core/java/com/android/server/tv/TvInputManagerService.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/tv/TvInputManagerService.java b/services/core/java/com/android/server/tv/TvInputManagerService.java
index ea6b48ea0866..abcba5dfc9e2 100755
--- a/services/core/java/com/android/server/tv/TvInputManagerService.java
+++ b/services/core/java/com/android/server/tv/TvInputManagerService.java
@@ -549,6 +549,11 @@ public final class TvInputManagerService extends SystemService {
private SessionState getSessionStateLocked(IBinder sessionToken, int callingUid, int userId) {
UserState userState = getOrCreateUserStateLocked(userId);
+ return getSessionStateLocked(sessionToken, callingUid, userState);
+ }
+
+ private SessionState getSessionStateLocked(IBinder sessionToken,
+ int callingUid, UserState userState) {
SessionState sessionState = userState.sessionStateMap.get(sessionToken);
if (sessionState == null) {
throw new SessionNotFoundException("Session state not found for token " + sessionToken);
@@ -1436,12 +1441,11 @@ public final class TvInputManagerService extends SystemService {
getSessionLocked(sessionToken, callingUid, resolvedUserId).tune(
channelUri, params);
UserState userState = getOrCreateUserStateLocked(resolvedUserId);
- SessionState sessionState = userState.sessionStateMap.get(sessionToken);
- if (sessionState != null) {
- sessionState.isCurrent = true;
- sessionState.currentChannel = channelUri;
- notifyCurrentChannelInfosUpdatedLocked(userState);
- }
+ SessionState sessionState = getSessionStateLocked(sessionToken, callingUid,
+ userState);
+ sessionState.isCurrent = true;
+ sessionState.currentChannel = channelUri;
+ notifyCurrentChannelInfosUpdatedLocked(userState);
if (TvContract.isChannelUriForPassthroughInput(channelUri)) {
// Do not log the watch history for passthrough inputs.
return;