From 20dc818137fe318b836a657c166b77b4ba3780c2 Mon Sep 17 00:00:00 2001 From: Andreas Linde Date: Wed, 7 Dec 2011 15:49:30 +0100 Subject: [PATCH] Add new delegate which fires when the user selected "Send Always" in the alert --- Classes/BWQuincyManager.h | 3 +++ Classes/BWQuincyManager.m | 39 ++++++++++++++++++++++++--------------- 2 files changed, 27 insertions(+), 15 deletions(-) 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 -