onPreDownloadEvent method

  1. @override
void onPreDownloadEvent(
  1. Map<String, Object> event
)
override

Implementation

@override
void onPreDownloadEvent(Map<String, Object> event) {
  LogUtils.d(TAG, 'onPreDownloadEvent _eventHandler, event= $event');
  final Map<dynamic, dynamic> map = event;
  int eventCode = map["event"];
  switch (eventCode) {
    case TXVodPlayEvent.EVENT_PREDOWNLOAD_ON_COMPLETE:
      int taskId = map['taskId'];
      String url = map['url'];
      LogUtils.d(TAG, 'receive EVENT_PREDOWNLOAD_ON_COMPLETE, taskID=$taskId ,url=$url');
      _preloadListeners[taskId]?.onCompleteListener?.call(taskId, url);
      _preloadListeners.remove(taskId);
      break;
    case TXVodPlayEvent.EVENT_PREDOWNLOAD_ON_ERROR:
      int tmpTaskId = map['tmpTaskId'] ?? -1;
      int taskId = map['taskId'];
      String url = map['url'];
      int code = map['code'] ?? 0;
      String msg = map['msg'] ?? '';
      LogUtils.d(TAG, 'receive EVENT_PREDOWNLOAD_ON_ERROR, taskID=$taskId ,url=$url, code=$code , msg=$msg');
      if (tmpTaskId >= 0) {
        _fileIdBeforeStartListeners[tmpTaskId]!.onErrorListener?.call(taskId, url, code, msg);
        _fileIdBeforeStartListeners.remove(tmpTaskId);
      } else {
        _preloadListeners[taskId]?.onErrorListener?.call(taskId, url, code, msg);
        _preloadListeners.remove(taskId);
      }
      break;
    case TXVodPlayEvent.EVENT_PREDOWNLOAD_ON_START:
      int tmpTaskId = map['tmpTaskId'];
      int taskId = map['taskId'];
      String fileId = map['fileId'] ?? '';
      String url = map['url'] ?? '';
      Map<dynamic, dynamic> bundle = map['params'] ?? {};
      LogUtils.d(TAG, 'receive EVENT_PREDOWNLOAD_ON_START, tmpTaskId=$tmpTaskId, '
          'taskID=$taskId ,fileId=$fileId, url=$url , bundle=$bundle');
      if (_fileIdBeforeStartListeners[tmpTaskId] != null) {
        _preloadListeners[taskId] = _fileIdBeforeStartListeners[tmpTaskId]!;
        _preloadListeners[taskId]!.onStartListener?.call(taskId, fileId, url, bundle);
        _fileIdBeforeStartListeners.remove(tmpTaskId);
      }
      break;
    default:
      break;
  }
}