MediaSessionManager.RemoteUserInfo

class MediaSessionManager.RemoteUserInfo


Information of a remote user of MediaSessionCompat or MediaBrowserServiceCompat. This can be used to decide whether the remote user is trusted app, and also differentiate caller of MediaSessionCompat and MediaBrowserServiceCompat callbacks.

See equals to take a look at how it differentiate media controller.

Summary

Constants

const String!
LEGACY_CONTROLLER = "android.media.session.MediaController"

Used by getPackageName when the session is connected to the legacy controller whose exact package name cannot be obtained.

Public constructors

RemoteUserInfo(packageName: String, pid: Int, uid: Int)

Public constructor.

Public functions

Boolean
equals(obj: Any?)

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

String
Int
Int
Int

Constants

LEGACY_CONTROLLER

Added in 1.1.0
const val LEGACY_CONTROLLER = "android.media.session.MediaController": String!

Used by 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
RemoteUserInfo(packageName: String, pid: Int, uid: Int)

Public constructor.

Can be used for isTrustedForMediaControl}.

Parameters
packageName: String

package name of the remote user

pid: Int

pid of the remote user

uid: Int

uid of the remote user

Throws
java.lang.IllegalArgumentException

if package name is empty

Public functions

equals

fun equals(obj: Any?): Boolean

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
obj: Any?

the reference object with which to compare.

Returns
Boolean

true if equals, false otherwise

getPackageName

Added in 1.1.0
fun getPackageName(): String
Returns
String

package name of the controller. Can be LEGACY_CONTROLLER if the package name cannot be obtained.

getPid

Added in 1.1.0
fun getPid(): Int
Returns
Int

pid of the controller. Can be a negative value if the pid cannot be obtained.

getUid

Added in 1.1.0
fun getUid(): Int
Returns
Int

uid of the controller. Can be a negative value if the uid cannot be obtained.

hashCode

fun hashCode(): Int