share method

void share(
  1. BuildContext context
)

share is what is called when the user wants to share the record json.

Implementation

void share(
  BuildContext context,
) {
  DateTime startDt = DateTime.now();
  Share.shareWithResult(
    toJson(),
    // "example",
    subject: testName,
  ).then((ShareResult result) {
    bool fallback = true;
    if (DateTime.now().difference(startDt) >
        const Duration(milliseconds: 1000)) {
      fallback = false;
    }
    switch (result.status) {
      case ShareResultStatus.unavailable:
        if (!fallback) {
          FlutsterTestRecorderState.snackStatic(
            "Failed to share",
            context,
          );
        }
        break;
      case ShareResultStatus.dismissed:
        if (!fallback) {
          FlutsterTestRecorderState.snackStatic(
            "Share dismissed",
            context,
          );
        }
        break;
      case ShareResultStatus.success:
      default:
        fallback = false;
        break;
    }
    if (fallback) {
      shareAsFile(context);
    }
  });
}