From 0fe87cf8c081739dd4b1528976bfc0794561a47b Mon Sep 17 00:00:00 2001 From: Andreas Linde Date: Fri, 19 Oct 2012 21:11:22 +0200 Subject: [PATCH] Move BITFeedbackActivity customization out from BITFeedbackManager Also add first documentation parts --- Classes/BITFeedbackActivity.h | 40 +++++++++++++++++++++++++++++++++++ Classes/BITFeedbackActivity.m | 14 ++++++++---- Classes/BITFeedbackManager.h | 25 ---------------------- Classes/BITFeedbackManager.m | 6 ------ 4 files changed, 50 insertions(+), 35 deletions(-) diff --git a/Classes/BITFeedbackActivity.h b/Classes/BITFeedbackActivity.h index e6657b67f6..165235c867 100644 --- a/Classes/BITFeedbackActivity.h +++ b/Classes/BITFeedbackActivity.h @@ -10,6 +10,46 @@ #import "BITFeedbackComposeViewControllerDelegate.h" +/** + UIActivity subclass allowing to use the feedback interface to share content with the developer + + This activity can be added into an UIActivityViewController and it will use the activity data + objects to prefill the content of `BITFeedbackComposeViewController`. + + This can be useful if you present some data that users can not only share but also + report back to the developer because they have some problems, e.g. webcams not working + any more. + + The activity provide a default title and image that can be further customized + via `customActivityImage` and `customActivityTitle`. + + */ + @interface BITFeedbackActivity : UIActivity +///----------------------------------------------------------------------------- +/// @name BITFeedbackActivity customisation +///----------------------------------------------------------------------------- + + +/** + Define the image shown when using `BITFeedbackActivity` + + If not set a default icon is being used. + + @see customActivityTitle + */ +@property (nonatomic, retain) UIImage *customActivityImage; + + +/** + Define the title shown when using `BITFeedbackActivity` + + If not set, a default string is shown by using the apps name + and adding the localized string "Feedback" to it. + + @see customActivityImage + */ +@property (nonatomic, retain) NSString *customActivityTitle; + @end diff --git a/Classes/BITFeedbackActivity.m b/Classes/BITFeedbackActivity.m index 02315334df..dd96b6baa1 100644 --- a/Classes/BITFeedbackActivity.m +++ b/Classes/BITFeedbackActivity.m @@ -27,6 +27,9 @@ - (id)init { if ((self = [super init])) { + _customActivityImage = nil; + _customActivityTitle = nil; + self.items = [NSMutableArray array];; } @@ -36,6 +39,9 @@ - (void)dealloc { [_items release]; _items = nil; + [_customActivityImage release]; + [_customActivityTitle release]; + [super dealloc]; } @@ -47,8 +53,8 @@ } - (NSString *)activityTitle { - if ([BITHockeyManager sharedHockeyManager].feedbackManager.activityTitle) - return [BITHockeyManager sharedHockeyManager].feedbackManager.activityTitle; + if (self.customActivityTitle) + return self.customActivityTitle; NSString *appName = bit_appName(BITHockeyLocalizedString(@"HockeyFeedbackActivityAppPlaceholder")); @@ -56,8 +62,8 @@ } - (UIImage *)activityImage { - if ([BITHockeyManager sharedHockeyManager].feedbackManager.activityImage) - return [BITHockeyManager sharedHockeyManager].feedbackManager.activityImage; + if (self.customActivityImage) + return self.customActivityImage; return bit_imageNamed(@"feedbackActiviy.png", BITHOCKEYSDK_BUNDLE); } diff --git a/Classes/BITFeedbackManager.h b/Classes/BITFeedbackManager.h index 485f7d4317..5228115be1 100644 --- a/Classes/BITFeedbackManager.h +++ b/Classes/BITFeedbackManager.h @@ -130,29 +130,4 @@ typedef enum { - (BITFeedbackComposeViewController *)feedbackComposeViewController; -///----------------------------------------------------------------------------- -/// @name BITFeedbackActivity settings -///----------------------------------------------------------------------------- - - -/** - Define the image shown when using `BITFeedbackActivity` - - If not set a default icon is being used. - - @see activityTitle - */ -@property (nonatomic, retain) UIImage *activityImage; - - -/** - Define the title shown when using `BITFeedbackActivity` - - If not set, a default string is shown by using the apps name - and adding the localized string "Feedback" to it. - - @see activityImage - */ -@property (nonatomic, retain) NSString *activityTitle; - @end diff --git a/Classes/BITFeedbackManager.m b/Classes/BITFeedbackManager.m index 0e096fbf31..cf690b1b7c 100644 --- a/Classes/BITFeedbackManager.m +++ b/Classes/BITFeedbackManager.m @@ -79,9 +79,6 @@ _token = nil; _lastMessageID = nil; - _activityImage = nil; - _activityTitle = nil; - self.feedbackList = [NSMutableArray array]; _fileManager = [[NSFileManager alloc] init]; @@ -127,9 +124,6 @@ [_feedbackDir release], _feedbackDir = nil; [_settingsFile release], _settingsFile = nil; - [_activityImage release]; - [_activityTitle release]; - [super dealloc]; }