showInAppNotificationText method

void showInAppNotificationText({
  1. required Object themeOrId,
  2. VoidCallback? onAction,
  3. Object? actionText,
  4. Color? colorBackground,
  5. Color? colorForeground,
  6. required Object title,
  7. Object? body,
  8. Duration? duration,
  9. NotificationPosition position = NotificationPosition.top,
})
inherited

Implementation

void showInAppNotificationText({
  required Object themeOrId,
  VoidCallback? onAction,
  Object? actionText,
  Color? colorBackground,
  Color? colorForeground,
  required Object title,
  Object? body,
  Duration? duration,
  NotificationPosition position = NotificationPosition.top,
}) {
  var themeActual = _findTheme(themeOrId);
  colorBackground = colorBackground ?? themeActual.colorSecondary;
  colorForeground = colorForeground ?? themeActual.colorOnSecondary;

  var richAction;
  if(actionText != null) {
    richAction = themeActual.childRichTextBuilder();
    richAction.writeNormal(actionText);
  }

  var richBody;
  if(body != null) {
    richBody = themeActual.childRichTextBuilder();
    richBody.writeNormal(body);
  }

  final richTitle = themeActual.childRichTextBuilder();
  richTitle.writeBold(title);

  // in testing, the notification library starts a timer, which doesn't get shut
  // down, and causes error messages at the end of the test.
  if(AFibD.config.isWidgetTesterContext) {
    duration = const Duration(seconds: 0);
  }

  showInAppNotification(
    colorBackground: colorBackground,
    colorForeground: colorForeground,
    title: richTitle,
    body: richBody,
    actionText: richAction,
    onAction: onAction,
    duration: duration,
    position: position,
  );
}