ifInvisibleBy function

A comparator decorator which applies the decorated comparator only if the participant viewport visibility is hidden or net yet determined.

Implementation

Comparator<CallParticipantState> ifInvisibleBy(
  Comparator<CallParticipantState> comparator,
) {
  return comparator.conditional(
    (a, b) {
      return a.viewportVisibility != ViewportVisibility.visible ||
          b.viewportVisibility != ViewportVisibility.visible;
    },
  );
}