diff --git a/Classes/BWQuincyManager.h b/Classes/BWQuincyManager.h index 8e946a22ac..23d9fa0230 100644 --- a/Classes/BWQuincyManager.h +++ b/Classes/BWQuincyManager.h @@ -139,6 +139,9 @@ typedef enum CrashReportStatus { // Invoked before the user is asked to send a crash report, so you can do additional actions. E.g. to make sure not to ask the user for an app rating :) -(void) willShowSubmitCrashReportAlert; +// Invoked after the user did choose to send crashes always in the alert +-(void) userDidChooseSendAlways; + @end @interface BWQuincyManager : NSObject { diff --git a/Classes/BWQuincyManager.m b/Classes/BWQuincyManager.m index 7753489b10..4f05211fed 100644 --- a/Classes/BWQuincyManager.m +++ b/Classes/BWQuincyManager.m @@ -377,22 +377,31 @@ NSString *BWQuincyLocalize(NSString *stringToken) { #pragma mark UIAlertView Delegate - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { - if ([alertView tag] == QuincyKitAlertTypeSend) { - switch (buttonIndex) { - case 0: + if ([alertView tag] == QuincyKitAlertTypeSend) { + switch (buttonIndex) { + case 0: _sendingInProgress = NO; - [self _cleanCrashReports]; - break; - case 1: - [self _sendCrashReports]; - break; - case 2: - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:kAutomaticallySendCrashReports]; - - [self _sendCrashReports]; - break; - } - } + [self _cleanCrashReports]; + break; + case 1: + [self _sendCrashReports]; + break; + case 2: { + [[NSUserDefaults standardUserDefaults] setBool:YES forKey:kAutomaticallySendCrashReports]; + [[NSUserDefaults standardUserDefaults] synchronize]; + if (self.delegate != nil && [self.delegate respondsToSelector:@selector(userDidChooseSendAlways)]) { + [self.delegate userDidChooseSendAlways]; + } + + [self _sendCrashReports]; + break; + } + default: + _sendingInProgress = NO; + [self _cleanCrashReports]; + break; + } + } } #pragma mark -