|
|
@@ -69,6 +69,10 @@
|
|
|
_outSideDataArr = outSideDataArr;
|
|
|
|
|
|
_downloadingArr = [NSMutableArray arrayWithArray:outSideDataArr[0]];
|
|
|
+ for (ShareFileDataModel*model in _downloadingArr) {
|
|
|
+ model.downloadBoxStateType = downloadBoxStateDownloadloading;
|
|
|
+ }
|
|
|
+
|
|
|
_downloadDoneArr = [NSMutableArray arrayWithArray:outSideDataArr[1]];
|
|
|
_downloadfailArr = [NSMutableArray arrayWithArray:outSideDataArr[2]];
|
|
|
|
|
|
@@ -154,17 +158,17 @@
|
|
|
};
|
|
|
|
|
|
cell.didTapPressClick = ^{
|
|
|
-// if(model.curDownloadStateType == downloadStateUploading){
|
|
|
-// model.curDownloadStateType = downloadStateSuspend;
|
|
|
-// [weakSelf handleDownloadingStateTapFunBy:YES with:model];
|
|
|
-// }
|
|
|
-// else if(model.curDownloadStateType == downloadStateSuspend){
|
|
|
-// model.curDownloadStateType = downloadStateUploading;
|
|
|
-// [weakSelf handleDownloadingStateTapFunBy:NO with:model];
|
|
|
-// }
|
|
|
-// else if(model.curDownloadStateType == downloadStateFail){
|
|
|
-// [weakSelf handleUploadFailStateWith:model];
|
|
|
-// }
|
|
|
+ if(model.downloadBoxStateType == downloadBoxStateDownloadloading){
|
|
|
+ model.downloadBoxStateType = downloadBoxStateSuspend;
|
|
|
+ [weakSelf handleDownloadingStateTapFunBy:YES with:model];
|
|
|
+ }
|
|
|
+ else if(model.downloadBoxStateType == downloadStateSuspend){
|
|
|
+ model.downloadBoxStateType = downloadBoxStateDownloadloading;
|
|
|
+ [weakSelf handleDownloadingStateTapFunBy:NO with:model];
|
|
|
+ }
|
|
|
+ else if(model.downloadBoxStateType == downloadStateFail){
|
|
|
+ [weakSelf handleUploadFailStateWith:model];
|
|
|
+ }
|
|
|
};
|
|
|
}
|
|
|
}
|
|
|
@@ -481,36 +485,32 @@
|
|
|
|
|
|
|
|
|
#pragma mark 处理上传中的 状态点击事件
|
|
|
-- (void)handleDownloadingStateTapFunBy:(BOOL)isSuspendType with:(couldPhoneFileModel*)model
|
|
|
+- (void)handleDownloadingStateTapFunBy:(BOOL)isSuspendType with:(ShareFileDataModel*)model
|
|
|
{
|
|
|
-// if (isSuspendType) {
|
|
|
-// [[downloadManager shareInstance] suspendDownloadFileFun:NO withModel:model];
|
|
|
-// }
|
|
|
-// else{
|
|
|
-// NSMutableArray*arr = [NSMutableArray new];
|
|
|
-// [arr addObject:model];
|
|
|
-// [[downloadManager shareInstance] reDownloadFileFunBy:arr withAll:NO];
|
|
|
-// }
|
|
|
-//
|
|
|
-// [self reloadDataFun];
|
|
|
+ NSString *urlString = model.fileUrl;
|
|
|
+ NSString *requestURLEncodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
|
|
+
|
|
|
+ if (isSuspendType) {
|
|
|
+ [[SGDownloadManager shareManager] supendDownloadWithUrl:requestURLEncodedString];
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ [[SGDownloadManager shareManager] startDownLoadWithUrl:requestURLEncodedString];
|
|
|
+ }
|
|
|
+
|
|
|
+ [self reloadDataFun];
|
|
|
}
|
|
|
|
|
|
#pragma mark 处理上传中的 状态点击事件
|
|
|
-- (void)handleUploadFailStateWith:(couldPhoneFileModel*)model{
|
|
|
+- (void)handleUploadFailStateWith:(ShareFileDataModel*)model{
|
|
|
|
|
|
-// [_downloadfailArr removeObject:model];
|
|
|
-// [_downloadingArr addObject:model];
|
|
|
-//
|
|
|
-// [self RefreshAllDataFun];
|
|
|
-//
|
|
|
-// if(_didClickReUploadBlock){
|
|
|
-// _didClickReUploadBlock(model);
|
|
|
-// }
|
|
|
-//
|
|
|
-// NSMutableArray*arr = [NSMutableArray new];
|
|
|
-// model.curDownloadStateType = downloadStateWait;
|
|
|
-// [arr addObject:model];
|
|
|
-// [[downloadManager shareInstance] reDownloadFileFunBy:arr withAll:NO];
|
|
|
+ [_downloadfailArr removeObject:model];
|
|
|
+ model.downloadBoxStateType = downloadBoxStateDownloadloading;
|
|
|
+ [_downloadingArr addObject:model];
|
|
|
+ [self RefreshAllDataFun];
|
|
|
+
|
|
|
+ NSString *urlString = model.fileUrl;
|
|
|
+ NSString *requestURLEncodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
|
|
+ [[SGDownloadManager shareManager] startDownLoadWithUrl:requestURLEncodedString];
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -523,16 +523,12 @@
|
|
|
[weakSelf handldDownloadingDataBy:model];
|
|
|
});
|
|
|
|
|
|
+ //[[SGDownloadManager shareManager] supendDownloadWithUrl:model.url];
|
|
|
}
|
|
|
|
|
|
- (void)downloadTaskExeSupend:(NSNotification *)notification
|
|
|
{
|
|
|
- SGDownloadOperation *model = notification.userInfo.allValues.firstObject;
|
|
|
-
|
|
|
- //KWeakSelf
|
|
|
- mainBlock(^{
|
|
|
- //[weakSelf handldDownloadingDataBy:model];
|
|
|
- });
|
|
|
+ //SGDownloadOperation *model = notification.userInfo.allValues.firstObject;
|
|
|
HLog(@"暂停/下载等待中");
|
|
|
}
|
|
|
|
|
|
@@ -555,7 +551,7 @@
|
|
|
|
|
|
KWeakSelf
|
|
|
mainBlock(^{
|
|
|
- //[weakSelf handldDownloadingDataBy:model];
|
|
|
+ [weakSelf handldDownloadFailDataBy:model];
|
|
|
});
|
|
|
HLog(@"下载失败");
|
|
|
}
|
|
|
@@ -567,41 +563,69 @@
|
|
|
return;
|
|
|
}
|
|
|
else{
|
|
|
- _reDownLoadAgainType = YES;
|
|
|
- [[SGDownloadManager shareManager] startAllDownloadTask];
|
|
|
+ //_reDownLoadAgainType = YES;
|
|
|
}
|
|
|
|
|
|
//重新下载
|
|
|
-// NSMutableArray *handleDownloadArr = [NSMutableArray new];
|
|
|
-// for (ShareFileDataModel * curModel in _downloadingArr) {
|
|
|
-// if(curModel.downloadBoxStateType != downloadBoxStateSuspend)
|
|
|
-// {
|
|
|
-// [handleDownloadArr addObject:curModel];
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-// if(handleDownloadArr.count >0){
|
|
|
-// [[boxDownloadFileManager shareInstance] beginDownloadFilesByUrls:handleDownloadArr];
|
|
|
-// }
|
|
|
+ NSMutableArray *handleDownloadArr = [NSMutableArray new];
|
|
|
+ for (ShareFileDataModel * curModel in _downloadingArr) {
|
|
|
+ if(curModel.downloadBoxStateType != downloadBoxStateSuspend)
|
|
|
+ {
|
|
|
+ [handleDownloadArr addObject:curModel];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(handleDownloadArr.count >0){
|
|
|
+ [[boxDownloadFileManager shareInstance] beginDownloadFilesByUrls:handleDownloadArr];
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+#pragma mark 下载失败数据回调处理
|
|
|
+- (void)handldDownloadFailDataBy:(SGDownloadOperation*)model
|
|
|
+{
|
|
|
+ //解码
|
|
|
+ NSString * urlString = [model.url stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
|
|
+
|
|
|
+ for (ShareFileDataModel*dataModel in _downloadingArr) {
|
|
|
+ //HLog(@"22222222 %@\n%@",urlString,dataModel.fileUrl);
|
|
|
+ if([urlString isEqualToString:dataModel.fileUrl]){
|
|
|
+ dataModel.totalSize = model.totalSize;
|
|
|
+ dataModel.currentSize = model.currentSize;
|
|
|
+ dataModel.downloadBoxStateType = downloadBoxStateFail;
|
|
|
+
|
|
|
+ [_downloadfailArr insertObject:dataModel atIndex:0];
|
|
|
+ [_downloadingArr removeObject:dataModel];
|
|
|
+
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ [self RefreshAllDataFun];
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
#pragma mark 下载中数据回调处理
|
|
|
- (void)handldDownloadingDataBy:(SGDownloadOperation*)model
|
|
|
{
|
|
|
+ BOOL canReloadData = YES;
|
|
|
//解码
|
|
|
NSString * urlString = [model.url stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
|
|
|
|
|
for (ShareFileDataModel*dataModel in _downloadingArr) {
|
|
|
//HLog(@"22222222 %@\n%@",urlString,dataModel.fileUrl);
|
|
|
if([urlString isEqualToString:dataModel.fileUrl]){
|
|
|
- dataModel.downloadBoxStateType = downloadBoxStateDownloadloading;
|
|
|
dataModel.totalSize = model.totalSize;
|
|
|
dataModel.currentSize = model.currentSize;
|
|
|
+ if(dataModel.downloadBoxStateType == downloadBoxStateSuspend){
|
|
|
+ canReloadData = NO;
|
|
|
+ }
|
|
|
+
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- [self reloadData];
|
|
|
+ if (canReloadData) {
|
|
|
+ [self reloadData];
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
#pragma mark 下载完成数据回调处理
|