Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a114844 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Use a randomly generated UUID as the TvInputSessionId" am: 4249ba10 am: 0578400a

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1536949

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I59ff15b3452f812fa1cb5d7dffe71e4049477ca9
parents 2895b2d9 0578400a
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -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);