incomingCallNotification static method

void incomingCallNotification({
  1. required CallSession session,
  2. required GlobalKey<NavigatorState> navigatorKey,
})

Implementation

static void incomingCallNotification({
  required CallSession session,
  required GlobalKey<NavigatorState> navigatorKey,
}) {
  if (PendingCallsScreen.isVisible) {
    return;
  }
  OverlaySupportEntry? entry;
  entry = showSimpleNotification(
    GestureDetector(
      onTap: () {
        entry?.dismiss();
        navigatorKey.currentState?.push(
          MaterialPageRoute(builder: (_) => const PendingCallsScreen()),
        );
      },
      child: Text(
        "${session.peerUserName ?? session.peerUserId} is calling...",
        style: const TextStyle(
          color: Colors.white,
          fontWeight: FontWeight.w600,
        ),
      ),
    ),
    duration: const Duration(seconds: 10),
    background: Colors.green.shade700,
    leading: const Icon(Icons.call, color: Colors.white),
  );
}