requestFocus static method

Future<bool> requestFocus(
  1. UMediaController requester
)

Implementation

static Future<bool> requestFocus(UMediaController requester) async {
  if (requester.config.focusPolicy == UAudioFocusPolicy.mixWithOthers) return true;

  for (final UMediaController other in List<UMediaController>.of(_registered)) {
    if (identical(other, requester)) continue;
    if (!other.value.isPlaying) continue;
    if (other.config.focusPolicy == UAudioFocusPolicy.mixWithOthers) continue;
    await other.pause();
  }
  _holder = requester;

  try {
    return (await _channel.invokeMethod<bool>("requestFocus", <String, Object?>{
          "policy": requester.config.focusPolicy.name,
          "kind": requester.kind.name,
        })) ??
        true;
  } on MissingPluginException {
    return true;
  } on PlatformException {
    return true;
  }
}