Преглед изворни кода

1.修改iOS Apex Drivers Upload Manager为单例,保持与Configure同步修改。

Pen Li пре 7 година
родитељ
комит
4f65ce7a9e
2 измењених фајлова са 24 додато и 2 уклоњено
  1. 3 1
      common/upload/RAUploadManager.h
  2. 21 1
      common/upload/RAUploadManager.m

+ 3 - 1
common/upload/RAUploadManager.h

@@ -41,7 +41,7 @@ extern NSString *const kUploadSetting;
 @property (nonatomic,assign) BOOL autoUpload;
 @property (nonatomic,assign) BOOL onlyWIFI;
 @property (nonatomic,assign) BOOL monitorNetwork;///<网络断开,停止所有任务。网络恢复重启任务,除了Error状态下的任务
-@property (nonatomic,assign) NSUInteger retryCount;
+@property (nonatomic,assign) int retryCount;
 @property (nonatomic,assign) NSTimeInterval retryTimeIntetval;
 
 @end
@@ -73,6 +73,8 @@ extern NSString *const kUploadSetting;
 
 @property (strong,nonatomic) NSOperationQueue* operation_queue;
 
++ (instancetype)sharedManager;
+
 + (void)configureUploadManager:(void(^)(RAUPloadManagerConfigure *configure))configure;
 
 -(void) startTask:(NSMutableDictionary*) task;

+ 21 - 1
common/upload/RAUploadManager.m

@@ -15,6 +15,8 @@ NSString *const UPLOAD_FINISH_NOTIFICATION = @"upload_finish_notification";
 NSString *const UPLOAD_COUNT_CHANGE_NOTIFICATION = @"upload_count_change_notification";
 NSString *const UPLOAD_REFRESH_UI_NOTIFICATION = @"upload_refresh_ui_notification";
 
+static RAUploadManager *sharedInstance;
+
 @interface RAUploadManager ()
 
 @property (nonatomic,strong) NSTimer *retryTimer;
@@ -77,6 +79,16 @@ NSString *const UPLOAD_REFRESH_UI_NOTIFICATION = @"upload_refresh_ui_notificatio
     
     [[NSUserDefaults standardUserDefaults] setObject:param forKey:kUploadSetting];
     [[NSUserDefaults standardUserDefaults] synchronize];
+    
+    if (sharedInstance) {
+        sharedInstance.autoStart = self.autoUpload;
+        sharedInstance.removeFinish = self.autoRemoveFinish;
+//        sharedInstance.removeError = self.autoRemoveError;
+        sharedInstance.maxRetry = self.retryCount;
+        sharedInstance.onlyWiFi = self.onlyWIFI;
+        sharedInstance.monitorNetwork = self.monitorNetwork;
+        sharedInstance.retryTimeInterval = self.retryTimeIntetval;
+    }
 }
 
 @end
@@ -93,6 +105,14 @@ NSString *const UPLOAD_REFRESH_UI_NOTIFICATION = @"upload_refresh_ui_notificatio
     }
 }
 
++ (instancetype)sharedManager {
+    static dispatch_once_t token;
+    dispatch_once(&token, ^{
+        sharedInstance = [[RAUploadManager alloc] init];
+    });
+    return sharedInstance;
+}
+
 /*!
  * Called by Reachability whenever status changes.
  */
@@ -164,7 +184,7 @@ NSString *const UPLOAD_REFRESH_UI_NOTIFICATION = @"upload_refresh_ui_notificatio
         if (param) {
             BOOL autoUpload = [[param objectForKey:@"auto_upload"] boolValue];
             BOOL autoRmFinish = [[param objectForKey:@"auto_rm_finish"] boolValue];
-            BOOL autoRmErr = [[param objectForKey:@"auto_rm_error"] boolValue];
+//            BOOL autoRmErr = [[param objectForKey:@"auto_rm_error"] boolValue];
             BOOL onlyWiFi = [[param objectForKey:@"only_wifi"] boolValue];
             int retryCount = [[param objectForKey:@"retry_count"] intValue];
             NSNumber *timeInterval = [param objectForKey:@"retry_time_interval"];