Fix enabling/disabling the feedbackmanager

This commit is contained in:
Benjamin Scholtysik (Reimold)
2017-01-10 09:15:27 -08:00
parent 191d532b37
commit de53fe034d
10 changed files with 572 additions and 469 deletions

View File

@@ -219,7 +219,9 @@ typedef NS_ENUM(NSInteger, BITFeedbackObservationMode) {
This will grab the latest image from the camera roll. Requires iOS 7 or later! It also requires to add a NSPhotoLibraryUsageDescription to your app's Info.plist.
- `BITFeedbackObservationModeThreeFingerTap`: Triggers when the user taps on the screen with three fingers. Takes a screenshot and attaches it to the composer. It also requires to add a NSPhotoLibraryUsageDescription to your app's Info.plist.
Default is `BITFeedbackObservationNone`
Default is `BITFeedbackObservationNone`.
If BITFeedbackManger was disabled, setting a new value will be ignored.
@see `[BITHockeyManager disableFeedbackManager]`
@see showFeedbackComposeViewWithGeneratedScreenshot
*/

File diff suppressed because it is too large Load Diff

View File

@@ -34,6 +34,8 @@ extern NSString *const kBITFeedbackUpdateAttachmentThumbnail;
#import "BITFeedbackMessage.h"
@class UITapGestureRecognizer;
@interface BITFeedbackManager () <UIAlertViewDelegate> {
}
@@ -61,6 +63,11 @@ extern NSString *const kBITFeedbackUpdateAttachmentThumbnail;
// used by BITHockeyManager if disable status is changed
@property (nonatomic, getter = isFeedbackManagerDisabled) BOOL disableFeedbackManager;
// TapRecognizer used in case feedback observation mode is BITFeedbackObservationModeThreeFingerTap is set.
@property(nonatomic, strong) UITapGestureRecognizer *tapRecognizer;
@property(nonatomic) BOOL observationModeOnScreenshotEnabled;
@property(nonatomic) BOOL observationModeThreeFingerTapEnabled;
@property (nonatomic, strong) BITFeedbackListViewController *currentFeedbackListViewController;
@property (nonatomic, strong) BITFeedbackComposeViewController *currentFeedbackComposeViewController;
@@ -75,6 +82,7 @@ extern NSString *const kBITFeedbackUpdateAttachmentThumbnail;
@property (nonatomic, copy) NSString *userEmail;
// Fetch user meta data
- (BOOL)updateUserIDUsingKeychainAndDelegate;
- (BOOL)updateUserNameUsingKeychainAndDelegate;

View File

@@ -884,6 +884,7 @@
8034E6B61BA3567B00D83A30 /* BITDataTests.m */,
8034E6B71BA3567B00D83A30 /* BITDeviceTests.m */,
8034E6B81BA3567B00D83A30 /* BITDomainTests.m */,
1E61CCAE18E0585A00A5E38E /* BITFeedbackManagerTests.m */,
8034E6B91BA3567B00D83A30 /* BITInternalTests.m */,
8034E6BA1BA3567B00D83A30 /* BITPersistenceTests.m */,
8034E6BC1BA3567B00D83A30 /* BITSenderTests.m */,
@@ -895,7 +896,6 @@
8034E6C31BA3567B00D83A30 /* BITUserTests.m */,
8034E6B31BA3567B00D83A30 /* BITAuthenticatorTests.m */,
8034E6BE1BA3567B00D83A30 /* BITStoreUpdateManagerTests.m */,
1E61CCAE18E0585A00A5E38E /* BITFeedbackManagerTests.m */,
E40E0B0817DA19DC005E38C1 /* BITHockeyAppClientTests.m */,
1E70A23517F31B82001BB32D /* BITHockeyHelperTests.m */,
E4507E4217F0658F00171A0D /* BITKeychainUtilsTests.m */,
@@ -1612,7 +1612,7 @@
isa = PBXProject;
attributes = {
LastTestingUpgradeCheck = 0600;
LastUpgradeCheck = 0810;
LastUpgradeCheck = 0820;
TargetAttributes = {
1EB6173E1B0A30480035A986 = {
CreatedOnToolsVersion = 6.3.1;

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0810"
LastUpgradeVersion = "0820"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0810"
LastUpgradeVersion = "0820"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0810"
LastUpgradeVersion = "0820"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0810"
LastUpgradeVersion = "0820"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0810"
LastUpgradeVersion = "0820"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@@ -229,6 +229,57 @@
[verifyCount(classMock, times(1)) allowAutomaticFetchingForNewFeedbackForManager:self.sut];
}
- (void)testFeedbackObservationModeDefault {
XCTAssertTrue(self.sut.feedbackObservationMode == BITFeedbackObservationNone);
XCTAssertFalse(self.sut.observationModeOnScreenshotEnabled);
XCTAssertFalse(self.sut.observationModeThreeFingerTapEnabled);
XCTAssertNil(self.sut.tapRecognizer);
}
- (void)testSetFeedbackObservationMode {
[self.sut setFeedbackObservationMode:BITFeedbackObservationModeOnScreenshot];
XCTAssertTrue(self.sut.observationModeOnScreenshotEnabled);
XCTAssertFalse(self.sut.observationModeThreeFingerTapEnabled);
XCTAssertNil(self.sut.tapRecognizer);
XCTAssertTrue(self.sut.feedbackObservationMode == BITFeedbackObservationModeOnScreenshot);
[self.sut setFeedbackObservationMode:BITFeedbackObservationNone];
XCTAssertFalse(self.sut.observationModeOnScreenshotEnabled);
XCTAssertFalse(self.sut.observationModeThreeFingerTapEnabled);
XCTAssertNil(self.sut.tapRecognizer);
XCTAssertTrue(self.sut.feedbackObservationMode == BITFeedbackObservationNone);
[self.sut setFeedbackObservationMode:BITFeedbackObservationModeThreeFingerTap];
XCTAssertFalse(self.sut.observationModeOnScreenshotEnabled);
XCTAssertTrue(self.sut.observationModeThreeFingerTapEnabled);
XCTAssertNotNil(self.sut.tapRecognizer);
XCTAssertTrue(self.sut.feedbackObservationMode == BITFeedbackObservationModeThreeFingerTap);
[self.sut setFeedbackObservationMode:BITFeedbackObservationNone];
XCTAssertFalse(self.sut.observationModeOnScreenshotEnabled);
XCTAssertFalse(self.sut.observationModeThreeFingerTapEnabled);
XCTAssertNil(self.sut.tapRecognizer);
XCTAssertTrue(self.sut.feedbackObservationMode == BITFeedbackObservationNone);
[self.sut setFeedbackObservationMode:BITFeedbackObservationModeThreeFingerTap];
XCTAssertFalse(self.sut.observationModeOnScreenshotEnabled);
XCTAssertTrue(self.sut.observationModeThreeFingerTapEnabled);
XCTAssertNotNil(self.sut.tapRecognizer);
XCTAssertTrue(self.sut.feedbackObservationMode == BITFeedbackObservationModeThreeFingerTap);
[self.sut setFeedbackObservationMode:BITFeedbackObservationModeOnScreenshot];
XCTAssertTrue(self.sut.observationModeOnScreenshotEnabled);
XCTAssertFalse(self.sut.observationModeThreeFingerTapEnabled);
XCTAssertNil(self.sut.tapRecognizer);
XCTAssertTrue(self.sut.feedbackObservationMode == BITFeedbackObservationModeOnScreenshot);
[self.sut setFeedbackObservationMode:BITFeedbackObservationModeThreeFingerTap];
XCTAssertFalse(self.sut.observationModeOnScreenshotEnabled);
XCTAssertTrue(self.sut.observationModeThreeFingerTapEnabled);
XCTAssertNotNil(self.sut.tapRecognizer);
XCTAssertTrue(self.sut.feedbackObservationMode == BITFeedbackObservationModeThreeFingerTap);
}
#pragma mark - FeedbackManagerDelegate Tests
- (void)testFeedbackComposeViewController {