summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2020-12-30 11:40:15 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2020-12-30 11:40:15 +0000
commit4249ba1059754bc3ddfcd5a761284b4f43b46dcd (patch)
tree0860dfa60462680a9a8d107f24cb17355793dbb3
parent55a580b253107cbbe0a33278203c6a1f85d31aed (diff)
parentd50746529c3582c5d425c2d9b721415700d233dd (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 bedcf9c45139..6cd02581ee67 100755
--- a/services/core/java/com/android/server/tv/TvInputManagerService.java
+++ b/services/core/java/com/android/server/tv/TvInputManagerService.java
@@ -97,6 +97,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;
@@ -1176,7 +1177,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) {
@@ -1205,20 +1207,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);