PipBehavior.fromJson constructor

PipBehavior.fromJson(
  1. Map<String, dynamic>? json
)

Implementation

factory PipBehavior.fromJson(Map<String, dynamic>? json) {
  if (json == null) return const PipBehavior();
  final autoDismissMs = optInt(json, 'autoDismissAfterMs', 0);
  return PipBehavior(
    tapExpands:
        optString(optMap(json, 'onTap') ?? const {}, 'type', 'expand') ==
            'expand',
    startExpanded: optString(json, 'initialState', 'collapsed') == 'expanded',
    onMediaEnd: PipOnMediaEnd.from(optString(json, 'onMediaEnd')),
    autoDismissAfter:
        autoDismissMs > 0 ? Duration(milliseconds: autoDismissMs) : null,
    reshowOnReturn: optBool(json, 'reshowOnReturn', false),
    pauseWhenObscured: optBool(json, 'pauseWhenObscured', false),
  );
}