diff options
| author | 2020-08-13 17:42:25 +0000 | |
|---|---|---|
| committer | 2020-08-13 17:42:25 +0000 | |
| commit | 7a75ae88dc99c962d7b61a9637225408866d7c4c (patch) | |
| tree | 1027e213029c62483f4f6e211991f5d9af529977 | |
| parent | 6fbee883ebf06cf58a25a440d53e8ed9f9b6bef0 (diff) | |
| parent | 028023b9a0727fc067782466a7a9ebed53d15f18 (diff) | |
Merge "Use a randomly generated UUID as the TvInputSessionId"
| -rwxr-xr-x | services/core/java/com/android/server/tv/TvInputManagerService.java | 11 |
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); |