|
|
@@ -15,7 +15,8 @@
|
|
|
- (instancetype)init {
|
|
|
if (self = [super init]) {
|
|
|
|
|
|
- self.arr_queue = [[NSMutableArray alloc] init];
|
|
|
+ [self loadTasks];
|
|
|
+
|
|
|
self.newtaskStatus = TaskStatusWait;
|
|
|
self.maxThread = 3;
|
|
|
self.removeError=true;
|
|
|
@@ -121,6 +122,42 @@
|
|
|
path= [path stringByAppendingPathComponent:task[@"file"]];
|
|
|
return path;
|
|
|
}
|
|
|
+-(void) saveTasks
|
|
|
+{
|
|
|
+ NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
|
|
|
+ [defaults setObject:self.arr_queue forKey:@"upload_queue"];
|
|
|
+ [defaults synchronize];
|
|
|
+}
|
|
|
+-(void) loadTasks
|
|
|
+{
|
|
|
+ [self stopAllTasks];
|
|
|
+
|
|
|
+ NSMutableArray* arr = [[NSUserDefaults standardUserDefaults] objectForKey:@"upload_queue"];
|
|
|
+ if(arr!=nil)
|
|
|
+ self.arr_queue=arr;
|
|
|
+ else
|
|
|
+ self.arr_queue= [[NSMutableArray alloc] init];
|
|
|
+
|
|
|
+ for(NSMutableDictionary* task in arr)
|
|
|
+ {
|
|
|
+ if([task[@"status"] intValue]==TaskStatusStart)
|
|
|
+ task[@"status"]=[NSNumber numberWithInteger:TaskStatusWait];
|
|
|
+
|
|
|
+ if(self.autoStart)
|
|
|
+ [self startTask:task];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+-(void) stopAllTasks
|
|
|
+{
|
|
|
+ for(NSMutableDictionary* task in self.arr_queue)
|
|
|
+ {
|
|
|
+
|
|
|
+ [self stopTask:task];
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
-(void) stopTask:(NSMutableDictionary*) task
|
|
|
{
|
|
|
|
|
|
@@ -133,6 +170,14 @@
|
|
|
task[@"progress"] = [NSNumber numberWithDouble:0.0];
|
|
|
|
|
|
|
|
|
+}
|
|
|
+-(void) startAllTasks
|
|
|
+{
|
|
|
+
|
|
|
+
|
|
|
+ for(NSMutableDictionary* task in self.arr_queue)
|
|
|
+ [self startTask:task];
|
|
|
+
|
|
|
}
|
|
|
-(void) startTask:(NSMutableDictionary*) task
|
|
|
{
|