Skip to content
This repository was archived by the owner on May 20, 2025. It is now read-only.

Commit 509cc0f

Browse files
committed
feedback
1 parent 3e5d7fd commit 509cc0f

File tree

4 files changed

+48
-43
lines changed

4 files changed

+48
-43
lines changed

CodePush.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ failCallback:(void (^)(NSError *err))failCallback;
9191
@interface CodePushTelemetryManager : NSObject
9292

9393
+ (NSDictionary *)getBinaryUpdateReport:(NSString *)appVersion;
94-
+ (NSDictionary *)getUpdateReport:(NSDictionary *)currentPackage;
9594
+ (NSDictionary *)getRollbackReport:(NSDictionary *)lastFailedPackage;
95+
+ (NSDictionary *)getUpdateReport:(NSDictionary *)currentPackage;
9696

9797
@end
9898

CodePush.m

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -503,32 +503,35 @@ - (void)savePendingUpdate:(NSString *)packageHash
503503
RCT_EXPORT_METHOD(getNewStatusReport:(RCTPromiseResolveBlock)resolve
504504
rejecter:(RCTPromiseRejectBlock)reject)
505505
{
506-
if (needToReportRollback) {
507-
needToReportRollback = NO;
508-
NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
509-
NSMutableArray *failedUpdates = [preferences objectForKey:FailedUpdatesKey];
510-
if (failedUpdates) {
511-
NSDictionary *lastFailedPackage = [failedUpdates lastObject];
512-
if (lastFailedPackage) {
513-
resolve([CodePushTelemetryManager getRollbackReport:lastFailedPackage]);
506+
507+
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
508+
if (needToReportRollback) {
509+
needToReportRollback = NO;
510+
NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
511+
NSMutableArray *failedUpdates = [preferences objectForKey:FailedUpdatesKey];
512+
if (failedUpdates) {
513+
NSDictionary *lastFailedPackage = [failedUpdates lastObject];
514+
if (lastFailedPackage) {
515+
resolve([CodePushTelemetryManager getRollbackReport:lastFailedPackage]);
516+
return;
517+
}
518+
}
519+
} else if (_isFirstRunAfterUpdate) {
520+
NSError *error;
521+
NSDictionary *currentPackage = [CodePushPackage getCurrentPackage:&error];
522+
if (!error && currentPackage) {
523+
resolve([CodePushTelemetryManager getUpdateReport:currentPackage]);
514524
return;
515525
}
516-
}
517-
} else if (_isFirstRunAfterUpdate) {
518-
NSError *error;
519-
NSDictionary *currentPackage = [CodePushPackage getCurrentPackage:&error];
520-
if (!error && currentPackage) {
521-
resolve([CodePushTelemetryManager getUpdateReport:currentPackage]);
526+
} else if (isRunningBinaryVersion || [_bridge.bundleURL.scheme hasPrefix:@"http"]) {
527+
// Check if the current appVersion has been reported.
528+
NSString *appVersion = [[CodePushConfig current] appVersion];
529+
resolve([CodePushTelemetryManager getBinaryUpdateReport:appVersion]);
522530
return;
523531
}
524-
} else if (isRunningBinaryVersion || [_bridge.bundleURL.scheme hasPrefix:@"http"]) {
525-
// Check if the current appVersion has been reported.
526-
NSString *appVersion = [[CodePushConfig current] appVersion];
527-
resolve([CodePushTelemetryManager getBinaryUpdateReport:appVersion]);
528-
return;
529-
}
530-
531-
resolve(nil);
532+
533+
resolve(nil);
534+
});
532535
}
533536

534537
/*

CodePushTelemetryManager.m

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ + (NSDictionary *)getBinaryUpdateReport:(NSString *)appVersion
2020
NSString *previousDeploymentKey = [self getDeploymentKeyFromStatusReportIdentifier:previousStatusReportIdentifier];
2121
NSString *previousLabel = [self getVersionLabelFromStatusReportIdentifier:previousStatusReportIdentifier];
2222
return @{
23-
@"appVersion": appVersion,
24-
@"previousDeploymentKey": previousDeploymentKey,
25-
@"previousLabelOrAppVersion": previousLabel
26-
};
23+
@"appVersion": appVersion,
24+
@"previousDeploymentKey": previousDeploymentKey,
25+
@"previousLabelOrAppVersion": previousLabel
26+
};
2727
} else {
2828
// Previous status report was with a binary app version.
2929
return @{
30-
@"appVersion": appVersion,
31-
@"previousLabelOrAppVersion": previousStatusReportIdentifier
32-
};
30+
@"appVersion": appVersion,
31+
@"previousLabelOrAppVersion": previousStatusReportIdentifier
32+
};
3333
}
3434
}
3535

@@ -52,34 +52,36 @@ + (NSDictionary *)getUpdateReport:(NSDictionary *)currentPackage
5252
if (previousStatusReportIdentifier == nil) {
5353
[self recordDeploymentStatusReported:currentPackageIdentifier];
5454
return @{
55-
@"package": currentPackage,
56-
@"status": DeploymentSucceeded
57-
};
55+
@"package": currentPackage,
56+
@"status": DeploymentSucceeded
57+
};
5858
} else if (![previousStatusReportIdentifier isEqualToString:currentPackageIdentifier]) {
5959
[self recordDeploymentStatusReported:currentPackageIdentifier];
6060
if ([self isStatusReportIdentifierCodePushLabel:previousStatusReportIdentifier]) {
6161
NSString *previousDeploymentKey = [self getDeploymentKeyFromStatusReportIdentifier:previousStatusReportIdentifier];
6262
NSString *previousLabel = [self getVersionLabelFromStatusReportIdentifier:previousStatusReportIdentifier];
6363
return @{
64-
@"package": currentPackage,
65-
@"status": DeploymentSucceeded,
66-
@"previousDeploymentKey": previousDeploymentKey,
67-
@"previousLabelOrAppVersion": previousLabel
68-
};
64+
@"package": currentPackage,
65+
@"status": DeploymentSucceeded,
66+
@"previousDeploymentKey": previousDeploymentKey,
67+
@"previousLabelOrAppVersion": previousLabel
68+
};
6969
} else {
7070
// Previous status report was with a binary app version.
7171
return @{
72-
@"package": currentPackage,
73-
@"status": DeploymentSucceeded,
74-
@"previousLabelOrAppVersion": previousStatusReportIdentifier
75-
};
72+
@"package": currentPackage,
73+
@"status": DeploymentSucceeded,
74+
@"previousLabelOrAppVersion": previousStatusReportIdentifier
75+
};
7676
}
7777
}
7878
}
7979

8080
return nil;
8181
}
8282

83+
#pragma mark - private methods
84+
8385
+ (NSString *)getDeploymentKeyFromStatusReportIdentifier:(NSString *)statusReportIdentifier
8486
{
8587
return [[statusReportIdentifier componentsSeparatedByString:@":"] firstObject];

android/app/src/main/java/com/microsoft/codepush/react/CodePush.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ public class CodePush {
6363
private final String REACT_DEV_BUNDLE_CACHE_FILE_NAME = "ReactNativeDevBundle.js";
6464

6565
// Helper classes.
66+
private CodePushNativeModule codePushNativeModule;
6667
private CodePushPackage codePushPackage;
6768
private CodePushReactPackage codePushReactPackage;
6869
private CodePushTelemetryManager codePushTelemetryManager;
69-
private CodePushNativeModule codePushNativeModule;
7070

7171
// Config properties.
7272
private String deploymentKey;

0 commit comments

Comments
 (0)