incomingGroupCallsNotification static method

void incomingGroupCallsNotification({
  1. required List<GroupCallSession> sessions,
  2. required GlobalKey<NavigatorState> navigatorKey,
})

Implementation

static void incomingGroupCallsNotification({
  required List<GroupCallSession> sessions,
  required GlobalKey<NavigatorState> navigatorKey,
}) {
  if (sessions.isEmpty || PendingCallsScreen.isVisible) {
    return;
  }
  OverlaySupportEntry? entry;
  entry = showSimpleNotification(
    Text(
      "${sessions.length} incoming group calls",
      style: const TextStyle(
        color: Colors.white,
        fontWeight: FontWeight.w600,
      ),
    ),
    background: Colors.blue.shade700,
    duration: const Duration(seconds: 5),
    leading: const Icon(Icons.groups, color: Colors.white),
    trailing: TextButton(
      onPressed: () {
        entry?.dismiss();
        navigatorKey.currentState?.push(
          MaterialPageRoute(builder: (_) => const PendingCallsScreen()),
        );
      },
      child: const Text("VIEW"),
    ),
  );
}