diff --git a/Classes/BITUpdateViewController.m b/Classes/BITUpdateViewController.m index 142112efaa..4a5f187750 100644 --- a/Classes/BITUpdateViewController.m +++ b/Classes/BITUpdateViewController.m @@ -146,6 +146,31 @@ [(UIButton *)sender setBackgroundColor:BIT_RGBCOLOR(245, 245, 245)]; } +- (UIImage *)gradientButtonHighlightImage { + CGFloat width = 10; + CGFloat height = 70; + + CGSize size = CGSizeMake(width, height); + UIGraphicsBeginImageContextWithOptions(size, NO, 0); + CGContextRef context = UIGraphicsGetCurrentContext(); + + CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); + + NSArray *colors = [NSArray arrayWithObjects:(id)BIT_RGBCOLOR(69, 127, 247).CGColor, (id)BIT_RGBCOLOR(58, 68, 233).CGColor, nil]; + CGGradientRef gradient = CGGradientCreateWithColors(CGColorGetColorSpace((__bridge CGColorRef)[colors objectAtIndex:0]), (__bridge CFArrayRef)colors, (CGFloat[2]){0, 1}); + CGPoint top = CGPointMake(width / 2, 0); + CGPoint bottom = CGPointMake(width / 2, height); + CGContextDrawLinearGradient(context, gradient, top, bottom, 0); + + UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext(); + + CGGradientRelease(gradient); + CGColorSpaceRelease(colorspace); + UIGraphicsEndImageContext(); + + return theImage; +} + - (void)showHidePreviousVersionsButton { BOOL multipleVersionButtonNeeded = [_updateManager.appVersions count] > 1 && !_showAllVersions; @@ -174,7 +199,7 @@ [footerButton setTitle:BITHockeyLocalizedString(@"UpdateShowPreviousVersions") forState:UIControlStateNormal]; [footerButton setTitleColor:BIT_RGBCOLOR(61, 61, 61) forState:UIControlStateNormal]; [footerButton setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted]; - [footerButton setBackgroundImage:bit_imageNamed(@"buttonHighlight.png", BITHOCKEYSDK_BUNDLE) forState:UIControlStateHighlighted]; + [footerButton setBackgroundImage:[self gradientButtonHighlightImage] forState:UIControlStateHighlighted]; footerButton.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin; [footerButton addTarget:self action:@selector(showPreviousVersionAction) forControlEvents:UIControlEventTouchUpInside]; footerButton.frame = CGRectMake(0, kMinPreviousVersionButtonHeight-44, self.view.frame.size.width, 44); diff --git a/Resources/Arrow.png b/Resources/Arrow.png index 6d8fac1039..92ff5f668e 100644 Binary files a/Resources/Arrow.png and b/Resources/Arrow.png differ diff --git a/Resources/Arrow@2x.png b/Resources/Arrow@2x.png index 116a47ee03..2f2c11bb2a 100644 Binary files a/Resources/Arrow@2x.png and b/Resources/Arrow@2x.png differ diff --git a/Resources/Arrow@3x.png b/Resources/Arrow@3x.png new file mode 100644 index 0000000000..673afc363e Binary files /dev/null and b/Resources/Arrow@3x.png differ diff --git a/Resources/Blur.png b/Resources/Blur.png index 7dd64b9fe3..a741c73512 100644 Binary files a/Resources/Blur.png and b/Resources/Blur.png differ diff --git a/Resources/Blur@2x.png b/Resources/Blur@2x.png index 8cf6ffe5bc..0507b868ed 100644 Binary files a/Resources/Blur@2x.png and b/Resources/Blur@2x.png differ diff --git a/Resources/Blur@3x.png b/Resources/Blur@3x.png new file mode 100644 index 0000000000..1e97d7b068 Binary files /dev/null and b/Resources/Blur@3x.png differ diff --git a/Resources/Cancel.png b/Resources/Cancel.png index b8112db68f..a1306b5859 100644 Binary files a/Resources/Cancel.png and b/Resources/Cancel.png differ diff --git a/Resources/Cancel@2x.png b/Resources/Cancel@2x.png index 3ddef8cb23..9cca5dd247 100644 Binary files a/Resources/Cancel@2x.png and b/Resources/Cancel@2x.png differ diff --git a/Resources/Cancel@3x.png b/Resources/Cancel@3x.png new file mode 100644 index 0000000000..8696e1136a Binary files /dev/null and b/Resources/Cancel@3x.png differ diff --git a/Resources/Ok.png b/Resources/Ok.png index 865372fa37..73039b5a23 100644 Binary files a/Resources/Ok.png and b/Resources/Ok.png differ diff --git a/Resources/Ok@2x.png b/Resources/Ok@2x.png index f1915b84f8..ad7c7603ba 100644 Binary files a/Resources/Ok@2x.png and b/Resources/Ok@2x.png differ diff --git a/Resources/Ok@3x.png b/Resources/Ok@3x.png new file mode 100644 index 0000000000..0d79bf61b9 Binary files /dev/null and b/Resources/Ok@3x.png differ diff --git a/Resources/Rectangle.png b/Resources/Rectangle.png index 49d81ea6b4..f8328b3dc5 100644 Binary files a/Resources/Rectangle.png and b/Resources/Rectangle.png differ diff --git a/Resources/Rectangle@2x.png b/Resources/Rectangle@2x.png index c7e413d1d4..76032dac45 100644 Binary files a/Resources/Rectangle@2x.png and b/Resources/Rectangle@2x.png differ diff --git a/Resources/Rectangle@3x.png b/Resources/Rectangle@3x.png new file mode 100644 index 0000000000..1c9ec59f09 Binary files /dev/null and b/Resources/Rectangle@3x.png differ diff --git a/Resources/authorize_denied.png b/Resources/authorize_denied.png index 6a97107d4f..c52a28b848 100644 Binary files a/Resources/authorize_denied.png and b/Resources/authorize_denied.png differ diff --git a/Resources/authorize_denied@2x.png b/Resources/authorize_denied@2x.png index be5a42c34b..fa76b1c323 100644 Binary files a/Resources/authorize_denied@2x.png and b/Resources/authorize_denied@2x.png differ diff --git a/Resources/authorize_denied@3x.png b/Resources/authorize_denied@3x.png new file mode 100644 index 0000000000..40a2594ddc Binary files /dev/null and b/Resources/authorize_denied@3x.png differ diff --git a/Resources/buttonHighlight.png b/Resources/buttonHighlight.png deleted file mode 100644 index e2de297538..0000000000 Binary files a/Resources/buttonHighlight.png and /dev/null differ diff --git a/Resources/buttonHighlight@2x.png b/Resources/buttonHighlight@2x.png deleted file mode 100644 index 1ddefa33c6..0000000000 Binary files a/Resources/buttonHighlight@2x.png and /dev/null differ diff --git a/Resources/feedbackActivity.png b/Resources/feedbackActivity.png new file mode 100644 index 0000000000..25ec320abd Binary files /dev/null and b/Resources/feedbackActivity.png differ diff --git a/Resources/feedbackActivity@2x.png b/Resources/feedbackActivity@2x.png new file mode 100644 index 0000000000..8303322294 Binary files /dev/null and b/Resources/feedbackActivity@2x.png differ diff --git a/Resources/feedbackActivity@3x.png b/Resources/feedbackActivity@3x.png new file mode 100644 index 0000000000..ee3d0af753 Binary files /dev/null and b/Resources/feedbackActivity@3x.png differ diff --git a/Support/HockeySDK.xcodeproj/project.pbxproj b/Support/HockeySDK.xcodeproj/project.pbxproj index 4f28f8baa2..62bac7d296 100644 --- a/Support/HockeySDK.xcodeproj/project.pbxproj +++ b/Support/HockeySDK.xcodeproj/project.pbxproj @@ -83,6 +83,13 @@ 1E49A4D3161222B900463151 /* BITWebTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E49A4AC161222B900463151 /* BITWebTableViewCell.m */; }; 1E49A4D8161222D400463151 /* HockeySDKPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E49A4D4161222D400463151 /* HockeySDKPrivate.h */; }; 1E49A4DB161222D400463151 /* HockeySDKPrivate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E49A4D5161222D400463151 /* HockeySDKPrivate.m */; }; + 1E4CD1E419D17E9D00019DD4 /* Arrow@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E4CD1E319D17E9D00019DD4 /* Arrow@3x.png */; }; + 1E4CD1E619D17EA300019DD4 /* Blur@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E4CD1E519D17EA300019DD4 /* Blur@3x.png */; }; + 1E4CD1E819D17EAD00019DD4 /* Cancel@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E4CD1E719D17EAD00019DD4 /* Cancel@3x.png */; }; + 1E4CD1EA19D17EB700019DD4 /* Ok@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E4CD1E919D17EB700019DD4 /* Ok@3x.png */; }; + 1E4CD1EC19D17EBE00019DD4 /* Rectangle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E4CD1EB19D17EBE00019DD4 /* Rectangle@3x.png */; }; + 1E4CD1EE19D17ECF00019DD4 /* feedbackActivity@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E4CD1ED19D17ECF00019DD4 /* feedbackActivity@3x.png */; }; + 1E4CD1F019D17EE400019DD4 /* authorize_denied@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E4CD1EF19D17EE400019DD4 /* authorize_denied@3x.png */; }; 1E5954D315B6F24A00A03429 /* BITHockeyManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E41EB466148D7BF50015DEDC /* BITHockeyManager.m */; }; 1E5954DC15B6F24A00A03429 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E400561D148D79B500EB22B9 /* Foundation.framework */; }; 1E5954DD15B6F24A00A03429 /* CrashReporter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E41EB48B148D7C4E0015DEDC /* CrashReporter.framework */; }; @@ -91,8 +98,6 @@ 1E5955C615B71C8600A03429 /* authorize_denied.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E5955BB15B71C8600A03429 /* authorize_denied.png */; }; 1E5955C715B71C8600A03429 /* authorize_denied@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E5955BC15B71C8600A03429 /* authorize_denied@2x.png */; }; 1E5955CA15B71C8600A03429 /* bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E5955BF15B71C8600A03429 /* bg.png */; }; - 1E5955CB15B71C8600A03429 /* buttonHighlight.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E5955C015B71C8600A03429 /* buttonHighlight.png */; }; - 1E5955CC15B71C8600A03429 /* buttonHighlight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E5955C115B71C8600A03429 /* buttonHighlight@2x.png */; }; 1E5955CF15B71C8600A03429 /* IconGradient.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E5955C415B71C8600A03429 /* IconGradient.png */; }; 1E5955D015B71C8600A03429 /* IconGradient@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E5955C515B71C8600A03429 /* IconGradient@2x.png */; }; 1E5955FD15B7877B00A03429 /* BITHockeyManagerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E5955FA15B7877A00A03429 /* BITHockeyManagerDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -268,6 +273,13 @@ 1E49A4AC161222B900463151 /* BITWebTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BITWebTableViewCell.m; sourceTree = ""; }; 1E49A4D4161222D400463151 /* HockeySDKPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HockeySDKPrivate.h; sourceTree = ""; }; 1E49A4D5161222D400463151 /* HockeySDKPrivate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HockeySDKPrivate.m; sourceTree = ""; }; + 1E4CD1E319D17E9D00019DD4 /* Arrow@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Arrow@3x.png"; sourceTree = ""; }; + 1E4CD1E519D17EA300019DD4 /* Blur@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Blur@3x.png"; sourceTree = ""; }; + 1E4CD1E719D17EAD00019DD4 /* Cancel@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Cancel@3x.png"; sourceTree = ""; }; + 1E4CD1E919D17EB700019DD4 /* Ok@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Ok@3x.png"; sourceTree = ""; }; + 1E4CD1EB19D17EBE00019DD4 /* Rectangle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Rectangle@3x.png"; sourceTree = ""; }; + 1E4CD1ED19D17ECF00019DD4 /* feedbackActivity@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "feedbackActivity@3x.png"; sourceTree = ""; }; + 1E4CD1EF19D17EE400019DD4 /* authorize_denied@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "authorize_denied@3x.png"; sourceTree = ""; }; 1E5954F215B6F24A00A03429 /* libHockeySDK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libHockeySDK.a; sourceTree = BUILT_PRODUCTS_DIR; }; 1E59550A15B6F45800A03429 /* HockeySDKResources.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HockeySDKResources.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 1E59556015B6F80E00A03429 /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/HockeySDK.strings; sourceTree = ""; }; @@ -280,8 +292,6 @@ 1E5955BB15B71C8600A03429 /* authorize_denied.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = authorize_denied.png; sourceTree = ""; }; 1E5955BC15B71C8600A03429 /* authorize_denied@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "authorize_denied@2x.png"; sourceTree = ""; }; 1E5955BF15B71C8600A03429 /* bg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bg.png; sourceTree = ""; }; - 1E5955C015B71C8600A03429 /* buttonHighlight.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = buttonHighlight.png; sourceTree = ""; }; - 1E5955C115B71C8600A03429 /* buttonHighlight@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "buttonHighlight@2x.png"; sourceTree = ""; }; 1E5955C415B71C8600A03429 /* IconGradient.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = IconGradient.png; sourceTree = ""; }; 1E5955C515B71C8600A03429 /* IconGradient@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "IconGradient@2x.png"; sourceTree = ""; }; 1E5955FA15B7877A00A03429 /* BITHockeyManagerDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BITHockeyManagerDelegate.h; sourceTree = ""; }; @@ -429,21 +439,25 @@ children = ( 9782022818F81BFC00A98D8B /* Arrow.png */, 9782022918F81BFC00A98D8B /* Arrow@2x.png */, + 1E4CD1E319D17E9D00019DD4 /* Arrow@3x.png */, 9782022A18F81BFC00A98D8B /* Blur.png */, 9782022B18F81BFC00A98D8B /* Blur@2x.png */, + 1E4CD1E519D17EA300019DD4 /* Blur@3x.png */, 9782022C18F81BFC00A98D8B /* Cancel.png */, 9782022D18F81BFC00A98D8B /* Cancel@2x.png */, + 1E4CD1E719D17EAD00019DD4 /* Cancel@3x.png */, 9782022E18F81BFC00A98D8B /* Ok.png */, 9782022F18F81BFC00A98D8B /* Ok@2x.png */, + 1E4CD1E919D17EB700019DD4 /* Ok@3x.png */, 9782023018F81BFC00A98D8B /* Rectangle.png */, 9782023118F81BFC00A98D8B /* Rectangle@2x.png */, + 1E4CD1EB19D17EBE00019DD4 /* Rectangle@3x.png */, 97F0F9FB18ABAECD00EF50AA /* iconCamera.png */, 97F0F9FC18ABAECD00EF50AA /* iconCamera@2x.png */, 1E5955BB15B71C8600A03429 /* authorize_denied.png */, 1E5955BC15B71C8600A03429 /* authorize_denied@2x.png */, + 1E4CD1EF19D17EE400019DD4 /* authorize_denied@3x.png */, 1E5955BF15B71C8600A03429 /* bg.png */, - 1E5955C015B71C8600A03429 /* buttonHighlight.png */, - 1E5955C115B71C8600A03429 /* buttonHighlight@2x.png */, 1E1127BC16580C87007067A2 /* buttonRoundedDelete.png */, 1E1127BD16580C87007067A2 /* buttonRoundedDelete@2x.png */, 1E1127BE16580C87007067A2 /* buttonRoundedDeleteHighlighted.png */, @@ -458,6 +472,7 @@ 1EAF20A5162DC0F600957B1D /* feedbackActivity~ipad.png */, 1EAF20A6162DC0F600957B1D /* feedbackActiviy.png */, 1EAF20A7162DC0F600957B1D /* feedbackActiviy@2x.png */, + 1E4CD1ED19D17ECF00019DD4 /* feedbackActivity@3x.png */, ); name = Images; sourceTree = ""; @@ -925,12 +940,12 @@ 1E5955C715B71C8600A03429 /* authorize_denied@2x.png in Resources */, 9782023B18F81BFC00A98D8B /* Rectangle@2x.png in Resources */, 1E5955CA15B71C8600A03429 /* bg.png in Resources */, + 1E4CD1E819D17EAD00019DD4 /* Cancel@3x.png in Resources */, + 1E4CD1EA19D17EB700019DD4 /* Ok@3x.png in Resources */, 97F0F9FD18ABAECD00EF50AA /* iconCamera.png in Resources */, 9782023618F81BFC00A98D8B /* Cancel.png in Resources */, 9782023318F81BFC00A98D8B /* Arrow@2x.png in Resources */, 9782023818F81BFC00A98D8B /* Ok.png in Resources */, - 1E5955CB15B71C8600A03429 /* buttonHighlight.png in Resources */, - 1E5955CC15B71C8600A03429 /* buttonHighlight@2x.png in Resources */, 1E5955CF15B71C8600A03429 /* IconGradient.png in Resources */, 1E5955D015B71C8600A03429 /* IconGradient@2x.png in Resources */, 9782023218F81BFC00A98D8B /* Arrow.png in Resources */, @@ -940,6 +955,7 @@ 9782023918F81BFC00A98D8B /* Ok@2x.png in Resources */, 9782023418F81BFC00A98D8B /* Blur.png in Resources */, 1EAF20AA162DC0F600957B1D /* feedbackActiviy.png in Resources */, + 1E4CD1EE19D17ECF00019DD4 /* feedbackActivity@3x.png in Resources */, 1EAF20AB162DC0F600957B1D /* feedbackActiviy@2x.png in Resources */, 9782023518F81BFC00A98D8B /* Blur@2x.png in Resources */, 1E1127C416580C87007067A2 /* buttonRoundedDelete.png in Resources */, @@ -947,11 +963,15 @@ 1E1127C616580C87007067A2 /* buttonRoundedDeleteHighlighted.png in Resources */, 9782023718F81BFC00A98D8B /* Cancel@2x.png in Resources */, 1E1127C716580C87007067A2 /* buttonRoundedDeleteHighlighted@2x.png in Resources */, + 1E4CD1F019D17EE400019DD4 /* authorize_denied@3x.png in Resources */, 1E1127C816580C87007067A2 /* buttonRoundedRegular.png in Resources */, 97F0F9FE18ABAECD00EF50AA /* iconCamera@2x.png in Resources */, + 1E4CD1E619D17EA300019DD4 /* Blur@3x.png in Resources */, + 1E4CD1E419D17E9D00019DD4 /* Arrow@3x.png in Resources */, 1E1127C916580C87007067A2 /* buttonRoundedRegular@2x.png in Resources */, 1E1127CA16580C87007067A2 /* buttonRoundedRegularHighlighted.png in Resources */, 1E1127CB16580C87007067A2 /* buttonRoundedRegularHighlighted@2x.png in Resources */, + 1E4CD1EC19D17EBE00019DD4 /* Rectangle@3x.png in Resources */, 1EB52FD5167B766100C801D5 /* HockeySDK.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0;