resume method

  1. @override
Future<bool> resume()
override

Resumes the current task.

Calling this method will trigger a snapshot event with a TaskState.running state.

Implementation

@override
Future<bool> resume() async {
  try {
    if (!_initialTaskCompleter.isCompleted) {
      await _initialTaskCompleter.future;
    }

    Map<String, dynamic>? data = await MethodChannelFirebaseStorage.channel
        .invokeMapMethod<String, dynamic>('Task#resume', <String, dynamic>{
      'handle': _handle,
    });

    bool success = data!['status'];
    if (success) {
      _snapshot = MethodChannelTaskSnapshot(storage, TaskState.running,
          Map<String, dynamic>.from(data['snapshot']));
    }
    return success;
  } catch (e, stack) {
    return catchFuturePlatformException<bool>(e, stack);
  }
}