Skip to content

Commit

Permalink
Do not require package visibility when obtaining SessionTokens
Browse files Browse the repository at this point in the history
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
  • Loading branch information
tonihei authored and microkatz committed Nov 22, 2022
1 parent 45b8fb0 commit c41a5c8
Showing 1 changed file with 7 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
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;
Expand Down Expand Up @@ -179,7 +180,11 @@ public String toString() {
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 <a href="https://developer.android.com/training/package-visibility">package
* visibility</a>.
*/
public int getUid() {
return impl.getUid();
}
Expand Down Expand Up @@ -393,8 +398,7 @@ private static int getUid(PackageManager manager, String packageName) {
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;
}
}

Expand Down

0 comments on commit c41a5c8

Please sign in to comment.