瀏覽代碼

1.代码暂存

huangxiaodong 1 年之前
父節點
當前提交
6b2e82215b

+ 9 - 0
创维盒子/双子星云手机/Class/Set/uploadFile/receiveView/boxDownloadFileRecordCell.m

@@ -656,6 +656,15 @@
 
 - (void)downloadTaskExeIng:(NSNotification *)notification
 {
+    //test code
+    NSMutableArray *allOperation = [[SGDownloadManager shareManager] getAllOperation];
+    NSInteger index = 0;
+    for (SGDownloadOperation *model in allOperation){
+        HLog(@"%ld  %ld %@",index,model.downloadState,model.fileName);
+        index++;
+    }
+    
+    
     SGDownloadOperation *model = notification.userInfo.allValues.firstObject;
     
     NSString * urlString = [model.url stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

+ 8 - 17
创维盒子/双子星云手机/Class/Set/uploadFile/receiveView/receiveDownloadRecordTableView.m

@@ -515,15 +515,16 @@
     
     if(isSuspendType){
         HLog(@"supendDownloadWithUrl");
-        [[SGDownloadManager shareManager] supendDownloadWithUrl:requestURLEncodedString];
+        [[boxDownloadFileManager shareInstance] suspendDownloadFileFun:NO withModel:model];
     }
     else{
         HLog(@"startDownLoadWithUrl");
         
+        [[boxDownloadFileManager shareInstance] reDownloadFileFunBy:@[model] withAll:NO];
         //因为这个框架 底层设置超过设置最大数(暂时设置为1 后续改) 就会把点击 开启的暂停
-        [[SGDownloadManager shareManager] suspendAllDownloadTask];
-        
-        [[SGDownloadManager shareManager] startDownLoadWithUrl:requestURLEncodedString];
+//        [[SGDownloadManager shareManager] suspendAllDownloadTask];
+//        
+//        [[SGDownloadManager shareManager] startDownLoadWithUrl:requestURLEncodedString];
         
 //        [[SGDownloadManager shareManager] downloadWithURL:[NSURL URLWithString:requestURLEncodedString] fileType:1 fileSize:0 complete:^(NSDictionary *respose, NSError *error) {
 //            HLog(@"%@---%@",respose, error);
@@ -569,28 +570,18 @@
             dataModel.downloadBoxStateType = downloadBoxStateSuspend;
         }
         
-        [[SGDownloadManager shareManager] suspendAllDownloadTask];
+        [[boxDownloadFileManager shareInstance] suspendDownloadFileFun:YES withModel:nil];
         
         [self reloadData];
     }
     else{
         HLog(@"startAllDownloadTask");
-        
-        ShareFileDataModel*firstmodel = nil;
         for (ShareFileDataModel*dataModel in _downloadingArr) {
             dataModel.downloadBoxStateType = downloadBoxStateDownloadloading;
-            if(!firstmodel){
-                firstmodel = dataModel;
-            }
         }
         
-        NSString *urlString = firstmodel.fileUrl;
-        NSString *requestURLEncodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
-        if(urlString){
-            [[SGDownloadManager shareManager] startDownLoadWithUrl:requestURLEncodedString];
-        }
-        
-        //[[SGDownloadManager shareManager] startAllDownloadTask];
+        [[boxDownloadFileManager shareInstance] reDownloadFileFunBy:nil withAll:YES];
+        [self reloadData];
     }
 }
 #pragma mark 点击上传成功的清空记录

+ 5 - 0
创维盒子/双子星云手机/Class/Set/uploadFile/uploadFileManager/boxDownloadFileManager.h

@@ -34,6 +34,11 @@ NS_ASSUME_NONNULL_BEGIN
 #pragma mark 开始下载文件 ShareFileDataModel
 - (void)beginDownloadFilesByUrls:(NSArray *)urlArr;
 
+#pragma mark 全部暂停 或者暂停某一个
+- (void)suspendDownloadFileFun:(BOOL)isSuspendAll withModel:(ShareFileDataModel*)dataModel;
+#pragma mark 重新开始下载 arr 目前只支持一个的情况
+- (void)reDownloadFileFunBy:(NSMutableArray*)arr withAll:(BOOL)isAllType;
+//- (void)reDownloadFileFunBy:(ShareFileDataModel*)dataModel;
 @end
 
 NS_ASSUME_NONNULL_END

+ 95 - 6
创维盒子/双子星云手机/Class/Set/uploadFile/uploadFileManager/boxDownloadFileManager.m

@@ -74,12 +74,17 @@ static boxDownloadFileManager * cur_boxDownloadFileShareInstance = nil;
         }
     }
     
