diff --git a/Podfile b/Podfile index 8b5476828..eb9383309 100644 --- a/Podfile +++ b/Podfile @@ -12,6 +12,7 @@ target 'Signal' do pod 'SCWaveformView', '~> 1.0' pod 'ZXingObjC' pod 'JSQMessagesViewController' + pod 'PureLayout' target 'SignalTests' do inherit! :search_paths end diff --git a/Podfile.lock b/Podfile.lock index f4d5c7bfd..945985c31 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -40,6 +40,7 @@ PODS: - PastelogKit (1.3): - CocoaLumberjack (~> 2.0) - ProtocolBuffers (1.9.11) + - PureLayout (3.0.2) - Reachability (3.2) - SAMKeychain (1.5.2) - SCWaveformView (1.0.0) @@ -120,6 +121,7 @@ DEPENDENCIES: - JSQMessagesViewController - OpenSSL - PastelogKit (~> 1.3) + - PureLayout - SCWaveformView (~> 1.0) - SignalServiceKit (from `https://github.com/WhisperSystems/SignalServiceKit.git`, branch `mkirk/webrtc`) - SocketRocket (from `https://github.com/facebook/SocketRocket.git`) @@ -159,6 +161,7 @@ SPEC CHECKSUMS: OpenSSL: 246ffb948e9d56466727fd318134af35f5aa764e PastelogKit: 7b475be4cf577713506a943dd940bcc0499c8bca ProtocolBuffers: d509225eb2ea43d9582a59e94348fcf86e2abd65 + PureLayout: 4d550abe49a94f24c2808b9b95db9131685fe4cd Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 SAMKeychain: 1865333198217411f35327e8da61b43de79b635b SCWaveformView: 52a96750255d817e300565a80c81fb643e233e07 @@ -170,6 +173,6 @@ SPEC CHECKSUMS: YapDatabase: b1e43555a34a5298e23a045be96817a5ef0da58f ZXingObjC: bf15b3814f7a105b6d99f47da2333c93a063650a -PODFILE CHECKSUM: 092dfd7f4709400f0b6afee7fb9667550e75ed7c +PODFILE CHECKSUM: 2ae77bac38b8d23b14175ac42d09dd8fce65bb5b COCOAPODS: 1.0.1 diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index 35f52c222..125b6b061 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -7,9 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 0DD55B166906AF3368995978 /* libPods-Signal.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 80CD5E19DD23200E7926EEA7 /* libPods-Signal.a */; }; - 30209C98DABCE82064B4EAF5 /* libPods-SignalTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A33D3C7EB4B17BDBD47F0FCC /* libPods-SignalTests.a */; }; 341BB7491DB727EE001E2975 /* JSQMediaItem+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 341BB7481DB727EE001E2975 /* JSQMediaItem+OWS.m */; }; + 34535D821E256BE9008A4747 /* UIView+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 34535D811E256BE9008A4747 /* UIView+OWS.m */; }; 450873C31D9D5149006B54F2 /* OWSExpirationTimerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 450873C21D9D5149006B54F2 /* OWSExpirationTimerView.m */; }; 450873C41D9D5149006B54F2 /* OWSExpirationTimerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 450873C21D9D5149006B54F2 /* OWSExpirationTimerView.m */; }; 450873C71D9D867B006B54F2 /* OWSIncomingMessageCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 450873C61D9D867B006B54F2 /* OWSIncomingMessageCollectionViewCell.m */; }; @@ -112,6 +111,7 @@ 45FBC5D11DF8592E00E9B410 /* SignalCall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45FBC5D01DF8592E00E9B410 /* SignalCall.swift */; }; 45FBC5D21DF8592E00E9B410 /* SignalCall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45FBC5D01DF8592E00E9B410 /* SignalCall.swift */; }; 4CE0E3771B954546007210CF /* TSAnimatedAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE0E3761B954546007210CF /* TSAnimatedAdapter.m */; }; + 56EAA22E1901718F78C6DBB4 /* libPods-SignalTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B5E7D6C9007F5E5761D79DD /* libPods-SignalTests.a */; }; 701231B518ECAA4500D456C4 /* EvpMessageDigest.m in Sources */ = {isa = PBXBuildFile; fileRef = 701231B418ECAA4500D456C4 /* EvpMessageDigest.m */; }; 70377AAB1918450100CAF501 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70377AAA1918450100CAF501 /* MobileCoreServices.framework */; }; 7038632718F70C0700D4A43F /* CryptoTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 7038632418F70C0700D4A43F /* CryptoTools.m */; }; @@ -517,6 +517,7 @@ E197B62718BBF63B00F073E5 /* SoundBoard.m in Sources */ = {isa = PBXBuildFile; fileRef = E197B62618BBF63B00F073E5 /* SoundBoard.m */; }; E1CD329618BCFF9900B1A496 /* SoundInstance.m in Sources */ = {isa = PBXBuildFile; fileRef = E1CD329518BCFF9900B1A496 /* SoundInstance.m */; }; E94066151DFC5B7B00B15392 /* ContactsPicker.xib in Resources */ = {isa = PBXBuildFile; fileRef = E94066141DFC5B7B00B15392 /* ContactsPicker.xib */; }; + E32B0699162419B7046BC643 /* libPods-Signal.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DB8EE72F8522189E3E2CB45 /* libPods-Signal.a */; }; EF764C351DB67CC5000D9A87 /* UIViewController+CameraPermissions.m in Sources */ = {isa = PBXBuildFile; fileRef = EF764C341DB67CC5000D9A87 /* UIViewController+CameraPermissions.m */; }; FC31962A1A067D8F0094C78E /* MessageComposeTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FC3196291A067D8F0094C78E /* MessageComposeTableViewController.m */; }; FC31962D1A06A2190094C78E /* FingerprintViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FC31962C1A06A2190094C78E /* FingerprintViewController.m */; }; @@ -581,8 +582,11 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 1B5E7D6C9007F5E5761D79DD /* libPods-SignalTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SignalTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 341BB7471DB727EE001E2975 /* JSQMediaItem+OWS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "JSQMediaItem+OWS.h"; sourceTree = ""; }; 341BB7481DB727EE001E2975 /* JSQMediaItem+OWS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "JSQMediaItem+OWS.m"; sourceTree = ""; }; + 34535D801E256BE9008A4747 /* UIView+OWS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+OWS.h"; sourceTree = ""; }; + 34535D811E256BE9008A4747 /* UIView+OWS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+OWS.m"; sourceTree = ""; }; 450873C11D9D5149006B54F2 /* OWSExpirationTimerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSExpirationTimerView.h; sourceTree = ""; }; 450873C21D9D5149006B54F2 /* OWSExpirationTimerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSExpirationTimerView.m; sourceTree = ""; }; 450873C51D9D867B006B54F2 /* OWSIncomingMessageCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSIncomingMessageCollectionViewCell.h; sourceTree = ""; }; @@ -899,14 +903,13 @@ 76EB050C18170B33006006FC /* InCallViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InCallViewController.m; sourceTree = ""; }; 76EB052E18170B33006006FC /* ContactTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactTableViewCell.h; sourceTree = ""; }; 76EB052F18170B33006006FC /* ContactTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactTableViewCell.m; sourceTree = ""; }; - 80CD5E19DD23200E7926EEA7 /* libPods-Signal.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Signal.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 7DB8EE72F8522189E3E2CB45 /* libPods-Signal.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Signal.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 954AEE681DF33D32002E5410 /* ContactsPickerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactsPickerTest.swift; sourceTree = ""; }; A11CD70C17FA230600A2D1B1 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; A163E8AA16F3F6A90094D68B /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; A1C32D4D17A0652C000A904E /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; }; A1C32D4F17A06537000A904E /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; }; A1FDCBEE16DAA6C300868894 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - A33D3C7EB4B17BDBD47F0FCC /* libPods-SignalTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SignalTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; A507A3AF1A6C60E300BEED0D /* InboxTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = InboxTableViewCell.xib; path = "Signal/src/view controllers/InboxTableViewCell.xib"; sourceTree = SOURCE_ROOT; }; A5509EC91A69AB8B00ABA4BC /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Storyboard/Main.storyboard; sourceTree = ""; }; A5509ECB1A69B1D600ABA4BC /* CountryCodeTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountryCodeTableViewCell.h; sourceTree = ""; }; @@ -1241,7 +1244,7 @@ D221A090169C9E5E00537ABF /* Foundation.framework in Frameworks */, D221A0E8169DFFC500537ABF /* AVFoundation.framework in Frameworks */, D24B5BD5169F568C00681372 /* AudioToolbox.framework in Frameworks */, - 0DD55B166906AF3368995978 /* libPods-Signal.a in Frameworks */, + E32B0699162419B7046BC643 /* libPods-Signal.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1264,7 +1267,7 @@ D202868116DBE0E7009068E9 /* CFNetwork.framework in Frameworks */, D221A0AD169C9E5F00537ABF /* UIKit.framework in Frameworks */, D221A0AE169C9E5F00537ABF /* Foundation.framework in Frameworks */, - 30209C98DABCE82064B4EAF5 /* libPods-SignalTests.a in Frameworks */, + 56EAA22E1901718F78C6DBB4 /* libPods-SignalTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2404,8 +2407,8 @@ D221A08D169C9E5E00537ABF /* UIKit.framework */, D221A08F169C9E5E00537ABF /* Foundation.framework */, D221A091169C9E5E00537ABF /* CoreGraphics.framework */, - 80CD5E19DD23200E7926EEA7 /* libPods-Signal.a */, - A33D3C7EB4B17BDBD47F0FCC /* libPods-SignalTests.a */, + 7DB8EE72F8522189E3E2CB45 /* libPods-Signal.a */, + 1B5E7D6C9007F5E5761D79DD /* libPods-SignalTests.a */, ); name = Frameworks; sourceTree = ""; @@ -2576,6 +2579,8 @@ FCFA64B61A24F6730007FB87 /* UIFont+OWS.m */, B68112E81A4D9EC400BA82FF /* UIImage+normalizeImage.h */, B68112E91A4D9EC400BA82FF /* UIImage+normalizeImage.m */, + 34535D801E256BE9008A4747 /* UIView+OWS.h */, + 34535D811E256BE9008A4747 /* UIView+OWS.m */, EF764C331DB67CC5000D9A87 /* UIViewController+CameraPermissions.h */, EF764C341DB67CC5000D9A87 /* UIViewController+CameraPermissions.m */, ); @@ -3117,6 +3122,7 @@ 76EB05F018170B33006006FC /* PhoneManager.m in Sources */, 452E3C8E1D935C77002A45B0 /* OWSConversationSettingsTableViewController.m in Sources */, E197B60F18BBEC1A00F073E5 /* EncodedAudioFrame.m in Sources */, + 34535D821E256BE9008A4747 /* UIView+OWS.m in Sources */, 76EB061818170B33006006FC /* AnonymousValueLogger.m in Sources */, 76EB05E618170B33006006FC /* CallController.m in Sources */, FC31962A1A067D8F0094C78E /* MessageComposeTableViewController.m in Sources */, diff --git a/Signal.xcodeproj/xcshareddata/xcschemes/Signal.xcscheme b/Signal.xcodeproj/xcshareddata/xcschemes/Signal.xcscheme index af72b3be0..93ed43f60 100644 --- a/Signal.xcodeproj/xcshareddata/xcschemes/Signal.xcscheme +++ b/Signal.xcodeproj/xcshareddata/xcschemes/Signal.xcscheme @@ -28,7 +28,7 @@ buildForAnalyzing = "YES"> diff --git a/Signal/Images.xcassets/video-active.imageset/Contents.json b/Signal/Images.xcassets/video-active.imageset/Contents.json new file mode 100644 index 000000000..f1da728b4 --- /dev/null +++ b/Signal/Images.xcassets/video-active.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "video-active.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Signal/Images.xcassets/video-active.imageset/video-active.png b/Signal/Images.xcassets/video-active.imageset/video-active.png new file mode 100644 index 000000000..b55abee96 Binary files /dev/null and b/Signal/Images.xcassets/video-active.imageset/video-active.png differ diff --git a/Signal/Images.xcassets/video-inactive.imageset/Contents.json b/Signal/Images.xcassets/video-inactive.imageset/Contents.json new file mode 100644 index 000000000..e4fb17f90 --- /dev/null +++ b/Signal/Images.xcassets/video-inactive.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "video-inactive.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Signal/Images.xcassets/video-inactive.imageset/video-inactive.png b/Signal/Images.xcassets/video-inactive.imageset/video-inactive.png new file mode 100644 index 000000000..b33b2e3fc Binary files /dev/null and b/Signal/Images.xcassets/video-inactive.imageset/video-inactive.png differ diff --git a/Signal/src/Signal-Bridging-Header.h b/Signal/src/Signal-Bridging-Header.h index 3a03a4fce..044be65f3 100644 --- a/Signal/src/Signal-Bridging-Header.h +++ b/Signal/src/Signal-Bridging-Header.h @@ -1,6 +1,7 @@ // -// Use this file to import your target's public headers that you would like to expose to Swift. +// Copyright (c) 2017 Open Whisper Systems. All rights reserved. // + #import #import "AppAudioManager.h" @@ -13,11 +14,14 @@ #import "OWSWebRTCDataProtos.pb.h" #import "PhoneNumber.h" #import "PropertyListPreferences.h" +#import "PureLayout.h" #import "PushManager.h" #import "RPAccountManager.h" #import "TSSocketManager.h" +#import "UIColor+OWS.h" #import "UIFont+OWS.h" #import "UIUtil.h" +#import "UIView+OWS.h" #import #import #import diff --git a/Signal/src/Storyboard/Main.storyboard b/Signal/src/Storyboard/Main.storyboard index d8cf3884c..ae9ff956b 100644 --- a/Signal/src/Storyboard/Main.storyboard +++ b/Signal/src/Storyboard/Main.storyboard @@ -1,11 +1,11 @@ - + - + @@ -129,10 +129,10 @@ - + - + @@ -140,216 +140,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -640,7 +431,7 @@ - + - + - + @@ -1145,7 +936,7 @@ - +