downloadThumbnailManager.m 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. //
  2. // downloadThumbnailManager.m
  3. // 隐私保护
  4. //
  5. // Created by xd h on 2024/1/8.
  6. //
  7. #import "downloadThumbnailManager.h"
  8. @interface downloadThumbnailManager ()
  9. /**检测任务10s后 无反馈重新开始 */
  10. @property (nonatomic, assign) NSInteger taskRenewTime; //
  11. @end
  12. @implementation downloadThumbnailManager
  13. static downloadThumbnailManager * cur_downloadFileShareInstance = nil;
  14. +(downloadThumbnailManager *)shareInstance;
  15. {
  16. static dispatch_once_t onceToken;
  17. dispatch_once(&onceToken, ^{
  18. cur_downloadFileShareInstance = [[downloadThumbnailManager alloc] init];
  19. });
  20. return cur_downloadFileShareInstance;
  21. }
  22. - (id)init
  23. {
  24. self = [super init];
  25. if (self) {
  26. //[self initManager];
  27. }
  28. return self;
  29. }
  30. //- (void)handlToDownloadThumbnailWith:(NSArray*)Arr
  31. //{
  32. // _isPreViewTask = YES;
  33. // [self handDataArrFun:Arr];
  34. //}
  35. //- (void)handDataArrFun:(NSArray*)Arr{
  36. // if(Arr && Arr.count >0){
  37. // NSLock *lock = [NSLock new];
  38. // [lock lock];
  39. // if (!_waitDownloadTaskArr) {
  40. // _waitDownloadTaskArr = [NSMutableArray arrayWithArray:Arr];
  41. // }
  42. // else{
  43. // [_waitDownloadTaskArr addObjectsFromArray:Arr];
  44. // }
  45. //
  46. // [self planToDownloadThumbnailFun];
  47. // [lock unlock];
  48. // }
  49. //}
  50. //- (void)handlToDownloadThumbnailInDownTableViewWith:(NSArray*)Arr{
  51. // if(_isPreViewTask){
  52. // if (_downloadingTaskArr.count == 0 ) {
  53. // [self handDataArrFun:Arr];
  54. // }
  55. // else{
  56. // //不处理
  57. // }
  58. // }
  59. // else{
  60. // [self handDataArrFun:Arr];
  61. // }
  62. //}
  63. //- (void)planToDownloadThumbnailFun
  64. //{
  65. // if (!_downloadingTaskArr || _downloadingTaskArr.count == 0) {
  66. // _downloadingTaskArr = [NSMutableArray arrayWithArray:_waitDownloadTaskArr];
  67. // [_waitDownloadTaskArr removeAllObjects];
  68. // }
  69. //
  70. // [self beginDownloadThumbnailFun];
  71. //}
  72. - (void)handlToDownloadOneThumbnailWith:(couldPhoneFileModel*)model
  73. {
  74. [self beginDownloadThumbnailFun:model];
  75. }
  76. - (void)beginDownloadThumbnailFun:(couldPhoneFileModel*)model
  77. {
  78. self.curDownloadFileModel = model;
  79. // if (_downloadingTaskArr.count > 0) {
  80. // _curDownloadFileModel = _downloadingTaskArr.firstObject;
  81. // }
  82. // else{
  83. // if(_waitDownloadTaskArr && _waitDownloadTaskArr.count>0){
  84. // _downloadingTaskArr = [NSMutableArray arrayWithArray:_waitDownloadTaskArr];
  85. // [_waitDownloadTaskArr removeAllObjects];
  86. // [self beginDownloadThumbnailFun];
  87. // }
  88. // return;
  89. // }
  90. //检测本地是否已经下载文件了
  91. NSString *fileName = [self.curDownloadFileModel getFileNameFun];
  92. NSString*pathStr = [cachesFileManager getFilePathWithName:fileName type:DownLoadThumbnail];
  93. NSFileManager *manager0 = [NSFileManager defaultManager];
  94. if([manager0 fileExistsAtPath:pathStr]) {
  95. //已经下载过了
  96. [_downloadingTaskArr removeObject:_curDownloadFileModel];
  97. _curDownloadFileModel = nil;
  98. //[self beginDownloadThumbnailFun];
  99. return;
  100. }
  101. self.taskRenewTime = [iTools getNowTimeStamp];
  102. [[NSNotificationCenter defaultCenter] postNotificationName:downloadThumbnailBeginNotification object:_curDownloadFileModel];
  103. }
  104. - (void)DownloadFileDoneOneFileFun
  105. {
  106. // [_downloadingTaskArr removeObject:_curDownloadFileModel];
  107. // _curDownloadFileModel = nil;
  108. // [self beginDownloadThumbnailFun];
  109. // self.taskRenewTime = [iTools getNowTimeStamp];
  110. [[NSNotificationCenter defaultCenter] postNotificationName:downloadThumbnailDoneOneNotification object:nil];
  111. }
  112. //- (void)checkReDownloadThumbnailFileFun
  113. //{
  114. // NSInteger curTime = [iTools getNowTimeStamp];
  115. //
  116. // if(self.taskRenewTime == 0){
  117. // return;
  118. // }
  119. //
  120. // if(curTime - self.taskRenewTime < 10){
  121. // return;
  122. // }
  123. //
  124. // if((_downloadingTaskArr && _downloadingTaskArr.count >0)
  125. // ||(_waitDownloadTaskArr && _waitDownloadTaskArr.count>0)){
  126. // [self beginDownloadThumbnailFun];
  127. // }
  128. //}
  129. @end