incubator-callback-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From agri...@apache.org
Subject ios commit: Fix bug in FileTransfer progress events.
Date Mon, 24 Sep 2012 18:05:16 GMT
Updated Branches:
  refs/heads/master d0488e3be -> fd72ae269


Fix bug in FileTransfer progress events.

Use only download progress for .download(), and only upload progress for
.upload()


Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/commit/fd72ae26
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/tree/fd72ae26
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/diff/fd72ae26

Branch: refs/heads/master
Commit: fd72ae2690f5f7d2ebdf82aa8512416d5c4e901c
Parents: d0488e3
Author: Andrew Grieve <agrieve@chromium.org>
Authored: Mon Sep 24 14:04:24 2012 -0400
Committer: Andrew Grieve <agrieve@chromium.org>
Committed: Mon Sep 24 14:04:24 2012 -0400

----------------------------------------------------------------------
 CordovaLib/Classes/CDVFileTransfer.m |   36 +++++++++++++++-------------
 1 files changed, 19 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/fd72ae26/CordovaLib/Classes/CDVFileTransfer.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVFileTransfer.m b/CordovaLib/Classes/CDVFileTransfer.m
index d37702b..eaaa3ca 100644
--- a/CordovaLib/Classes/CDVFileTransfer.m
+++ b/CordovaLib/Classes/CDVFileTransfer.m
@@ -502,28 +502,30 @@ static CFIndex WriteDataToStream(NSData* data, CFWriteStreamRef stream)
     self.bytesTransfered += data.length;
     [self.responseData appendData:data];
 
-    BOOL lengthComputable = (self.bytesExpected != NSURLResponseUnknownLength);
-    NSMutableDictionary* downloadProgress = [NSMutableDictionary dictionaryWithCapacity:3];
-    [downloadProgress setObject:[NSNumber numberWithBool:lengthComputable] forKey:@"lengthComputable"];
-    [downloadProgress setObject:[NSNumber numberWithInt:self.bytesTransfered] forKey:@"loaded"];
-    [downloadProgress setObject:[NSNumber numberWithInt:self.bytesExpected] forKey:@"total"];
-
-    CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:downloadProgress];
-    [result setKeepCallbackAsBool:true];
-    [self.command writeJavascript:[result toSuccessCallbackString:callbackId]];
+    if (self.direction == CDV_TRANSFER_DOWNLOAD) {
+        BOOL lengthComputable = (self.bytesExpected != NSURLResponseUnknownLength);
+        NSMutableDictionary* downloadProgress = [NSMutableDictionary dictionaryWithCapacity:3];
+        [downloadProgress setObject:[NSNumber numberWithBool:lengthComputable] forKey:@"lengthComputable"];
+        [downloadProgress setObject:[NSNumber numberWithInt:self.bytesTransfered] forKey:@"loaded"];
+        [downloadProgress setObject:[NSNumber numberWithInt:self.bytesExpected] forKey:@"total"];
+        CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:downloadProgress];
+        [result setKeepCallbackAsBool:true];
+        [self.command writeJavascript:[result toSuccessCallbackString:callbackId]];
+    }
 }
 
 - (void)connection:(NSURLConnection*)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten
totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite
 {
-    NSMutableDictionary* uploadProgress = [NSMutableDictionary dictionaryWithCapacity:3];
-
-    [uploadProgress setObject:[NSNumber numberWithBool:true] forKey:@"lengthComputable"];
-    [uploadProgress setObject:[NSNumber numberWithInt:totalBytesWritten] forKey:@"loaded"];
-    [uploadProgress setObject:[NSNumber numberWithInt:totalBytesExpectedToWrite] forKey:@"total"];
-    CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:uploadProgress];
-    [result setKeepCallbackAsBool:true];
-    [self.command writeJavascript:[result toSuccessCallbackString:callbackId]];
+    if (self.direction == CDV_TRANSFER_UPLOAD) {
+        NSMutableDictionary* uploadProgress = [NSMutableDictionary dictionaryWithCapacity:3];
 
+        [uploadProgress setObject:[NSNumber numberWithBool:true] forKey:@"lengthComputable"];
+        [uploadProgress setObject:[NSNumber numberWithInt:totalBytesWritten] forKey:@"loaded"];
+        [uploadProgress setObject:[NSNumber numberWithInt:totalBytesExpectedToWrite] forKey:@"total"];
+        CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:uploadProgress];
+        [result setKeepCallbackAsBool:true];
+        [self.command writeJavascript:[result toSuccessCallbackString:callbackId]];
+    }
     self.bytesTransfered = totalBytesWritten;
 }
 


Mime
View raw message