pull request fixes

This commit is contained in:
Ivan Smolin 2016-12-22 11:55:50 +03:00
parent e743950683
commit 5e482ea9e5
7 changed files with 129 additions and 99 deletions

View File

@ -19,6 +19,9 @@
7827C9391DE4ADB2009DA4E6 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7827C9331DE4ADB2009DA4E6 /* RxSwift.framework */; };
7834236A1DB8D0E100A79643 /* StoryboardProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 783423691DB8D0E100A79643 /* StoryboardProtocol.swift */; };
7837F60F1CBCF5C0000D74C1 /* EstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7837F60E1CBCF5C0000D74C1 /* EstimatedViewHeightProtocol.swift */; };
7845A1551E0BC97C00B527BB /* KeyboardDidNotificationValues.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7845A1531E0BC97C00B527BB /* KeyboardDidNotificationValues.swift */; };
7845A1561E0BC97C00B527BB /* KeyboardWillNotificationValues.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7845A1541E0BC97C00B527BB /* KeyboardWillNotificationValues.swift */; };
7845A1581E0BC9B900B527BB /* KeyboardNotificationValues.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7845A1571E0BC9B900B527BB /* KeyboardNotificationValues.swift */; };
786D78E81D53C378006B2CEA /* AlamofireRequest+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 786D78E71D53C378006B2CEA /* AlamofireRequest+Extensions.swift */; };
786D78EC1D53C46E006B2CEA /* AlamofireManager+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 786D78EB1D53C46E006B2CEA /* AlamofireManager+Extensions.swift */; };
78753E241DE58A5D006BC0FB /* CursorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78753E231DE58A5D006BC0FB /* CursorError.swift */; };
@ -33,9 +36,7 @@
789CC6081DE5835600F789D3 /* CursorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789CC6071DE5835600F789D3 /* CursorType.swift */; };
789CC60B1DE584F800F789D3 /* CursorType+Slice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789CC60A1DE584F800F789D3 /* CursorType+Slice.swift */; };
789F5A0C1DFECB71004A3694 /* UIViewAnimationCurve+AnimationOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789F5A0B1DFECB71004A3694 /* UIViewAnimationCurve+AnimationOptions.swift */; };
789F5A121DFECD11004A3694 /* KeyboardDidNotificationValues.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789F5A111DFECD11004A3694 /* KeyboardDidNotificationValues.swift */; };
789F5A141DFECD54004A3694 /* KeyboardNotificationValuesError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789F5A131DFECD54004A3694 /* KeyboardNotificationValuesError.swift */; };
789F5A161DFECD82004A3694 /* KeyboardWillNotificationValues.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789F5A151DFECD82004A3694 /* KeyboardWillNotificationValues.swift */; };
789F5A1B1DFECF2B004A3694 /* Notification+UIKeyboardInfoValues.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789F5A1A1DFECF2B004A3694 /* Notification+UIKeyboardInfoValues.swift */; };
789F5A1E1DFECF5F004A3694 /* NotificationCenter+RxKeyboardExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789F5A1D1DFECF5F004A3694 /* NotificationCenter+RxKeyboardExtensions.swift */; };
789F5A201DFECF9F004A3694 /* KeyboardNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789F5A1F1DFECF9F004A3694 /* KeyboardNotification.swift */; };
@ -95,6 +96,9 @@
7827C9331DE4ADB2009DA4E6 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = ../../../Carthage/Build/iOS/RxSwift.framework; sourceTree = "<group>"; };
783423691DB8D0E100A79643 /* StoryboardProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardProtocol.swift; sourceTree = "<group>"; };
7837F60E1CBCF5C0000D74C1 /* EstimatedViewHeightProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EstimatedViewHeightProtocol.swift; sourceTree = "<group>"; };
7845A1531E0BC97C00B527BB /* KeyboardDidNotificationValues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardDidNotificationValues.swift; sourceTree = "<group>"; };
7845A1541E0BC97C00B527BB /* KeyboardWillNotificationValues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardWillNotificationValues.swift; sourceTree = "<group>"; };
7845A1571E0BC9B900B527BB /* KeyboardNotificationValues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardNotificationValues.swift; sourceTree = "<group>"; };
786D78E71D53C378006B2CEA /* AlamofireRequest+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AlamofireRequest+Extensions.swift"; sourceTree = "<group>"; };
786D78EB1D53C46E006B2CEA /* AlamofireManager+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AlamofireManager+Extensions.swift"; sourceTree = "<group>"; };
78753E231DE58A5D006BC0FB /* CursorError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CursorError.swift; sourceTree = "<group>"; };
@ -109,9 +113,7 @@
789CC6071DE5835600F789D3 /* CursorType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CursorType.swift; sourceTree = "<group>"; };
789CC60A1DE584F800F789D3 /* CursorType+Slice.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CursorType+Slice.swift"; sourceTree = "<group>"; };
789F5A0B1DFECB71004A3694 /* UIViewAnimationCurve+AnimationOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewAnimationCurve+AnimationOptions.swift"; sourceTree = "<group>"; };
789F5A111DFECD11004A3694 /* KeyboardDidNotificationValues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardDidNotificationValues.swift; sourceTree = "<group>"; };
789F5A131DFECD54004A3694 /* KeyboardNotificationValuesError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardNotificationValuesError.swift; sourceTree = "<group>"; };
789F5A151DFECD82004A3694 /* KeyboardWillNotificationValues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardWillNotificationValues.swift; sourceTree = "<group>"; };
789F5A1A1DFECF2B004A3694 /* Notification+UIKeyboardInfoValues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Notification+UIKeyboardInfoValues.swift"; sourceTree = "<group>"; };
789F5A1D1DFECF5F004A3694 /* NotificationCenter+RxKeyboardExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NotificationCenter+RxKeyboardExtensions.swift"; sourceTree = "<group>"; };
789F5A1F1DFECF9F004A3694 /* KeyboardNotification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardNotification.swift; sourceTree = "<group>"; };
@ -202,7 +204,6 @@
78011AAE1D48B46100EA16A2 /* Structures */ = {
isa = PBXGroup;
children = (
789F5A101DFECCFE004A3694 /* KeyboardNotificationValues */,
78011AB11D48B53600EA16A2 /* Api */,
);
path = Structures;
@ -237,6 +238,16 @@
path = CGContext;
sourceTree = "<group>";
};
7845A1521E0BC97C00B527BB /* KeyboardNotificationValues */ = {
isa = PBXGroup;
children = (
7845A1571E0BC9B900B527BB /* KeyboardNotificationValues.swift */,
7845A1531E0BC97C00B527BB /* KeyboardDidNotificationValues.swift */,
7845A1541E0BC97C00B527BB /* KeyboardWillNotificationValues.swift */,
);
path = KeyboardNotificationValues;
sourceTree = "<group>";
};
786D78E61D53C355006B2CEA /* Alamofire */ = {
isa = PBXGroup;
children = (
@ -297,15 +308,6 @@
path = UIViewAnimationCurve;
sourceTree = "<group>";
};
789F5A101DFECCFE004A3694 /* KeyboardNotificationValues */ = {
isa = PBXGroup;
children = (
789F5A111DFECD11004A3694 /* KeyboardDidNotificationValues.swift */,
789F5A151DFECD82004A3694 /* KeyboardWillNotificationValues.swift */,
);
path = KeyboardNotificationValues;
sourceTree = "<group>";
};
789F5A191DFECF2B004A3694 /* Notification */ = {
isa = PBXGroup;
children = (
@ -336,6 +338,7 @@
children = (
78B0FC7B1C6B2BAE00358B64 /* Logging */,
78753E2A1DE58BED006BC0FB /* Cursors */,
7845A1521E0BC97C00B527BB /* KeyboardNotificationValues */,
);
path = Classes;
sourceTree = "<group>";
@ -692,8 +695,10 @@
788EC15A1CF64528009CFB6B /* UIStoryboard+InstantiateViewController.swift in Sources */,
787783671CA04D4A001CDC9B /* String+SizeCalculation.swift in Sources */,
78B036431DA4FEC90021D5CC /* CGImage+Transform.swift in Sources */,
7845A1551E0BC97C00B527BB /* KeyboardDidNotificationValues.swift in Sources */,
78011A641D47ABC500EA16A2 /* UIView+DefaultReuseIdentifier.swift in Sources */,
786D78EC1D53C46E006B2CEA /* AlamofireManager+Extensions.swift in Sources */,
7845A1581E0BC9B900B527BB /* KeyboardNotificationValues.swift in Sources */,
78B0FC811C6B2CD500358B64 /* App.swift in Sources */,
78B036491DA562C30021D5CC /* CGImage+Template.swift in Sources */,
789F5A1E1DFECF5F004A3694 /* NotificationCenter+RxKeyboardExtensions.swift in Sources */,
@ -706,12 +711,12 @@
78A0FCC81DC366A10070B5E1 /* StoryboardProtocol+Extensions.swift in Sources */,
78B036411DA4D7060021D5CC /* UIImage+Extensions.swift in Sources */,
78A0FCC71DC366A10070B5E1 /* StoryboardProtocol+DefaultBundle.swift in Sources */,
7845A1561E0BC97C00B527BB /* KeyboardWillNotificationValues.swift in Sources */,
78753E241DE58A5D006BC0FB /* CursorError.swift in Sources */,
786D78E81D53C378006B2CEA /* AlamofireRequest+Extensions.swift in Sources */,
78C36F811D8021DD00E7EBEA /* UIColor+Hex.swift in Sources */,
78CFEE5B1C5C45E500F50370 /* ViewModelProtocol.swift in Sources */,
789F5A1B1DFECF2B004A3694 /* Notification+UIKeyboardInfoValues.swift in Sources */,
789F5A121DFECD11004A3694 /* KeyboardDidNotificationValues.swift in Sources */,
EF5FB5691E0141610030E4BE /* UIView+Rotation.swift in Sources */,
780D23431DA412470084620D /* CGImage+Alpha.swift in Sources */,
78CFEE5A1C5C45E500F50370 /* ViewHeightProtocol.swift in Sources */,
@ -728,7 +733,6 @@
789F5A0C1DFECB71004A3694 /* UIViewAnimationCurve+AnimationOptions.swift in Sources */,
78CFEE591C5C45E500F50370 /* StoryboardIdentifierProtocol.swift in Sources */,
78011AB31D48B53600EA16A2 /* ApiRequestParameters.swift in Sources */,
789F5A161DFECD82004A3694 /* KeyboardWillNotificationValues.swift in Sources */,
78B0FC7D1C6B2BE200358B64 /* LogFormatter.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;

View File

@ -0,0 +1,17 @@
//
// KeyboardDidNotificationValues.swift
// LeadKit
//
// Created by Ivan Smolin on 12/12/16.
// Copyright © 2016 Touch Instinct. All rights reserved.
//
import UIKit
/// Struct which keeps values from one of those notifications:
/// UIKeyboardDidShow, UIKeyboardDidHide, UIKeyboardDidChangeFrame
public final class KeyboardDidNotificationValues: KeyboardNotificationValues {
// Animation key/value pairs are only available for the "will" family of notification. (UIWindow.h)
}

View File

@ -0,0 +1,38 @@
//
// KeyboardNotificationValues.swift
// LeadKit
//
// Created by Ivan Smolin on 22/12/16.
// Copyright © 2016 Touch Instinct. All rights reserved.
//
import Foundation
public class KeyboardNotificationValues {
public let sizeBegin: CGSize
public let sizeEnd: CGSize
public let isLocal: Bool
public init(sizeBegin: CGSize, sizeEnd: CGSize, isLocal: Bool) {
self.sizeBegin = sizeBegin
self.sizeEnd = sizeEnd
self.isLocal = isLocal
}
}
public extension KeyboardNotificationValues {
public convenience init(notification: Notification) throws {
guard let sizeBegin = notification.keyboardFrameBegin?.size,
let sizeEnd = notification.keyboardFrameEnd?.size,
let isLocal = notification.keyboardIsLocal else {
throw KeyboardNotificationValuesError.failedToInit(fromNotification: notification)
}
self.init(sizeBegin: sizeBegin, sizeEnd: sizeEnd, isLocal: isLocal)
}
}

View File

@ -0,0 +1,51 @@
//
// KeyboardWillNotificationValues.swift
// LeadKit
//
// Created by Ivan Smolin on 12/12/16.
// Copyright © 2016 Touch Instinct. All rights reserved.
//
import UIKit
/// Struct which keeps values from one of those notifications:
/// UIKeyboardWillShow, UIKeyboardWillHide, UIKeyboardWillChangeFrame
public final class KeyboardWillNotificationValues: KeyboardNotificationValues {
public let animationDuration: TimeInterval
public let animationCurve: UIViewAnimationCurve
public init(sizeBegin: CGSize,
sizeEnd: CGSize,
isLocal: Bool,
animationDuration: TimeInterval,
animationCurve: UIViewAnimationCurve) {
self.animationDuration = animationDuration
self.animationCurve = animationCurve
super.init(sizeBegin: sizeBegin, sizeEnd: sizeEnd, isLocal: isLocal)
}
}
public extension KeyboardWillNotificationValues {
public convenience init(willNotification: Notification) throws {
guard let sizeBegin = willNotification.keyboardFrameBegin?.size,
let sizeEnd = willNotification.keyboardFrameEnd?.size,
let animationDuration = willNotification.keyboardAnimationDuration,
let animationCurve = willNotification.keyboardAnimationCurve,
let isLocal = willNotification.keyboardIsLocal else {
throw KeyboardNotificationValuesError.failedToInit(fromNotification: willNotification)
}
self.init(sizeBegin: sizeBegin,
sizeEnd: sizeEnd,
isLocal: isLocal,
animationDuration: animationDuration,
animationCurve: animationCurve)
}
}

View File

@ -18,7 +18,7 @@ extension Reactive where Base: NotificationCenter {
let willShowObservable = rxNotificationCenter.notification(.UIKeyboardWillShow)
.map { notification -> KeyboardNotification in
return .willShow(notificationValues: try KeyboardWillNotificationValues(notification: notification))
return .willShow(notificationValues: try KeyboardWillNotificationValues(willNotification: notification))
}
let didShowObservable = rxNotificationCenter.notification(.UIKeyboardDidShow)
@ -28,7 +28,7 @@ extension Reactive where Base: NotificationCenter {
let willHideObservable = rxNotificationCenter.notification(.UIKeyboardWillHide)
.map { notification -> KeyboardNotification in
return .willHide(notificationValues: try KeyboardWillNotificationValues(notification: notification))
return .willHide(notificationValues: try KeyboardWillNotificationValues(willNotification: notification))
}
let didHideObservable = rxNotificationCenter.notification(.UIKeyboardDidHide)
@ -38,7 +38,7 @@ extension Reactive where Base: NotificationCenter {
let willChangeFrameObservable = rxNotificationCenter.notification(.UIKeyboardWillChangeFrame)
.map { notification -> KeyboardNotification in
return .willChangeFrame(notificationValues: try KeyboardWillNotificationValues(notification: notification))
return .willChangeFrame(notificationValues: try KeyboardWillNotificationValues(willNotification: notification))
}
let didChangeFrameObservable = rxNotificationCenter.notification(.UIKeyboardDidChangeFrame)

View File

@ -1,38 +0,0 @@
//
// KeyboardDidNotificationValues.swift
// LeadKit
//
// Created by Ivan Smolin on 12/12/16.
// Copyright © 2016 Touch Instinct. All rights reserved.
//
import UIKit
/// Struct which keeps values from one of those notifications:
/// UIKeyboardDidShow, UIKeyboardDidHide, UIKeyboardDidChangeFrame
public struct KeyboardDidNotificationValues {
let sizeBegin: CGSize
let sizeEnd: CGSize
let isLocal: Bool
// Animation key/value pairs are only available for the "will" family of notification. (UIWindow.h)
}
public extension KeyboardDidNotificationValues {
init(notification: Notification) throws {
guard let sizeBegin = notification.keyboardFrameBegin?.size,
let sizeEnd = notification.keyboardFrameEnd?.size,
let isLocal = notification.keyboardIsLocal else {
throw KeyboardNotificationValuesError.failedToInit(fromNotification: notification)
}
self.sizeBegin = sizeBegin
self.sizeEnd = sizeEnd
self.isLocal = isLocal
}
}

View File

@ -1,42 +0,0 @@
//
// KeyboardWillNotificationValues.swift
// LeadKit
//
// Created by Ivan Smolin on 12/12/16.
// Copyright © 2016 Touch Instinct. All rights reserved.
//
import UIKit
/// Struct which keeps values from one of those notifications:
/// UIKeyboardWillShow, UIKeyboardWillHide, UIKeyboardWillChangeFrame
public struct KeyboardWillNotificationValues {
let sizeBegin: CGSize
let sizeEnd: CGSize
let animationDuration: TimeInterval
let animationCurve: UIViewAnimationCurve
let isLocal: Bool
}
public extension KeyboardWillNotificationValues {
init(notification: Notification) throws {
guard let sizeBegin = notification.keyboardFrameBegin?.size,
let sizeEnd = notification.keyboardFrameEnd?.size,
let animationDuration = notification.keyboardAnimationDuration,
let animationCurve = notification.keyboardAnimationCurve,
let isLocal = notification.keyboardIsLocal else {
throw KeyboardNotificationValuesError.failedToInit(fromNotification: notification)
}
self.sizeBegin = sizeBegin
self.sizeEnd = sizeEnd
self.animationDuration = animationDuration
self.animationCurve = animationCurve
self.isLocal = isLocal
}
}