Fix bugs when changing require setters of BITFeedbackManager after the setup

If the userName and userEmail delegates are implemented and the requireUserEmail or requireUserName are changed after that, then the user interface is shown even though the delegates define the values and the user shouldn't be able to change that.
This commit is contained in:
Andreas Linde 2013-01-18 23:37:03 +01:00
parent 78b2127a92
commit 01050ea407

View File

@ -216,8 +216,8 @@
userIDForHockeyManager:[BITHockeyManager sharedHockeyManager]
componentManager:self];
if (userID) {
self.userID = userID;
availableViaDelegate = YES;
self.userID = userID;
}
}
@ -251,8 +251,8 @@
userEmailForHockeyManager:[BITHockeyManager sharedHockeyManager]
componentManager:self];
if (userEmail) {
self.userEmail = userEmail;
availableViaDelegate = YES;
self.userEmail = userEmail;
self.requireUserEmail = BITFeedbackUserDataElementDontShow;
}
}
@ -264,6 +264,12 @@
[self updateUserIDUsingDelegate];
[self updateUserNameUsingDelegate];
[self updateUserEmailUsingDelegate];
// if both values are shown via the delegates, we never ever did ask and will never ever ask for user data
if (self.requireUserName == BITFeedbackUserDataElementDontShow &&
self.requireUserEmail == BITFeedbackUserDataElementDontShow) {
self.didAskUserData = NO;
}
}
#pragma mark - Local Storage
@ -508,6 +514,8 @@
#pragma mark - User
- (BOOL)askManualUserDataAvailable {
[self updateAppDefinedUserData];
if (self.requireUserName == BITFeedbackUserDataElementDontShow &&
self.requireUserEmail == BITFeedbackUserDataElementDontShow)
return NO;
@ -516,6 +524,8 @@
}
- (BOOL)requireManualUserDataMissing {
[self updateAppDefinedUserData];
if (self.requireUserName == BITFeedbackUserDataElementRequired && !self.userName)
return YES;
@ -526,6 +536,8 @@
}
- (BOOL)isManualUserDataAvailable {
[self updateAppDefinedUserData];
if ((self.requireUserName != BITFeedbackUserDataElementDontShow && self.userName) ||
(self.requireUserEmail != BITFeedbackUserDataElementDontShow && self.userEmail))
return YES;