From c41a5c842080a7e75b9d92acc06d583bd20c7abb Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 22 Nov 2022 10:01:44 +0000 Subject: [PATCH] Do not require package visibility when obtaining SessionTokens The only reason this is required at the moment is to set the process UID field in the token, that is supposed to make it easier for controller apps to identify the session. However, if this visibility is not provided, it shouldn't stop us from creating the controller for this session. Also docuement more clearly what UID means in this context. PiperOrigin-RevId: 490184508 --- .../java/androidx/media3/session/SessionToken.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java index e9eba03445..09c5e61de7 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java @@ -36,6 +36,7 @@ import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.media.MediaBrowserServiceCompat; import androidx.media3.common.Bundleable; +import androidx.media3.common.C; import androidx.media3.common.MediaLibraryInfo; import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableSet; @@ -179,7 +180,11 @@ public final class SessionToken implements Bundleable { return impl.toString(); } - /** Returns the uid of the session */ + /** + * Returns the UID of the session process, or {@link C#INDEX_UNSET} if the UID can't be determined + * due to missing package + * visibility. + */ public int getUid() { return impl.getUid(); } @@ -393,8 +398,7 @@ public final class SessionToken implements Bundleable { try { return manager.getApplicationInfo(packageName, 0).uid; } catch (PackageManager.NameNotFoundException e) { - throw new IllegalArgumentException( - "Cannot find package " + packageName + " or package is not visible", e); + return C.INDEX_UNSET; } }