# MediaSessionManager.RemoteUserInfo

Artifact: [androidx.media:media](https://developer.android.com/jetpack/androidx/releases/media) [View Source](https://cs.android.com/search?q=file:androidx/media/MediaSessionManager.java+class:androidx.media.MediaSessionManager.RemoteUserInfo) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/media#1.1.0) Deprecated in [1.8.0](https://developer.android.com/jetpack/androidx/releases/media#1.8.0)

*** ** * ** ***


```
public final class MediaSessionManager.RemoteUserInfo
```

<br />

*** ** * ** ***

> [!CAUTION]
> **This class is deprecated.**   
>
> androidx.media is deprecated. Please migrate to [androidx.media3](https://developer.android.com/media/media3).

Information of a remote user of `https://developer.android.com/reference/android/support/v4/media/session/MediaSessionCompat` or `https://developer.android.com/reference/androidx/media/MediaBrowserServiceCompat`. This can be used to decide whether the remote user is trusted app, and also differentiate caller of `https://developer.android.com/reference/android/support/v4/media/session/MediaSessionCompat` and `https://developer.android.com/reference/androidx/media/MediaBrowserServiceCompat` callbacks.

See `https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#equals(java.lang.Object)` to take a look at how it differentiate media controller.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media/MediaSessionManager#isTrustedForMediaControl(androidx.media.MediaSessionManager.RemoteUserInfo)` |   |

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#LEGACY_CONTROLLER() = "android.media.session.MediaController"` **This field is deprecated.** Deprecated in Java |

| ### Public constructors |
|---|
| `[RemoteUserInfo](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#RemoteUserInfo(java.lang.String,int,int))(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html packageName, int pid, int uid)` **This method is deprecated.** Deprecated in Java |

| ### Public methods |
|---|---|
| `boolean` | `[equals](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#equals(java.lang.Object))(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html obj)` **This method is deprecated.** Deprecated in Java |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html` | `[getPackageName](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#getPackageName())()` **This method is deprecated.** Deprecated in Java |
| `int` | `[getPid](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#getPid())()` **This method is deprecated.** Deprecated in Java |
| `int` | `[getUid](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#getUid())()` **This method is deprecated.** Deprecated in Java |
| `int` | `[hashCode](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#hashCode())()` **This method is deprecated.** Deprecated in Java |

## Constants

### LEGACY_CONTROLLER

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/media#1.1.0) Deprecated in [1.8.0](https://developer.android.com/jetpack/androidx/releases/media#1.8.0)

```
public static final String LEGACY_CONTROLLER = "android.media.session.MediaController"
```

> [!CAUTION]
> **This field is deprecated.**   
> Deprecated in Java

Used by `https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#getPackageName()` when the session is connected to the legacy controller whose exact package name cannot be obtained.

## Public constructors

### RemoteUserInfo

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/media#1.1.0) Deprecated in [1.8.0](https://developer.android.com/jetpack/androidx/releases/media#1.8.0)

```
public [RemoteUserInfo](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#RemoteUserInfo(java.lang.String,int,int))(@NonNull String packageName, int pid, int uid)
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

Public constructor.

Can be used for `https://developer.android.com/reference/androidx/media/MediaSessionManager#isTrustedForMediaControl(androidx.media.MediaSessionManager.RemoteUserInfo)`}.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html packageName` | package name of the remote user |
| `int pid` | pid of the remote user |
| `int uid` | uid of the remote user |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | if package name is empty |

## Public methods

### equals

```
public boolean [equals](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#equals(java.lang.Object))(@Nullable Object obj)
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

Returns equality of two RemoteUserInfo by comparing their package name, UID, and PID.

On P and before (API \<= 28), two RemoteUserInfo objects equal if following conditions are met:

1. UID and package name are the same
2. One of the RemoteUserInfo's PID is UNKNOWN_PID or both of RemoteUserInfo's PID are the same

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html obj` | the reference object with which to compare. |

| Returns |
|---|---|
| `boolean` | `true` if equals, `false` otherwise |

### getPackageName

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/media#1.1.0) Deprecated in [1.8.0](https://developer.android.com/jetpack/androidx/releases/media#1.8.0)

```
public @NonNull String [getPackageName](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#getPackageName())()
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html` | package name of the controller. Can be `https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#LEGACY_CONTROLLER()` if the package name cannot be obtained. |

### getPid

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/media#1.1.0) Deprecated in [1.8.0](https://developer.android.com/jetpack/androidx/releases/media#1.8.0)

```
public int [getPid](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#getPid())()
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

| Returns |
|---|---|
| `int` | pid of the controller. Can be a negative value if the pid cannot be obtained. |

### getUid

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/media#1.1.0) Deprecated in [1.8.0](https://developer.android.com/jetpack/androidx/releases/media#1.8.0)

```
public int [getUid](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#getUid())()
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java

| Returns |
|---|---|
| `int` | uid of the controller. Can be a negative value if the uid cannot be obtained. |

### hashCode

```
public int [hashCode](https://developer.android.com/reference/androidx/media/MediaSessionManager.RemoteUserInfo#hashCode())()
```

> [!CAUTION]
> **This method is deprecated.**   
> Deprecated in Java