showDataUploadProgress method

dynamic showDataUploadProgress(
  1. BuildContext buildContext,
  2. UploadTask uploadTask
)

Implementation

showDataUploadProgress(BuildContext buildContext, UploadTask uploadTask) {
  return showDialog(
    context: buildContext,
    barrierDismissible: true,
    builder: (context) {
      return StreamBuilder<TaskSnapshot>(
        stream: uploadTask.snapshotEvents,
        builder: (context, snapshot) {
          if (snapshot.hasData) {
            return AlertDialog(
                title: const Text('Uploading...'),
                content: ProgressFromUploadTask(
                  task: uploadTask,
                  onDone: () {
                    Navigator.pop(context);
                  },
                ));
          } else {
            return const AlertDialog(
              title: Text('Waiting...'),
              content: LinearProgressIndicator(),
            );
          }
        },
      );
    },
  );
}