summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Amy Zhang <amyjojo@google.com> 2020-08-13 17:42:25 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-08-13 17:42:25 +0000
commit7a75ae88dc99c962d7b61a9637225408866d7c4c (patch)
tree1027e213029c62483f4f6e211991f5d9af529977
parent6fbee883ebf06cf58a25a440d53e8ed9f9b6bef0 (diff)
parent028023b9a0727fc067782466a7a9ebed53d15f18 (diff)
Merge "Use a randomly generated UUID as the TvInputSessionId"
-rwxr-xr-xservices/core/java/com/android/server/tv/TvInputManagerService.java11
1 files changed, 5 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 b3ec849e6c90..8ccbbdd2265c 100755
--- a/services/core/java/com/android/server/tv/TvInputManagerService.java
+++ b/services/core/java/com/android/server/tv/TvInputManagerService.java
@@ -99,6 +99,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -1177,7 +1178,8 @@ public final class TvInputManagerService extends SystemService {
final int resolvedUserId = resolveCallingUserId(callingPid, callingUid,
userId, "createSession");
final long identity = Binder.clearCallingIdentity();
- StringBuilder sessionId = new StringBuilder();
+ // Generate a unique session id with a random UUID.
+ String uniqueSessionId = UUID.randomUUID().toString();
try {
synchronized (mLock) {
if (userId != mCurrentUserId && !isRecordingSession) {
@@ -1206,20 +1208,17 @@ public final class TvInputManagerService extends SystemService {
return;
}
- // Create a unique session id with pid, uid and resolved user id
- sessionId.append(callingUid).append(callingPid).append(resolvedUserId);
-
// Create a new session token and a session state.
IBinder sessionToken = new Binder();
SessionState sessionState = new SessionState(sessionToken, info.getId(),
info.getComponent(), isRecordingSession, client, seq, callingUid,
- callingPid, resolvedUserId, sessionId.toString());
+ callingPid, resolvedUserId, uniqueSessionId);
// Add them to the global session state map of the current user.
userState.sessionStateMap.put(sessionToken, sessionState);
// Map the session id to the sessionStateMap in the user state
- mSessionIdToSessionStateMap.put(sessionId.toString(), sessionState);
+ mSessionIdToSessionStateMap.put(uniqueSessionId, sessionState);
// Also, add them to the session state map of the current service.
serviceState.sessionTokens.add(sessionToken);