@@ -293,25 +293,25 @@ + (NSString *)getCodePushPath
293293+ (NSDictionary *)getCurrentPackage : (NSError **)error
294294{
295295 NSString *packageHash = [CodePushPackage getCurrentPackageHash: error];
296- if (*error || !packageHash) {
296+ if (!packageHash) {
297297 return nil ;
298298 }
299-
299+
300300 return [CodePushPackage getPackage: packageHash error: error];
301301}
302302
303303+ (NSString *)getCurrentPackageBundlePath : (NSError **)error
304304{
305305 NSString *packageFolder = [self getCurrentPackageFolderPath: error];
306306
307- if (*error ) {
308- return NULL ;
307+ if (!packageFolder ) {
308+ return nil ;
309309 }
310310
311311 NSDictionary *currentPackage = [self getCurrentPackage: error];
312312
313- if (*error ) {
314- return NULL ;
313+ if (!currentPackage ) {
314+ return nil ;
315315 }
316316
317317 NSString *relativeBundlePath = [currentPackage objectForKey: RelativeBundlePathKey];
@@ -325,7 +325,7 @@ + (NSString *)getCurrentPackageBundlePath:(NSError **)error
325325+ (NSString *)getCurrentPackageHash : (NSError **)error
326326{
327327 NSDictionary *info = [self getCurrentPackageInfo: error];
328- if (*error || !info) {
328+ if (!info) {
329329 return nil ;
330330 }
331331
@@ -336,14 +336,14 @@ + (NSString *)getCurrentPackageFolderPath:(NSError **)error
336336{
337337 NSDictionary *info = [self getCurrentPackageInfo: error];
338338
339- if (*error ) {
340- return NULL ;
339+ if (!info ) {
340+ return nil ;
341341 }
342342
343343 NSString *packageHash = info[@" currentPackage" ];
344344
345345 if (!packageHash) {
346- return NULL ;
346+ return nil ;
347347 }
348348
349349 return [self getPackageFolderPath: packageHash];
@@ -359,15 +359,15 @@ + (NSMutableDictionary *)getCurrentPackageInfo:(NSError **)error
359359 NSString *content = [NSString stringWithContentsOfFile: statusFilePath
360360 encoding: NSUTF8StringEncoding
361361 error: error];
362- if (*error ) {
362+ if (!content ) {
363363 return nil ;
364364 }
365365
366366 NSData *data = [content dataUsingEncoding: NSUTF8StringEncoding];
367367 NSDictionary * json = [NSJSONSerialization JSONObjectWithData: data
368368 options: kNilOptions
369369 error: error];
370- if (*error ) {
370+ if (!json ) {
371371 return nil ;
372372 }
373373
@@ -392,8 +392,7 @@ + (NSDictionary *)getPackage:(NSString *)packageHash
392392 NSString *updateMetadataString = [NSString stringWithContentsOfFile: updateMetadataFilePath
393393 encoding: NSUTF8StringEncoding
394394 error: error];
395-
396- if (*error) {
395+ if (!updateMetadataString) {
397396 return nil ;
398397 }
399398
@@ -411,7 +410,7 @@ + (NSString *)getPackageFolderPath:(NSString *)packageHash
411410+ (NSDictionary *)getPreviousPackage : (NSError **)error
412411{
413412 NSString *packageHash = [self getPreviousPackageHash: error];
414- if (*error || !packageHash) {
413+ if (!packageHash) {
415414 return nil ;
416415 }
417416
@@ -421,7 +420,7 @@ + (NSDictionary *)getPreviousPackage:(NSError **)error
421420+ (NSString *)getPreviousPackageHash : (NSError **)error
422421{
423422 NSDictionary *info = [self getCurrentPackageInfo: error];
424- if (*error ) {
423+ if (!info ) {
425424 return nil ;
426425 }
427426
@@ -438,25 +437,25 @@ + (NSString *)getUnzippedFolderPath
438437 return [[self getCodePushPath ] stringByAppendingPathComponent: UnzippedFolderName];
439438}
440439
441- + (void )installPackage : (NSDictionary *)updatePackage
440+ + (BOOL )installPackage : (NSDictionary *)updatePackage
442441 removePendingUpdate : (BOOL )removePendingUpdate
443442 error : (NSError **)error
444443{
445444 NSString *packageHash = updatePackage[@" packageHash" ];
446445 NSMutableDictionary *info = [self getCurrentPackageInfo: error];
447446
448- if (*error ) {
449- return ;
447+ if (!info ) {
448+ return NO ;
450449 }
451450
452451 if (packageHash && [packageHash isEqualToString: info[@" currentPackage" ]]) {
453452 // The current package is already the one being installed, so we should no-op.
454- return ;
453+ return YES ;
455454 }
456455
457456 if (removePendingUpdate) {
458457 NSString *currentPackageFolderPath = [self getCurrentPackageFolderPath: error];
459- if (!*error && currentPackageFolderPath) {
458+ if (currentPackageFolderPath) {
460459 // Error in deleting pending package will not cause the entire operation to fail.
461460 NSError *deleteError;
462461 [[NSFileManager defaultManager ] removeItemAtPath: currentPackageFolderPath
@@ -467,7 +466,7 @@ + (void)installPackage:(NSDictionary *)updatePackage
467466 }
468467 } else {
469468 NSString *previousPackageHash = [self getPreviousPackageHash: error];
470- if (!*error && previousPackageHash && ![previousPackageHash isEqualToString: packageHash]) {
469+ if (previousPackageHash && ![previousPackageHash isEqualToString: packageHash]) {
471470 NSString *previousPackageFolderPath = [self getPackageFolderPath: previousPackageHash];
472471 // Error in deleting old package will not cause the entire operation to fail.
473472 NSError *deleteError;
@@ -481,31 +480,30 @@ + (void)installPackage:(NSDictionary *)updatePackage
481480 }
482481
483482 [info setValue: packageHash forKey: @" currentPackage" ];
484-
485- [self updateCurrentPackageInfo: info
486- error: error];
483+ return [self updateCurrentPackageInfo: info
484+ error: error];
487485}
488486
489487+ (void )rollbackPackage
490488{
491489 NSError *error;
492490 NSMutableDictionary *info = [self getCurrentPackageInfo: &error];
493- if (error ) {
491+ if (!info ) {
494492 CPLog (@" Error getting current package info: %@ " , error);
495493 return ;
496494 }
497495
498- NSString *currentPackageFolderPath = [self getCurrentPackageFolderPath: &error];
499- if (error ) {
496+ NSString *currentPackageFolderPath = [self getCurrentPackageFolderPath: &error];
497+ if (!currentPackageFolderPath ) {
500498 CPLog (@" Error getting current package folder path: %@ " , error);
501499 return ;
502500 }
503501
504502 NSError *deleteError;
505- [[NSFileManager defaultManager ] removeItemAtPath: currentPackageFolderPath
503+ BOOL result = [[NSFileManager defaultManager ] removeItemAtPath: currentPackageFolderPath
506504 error: &deleteError];
507- if (deleteError ) {
508- CPLog (@" Error deleting current package contents at %@ " , currentPackageFolderPath);
505+ if (!result ) {
506+ CPLog (@" Error deleting current package contents at %@ error %@ " , currentPackageFolderPath, deleteError );
509507 }
510508
511509 [info setValue: info[@" previousPackage" ] forKey: @" currentPackage" ];
@@ -514,18 +512,27 @@ + (void)rollbackPackage
514512 [self updateCurrentPackageInfo: info error: &error];
515513}
516514
517- + (void )updateCurrentPackageInfo : (NSDictionary *)packageInfo
515+ + (BOOL )updateCurrentPackageInfo : (NSDictionary *)packageInfo
518516 error : (NSError **)error
519517{
520518 NSData *packageInfoData = [NSJSONSerialization dataWithJSONObject: packageInfo
521519 options: 0
522520 error: error];
521+ if (!packageInfoData) {
522+ return NO ;
523+ }
524+
523525 NSString *packageInfoString = [[NSString alloc ] initWithData: packageInfoData
524526 encoding: NSUTF8StringEncoding];
525- [packageInfoString writeToFile: [self getStatusFilePath ]
527+ BOOL result = [packageInfoString writeToFile: [self getStatusFilePath ]
526528 atomically: YES
527529 encoding: NSUTF8StringEncoding
528530 error: error];
531+
532+ if (!result) {
533+ return NO ;
534+ }
535+ return YES ;
529536}
530537
531538@end
0 commit comments