-    KWeakSelf
-    //[ShareFileDataModel bg_saveOrUpdateArray:arr];
-    [ShareFileDataModel bg_saveOrUpdateArrayAsync:addTaskArr complete:^(BOOL isSuccess) {
-        [weakSelf beginDownloadFilesByUrls:addTaskArr];
-        complete(isSuccess);
-    }];
+    if(addTaskArr.count >0){
+        KWeakSelf
+        //[ShareFileDataModel bg_saveOrUpdateArray:arr];
+        [ShareFileDataModel bg_saveOrUpdateArrayAsync:addTaskArr complete:^(BOOL isSuccess) {
+            [weakSelf beginDownloadFilesByUrls:addTaskArr];
+            complete(isSuccess);
+        }];
+    }
+    else{//任务下载中
+        complete(YES);
+    }
 }
 
 #pragma mark 读取数据库数据
@@ -264,6 +269,13 @@ static boxDownloadFileManager * cur_boxDownloadFileShareInstance = nil;
     SGDownloadOperation *model = notification.userInfo.allValues.firstObject;
     [self handldDownloadDoneDataBy:model];
     //HLog(@"下载成功");
+    
+    NSMutableArray *allOperation = [[SGDownloadManager shareManager] getAllOperation];
+    NSInteger index = 0;
+    for (SGDownloadOperation *model in allOperation){
+        HLog(@"%ld  %ld %@",index,model.downloadState,model.fileName);
+        index++;
+    }
 }
 
 - (void)downloadTaskExeError:(NSNotification *)notification
@@ -360,4 +372,81 @@ static boxDownloadFileManager * cur_boxDownloadFileShareInstance = nil;
 
 }
 
+#pragma mark 全部暂停 或者暂停某一个
+- (void)suspendDownloadFileFun:(BOOL)isSuspendAll withModel:(ShareFileDataModel*)dataModel
+{
+    if(isSuspendAll){//全部暂停
+        
+        if (_databaseArr && _databaseArr.count == 3) {
+            NSMutableArray *downloadingArr = _databaseArr[0];
+            for (ShareFileDataModel*model in downloadingArr) {
+                model.downloadBoxStateType = downloadBoxStateSuspend;
+            }
+        }
+        
+        [[SGDownloadManager shareManager] suspendAllDownloadTask];
+       
+    }
+    else if(dataModel){//暂停指定任务
+        if (_databaseArr && _databaseArr.count == 3) {
+            NSMutableArray *downloadingArr = _databaseArr[0];
+            for (ShareFileDataModel*model in downloadingArr) {
+                
+                if(model.bg_id.integerValue == dataModel.bg_id.integerValue){
+                    model.downloadBoxStateType = downloadBoxStateSuspend;
+                    
+                    NSString *urlString = model.fileUrl;
+                    NSString *requestURLEncodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+                    [[SGDownloadManager shareManager] supendDownloadWithUrl:requestURLEncodedString];
+                    break;
+                }
+            }
+        }
+    }
+}
+
+#pragma mark 重新开始下载
+- (void)reDownloadFileFunBy:(NSMutableArray*)arr withAll:(BOOL)isAllType
+{
+    //目前只允许一个下载 所以先暂停任务
+    //[[SGDownloadManager shareManager] suspendAllDownloadTask];
+    
+    if(isAllType){
+        [[SGDownloadManager shareManager] startAllDownloadTask];
+        
+//        if (_databaseArr && _databaseArr.count == 3) {
+//            NSMutableArray *downloadingArr = _databaseArr[0];
+//            ShareFileDataModel*firstmodel = nil;
+//            for (ShareFileDataModel*model in downloadingArr) {
+//                model.downloadBoxStateType = downloadBoxStateDownloadloading;
+//                
+//                if(!firstmodel){
+//                    firstmodel = model;
+//                    [self reDownloadFileFunBy:firstmodel];
+//                }
+//            }
+//        }
+    }
+    else{
+        for (ShareFileDataModel*model in arr) {
+            model.downloadBoxStateType = downloadBoxStateDownloadloading;
+            [self reDownloadFileFunBy:model];
+            break;
+        }
+    }
+}
+
+
+#pragma mark 重新开启下载任务
+- (void)reDownloadFileFunBy:(ShareFileDataModel*)dataModel
+{
+    __block NSString *urlString = dataModel.fileUrl;
+    NSString *requestURLEncodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+    if(urlString){
+        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+            [[SGDownloadManager shareManager] startDownLoadWithUrl:requestURLEncodedString];
+        });
+    }
+}
+
 @end

+ 1 - 1
创维盒子/双子星云手机/CloudPlayer/View/PlayerView.m

@@ -71,7 +71,7 @@ ShowImageViewDelegate>{
                   inRect:CGRectMake(0, 0, glkshowImageView.drawableWidth, glkshowImageView.drawableHeight)
                 fromRect:[ciImage extent]];
     
-    [self->glkshowImageView display];
+    //[self->glkshowImageView display];
 }
 
 - (void)showIMage

+ 2 - 2
创维盒子/双子星云手机/Vendor/DownLoadManager/SGDwonload/SGDownloadQueue.m

@@ -23,8 +23,8 @@
 - (instancetype)init {
 
     if (self = [super init]) {
-        //_maxCount = 3;
-        _maxCount = 1;
+        _maxCount = 3;
+        //_maxCount = 5;
         [self registeNotification];
     }
     return self;