From 0e100006d3e5ee52fa01225efdf521b32dfabcf0 Mon Sep 17 00:00:00 2001 From: relikd Date: Sun, 28 Jun 2020 17:04:48 +0200 Subject: [PATCH] Moving extensions around --- AppCheck.xcodeproj/project.pbxproj | 20 +++++++++----- .../{Generic.swift => Equatable.swift} | 24 +---------------- main/Extensions/Logging.swift | 17 ++++++++++++ main/Extensions/Notifications.swift | 2 +- main/Extensions/View.swift | 26 +++++++++++++++++++ main/GlassVPN.swift | 2 +- main/Requests/Analytics/VCCoOccurrence.swift | 19 -------------- 7 files changed, 60 insertions(+), 50 deletions(-) rename main/Extensions/{Generic.swift => Equatable.swift} (54%) create mode 100644 main/Extensions/Logging.swift create mode 100644 main/Extensions/View.swift diff --git a/AppCheck.xcodeproj/project.pbxproj b/AppCheck.xcodeproj/project.pbxproj index 4019293..4688aaf 100644 --- a/AppCheck.xcodeproj/project.pbxproj +++ b/AppCheck.xcodeproj/project.pbxproj @@ -21,7 +21,6 @@ 541FC47824A1453F009154D8 /* VCCoOccurrence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541FC47724A1453F009154D8 /* VCCoOccurrence.swift */; }; 541FC9872497D81C00962623 /* TheGreatDestroyer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541FC9862497D81C00962623 /* TheGreatDestroyer.swift */; }; 542E2A982404973F001462DC /* TBCMain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 542E2A972404973F001462DC /* TBCMain.swift */; }; - 542E2A9A24051556001462DC /* TVCSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 542E2A9924051556001462DC /* TVCSettings.swift */; }; 543CDB2023EEE61900B7F323 /* PacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 543CDB1F23EEE61900B7F323 /* PacketTunnelProvider.swift */; }; 543CDB2523EEE61900B7F323 /* GlassVPN.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 543CDB1D23EEE61900B7F323 /* GlassVPN.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 54448A2E2486464F00771C96 /* Array.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54448A2D2486464F00771C96 /* Array.swift */; }; @@ -44,7 +43,7 @@ 54B34594240E6343004C53CC /* TVCFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B34593240E6343004C53CC /* TVCFilter.swift */; }; 54B34596240F0513004C53CC /* TableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B34595240F0513004C53CC /* TableView.swift */; }; 54B345A6241BB982004C53CC /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B345A5241BB982004C53CC /* Notifications.swift */; }; - 54B345A9241BBA0B004C53CC /* Generic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B345A8241BBA0B004C53CC /* Generic.swift */; }; + 54B345A9241BBA0B004C53CC /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B345A8241BBA0B004C53CC /* Logging.swift */; }; 54B345AB241BBA5B004C53CC /* AlertSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B345AA241BBA5B004C53CC /* AlertSheet.swift */; }; 54B345AD241BBB00004C53CC /* DBExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B345AC241BBB00004C53CC /* DBExtensions.swift */; }; 54B345B0242264F8004C53CC /* third-level.txt in Resources */ = {isa = PBXBuildFile; fileRef = 54B345AF242264F8004C53CC /* third-level.txt */; }; @@ -143,6 +142,9 @@ 54E67E4624A8B0FE0025D261 /* PrefsShared.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E4524A8B0FE0025D261 /* PrefsShared.swift */; }; 54E67E4924A8B1280025D261 /* Prefs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E4824A8B1280025D261 /* Prefs.swift */; }; 54E67E4B24A8C6370025D261 /* GlassVPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E4A24A8C6370025D261 /* GlassVPN.swift */; }; + 54E67E4D24A8E20D0025D261 /* TVCSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 542E2A9924051556001462DC /* TVCSettings.swift */; }; + 54E67E4F24A8E2910025D261 /* Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E4E24A8E2910025D261 /* Equatable.swift */; }; + 54E67E5124A8E8820025D261 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E67E5024A8E8820025D261 /* View.swift */; }; 54EFA4E82491A16A0022D618 /* Font.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54EFA4E72491A16A0022D618 /* Font.swift */; }; /* End PBXBuildFile section */ @@ -210,7 +212,7 @@ 54B34593240E6343004C53CC /* TVCFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TVCFilter.swift; sourceTree = ""; }; 54B34595240F0513004C53CC /* TableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableView.swift; sourceTree = ""; }; 54B345A5241BB982004C53CC /* Notifications.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notifications.swift; sourceTree = ""; }; - 54B345A8241BBA0B004C53CC /* Generic.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Generic.swift; sourceTree = ""; }; + 54B345A8241BBA0B004C53CC /* Logging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = ""; }; 54B345AA241BBA5B004C53CC /* AlertSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertSheet.swift; sourceTree = ""; }; 54B345AC241BBB00004C53CC /* DBExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DBExtensions.swift; sourceTree = ""; }; 54B345AF242264F8004C53CC /* third-level.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "third-level.txt"; sourceTree = ""; }; @@ -312,6 +314,8 @@ 54E67E4524A8B0FE0025D261 /* PrefsShared.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrefsShared.swift; sourceTree = ""; }; 54E67E4824A8B1280025D261 /* Prefs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Prefs.swift; sourceTree = ""; }; 54E67E4A24A8C6370025D261 /* GlassVPN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlassVPN.swift; sourceTree = ""; }; + 54E67E4E24A8E2910025D261 /* Equatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Equatable.swift; sourceTree = ""; }; + 54E67E5024A8E8820025D261 /* View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; 54EFA4E72491A16A0022D618 /* Font.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Font.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -470,9 +474,11 @@ 54B345A4241BB975004C53CC /* Extensions */ = { isa = PBXGroup; children = ( - 54B345A8241BBA0B004C53CC /* Generic.swift */, + 54B345A8241BBA0B004C53CC /* Logging.swift */, + 54E67E4E24A8E2910025D261 /* Equatable.swift */, 54B345A5241BB982004C53CC /* Notifications.swift */, 54B345AA241BBA5B004C53CC /* AlertSheet.swift */, + 54E67E5024A8E8820025D261 /* View.swift */, 541DCA6024A6B0F6005F1A4B /* Color.swift */, 54448A2F248647D900771C96 /* Time.swift */, 54751E502423955000168273 /* URL.swift */, @@ -848,12 +854,14 @@ files = ( 54E67E4924A8B1280025D261 /* Prefs.swift in Sources */, 54E540F8247DB90F00F7C34A /* RecordingsDB.swift in Sources */, + 54E67E4F24A8E2910025D261 /* Equatable.swift in Sources */, 54E540F4247D3F2600F7C34A /* TestDataSource.swift in Sources */, 545DDDD424466D37003B6544 /* AutoLayout.swift in Sources */, 54B345AD241BBB00004C53CC /* DBExtensions.swift in Sources */, 54E540F2247C423200F7C34A /* DomainFilter.swift in Sources */, 54D8B97E2471B88900EB2414 /* DBCommon.swift in Sources */, 54D8B9832471BD8100EB2414 /* DBAppOnly.swift in Sources */, + 54E67E4D24A8E20D0025D261 /* TVCSettings.swift in Sources */, 540E67842433FAFE00871BBE /* TVCPreviousRecords.swift in Sources */, 54B345A6241BB982004C53CC /* Notifications.swift in Sources */, 54448A2E2486464F00771C96 /* Array.swift in Sources */, @@ -862,7 +870,7 @@ 54B345AB241BBA5B004C53CC /* AlertSheet.swift in Sources */, 541DCA6124A6B0F6005F1A4B /* Color.swift in Sources */, 545DDDCF243E6267003B6544 /* TutorialSheet.swift in Sources */, - 54B345A9241BBA0B004C53CC /* Generic.swift in Sources */, + 54B345A9241BBA0B004C53CC /* Logging.swift in Sources */, 54B34596240F0513004C53CC /* TableView.swift in Sources */, 540E6780242D2CF100871BBE /* VCRecordings.swift in Sources */, 54953E3323DC752E0054345C /* DBCore.swift in Sources */, @@ -871,12 +879,12 @@ 54448A30248647D900771C96 /* Time.swift in Sources */, 54953E6123E0D69A0054345C /* TVCHosts.swift in Sources */, 54751E512423955100168273 /* URL.swift in Sources */, - 542E2A9A24051556001462DC /* TVCSettings.swift in Sources */, 54953E5F23DEBE840054345C /* TVCDomains.swift in Sources */, 54C056DB23E9E36E00214A3F /* AppInfoType.swift in Sources */, 54D8B98624796E9900EB2414 /* GroupedDomainDataSource.swift in Sources */, 54953E6F23E44CD00054345C /* TVCHostDetails.swift in Sources */, 54D8B97C2471A7E000EB2414 /* String.swift in Sources */, + 54E67E5124A8E8820025D261 /* View.swift in Sources */, 54C056DD23E9EEF700214A3F /* BundleIcon.swift in Sources */, 542E2A982404973F001462DC /* TBCMain.swift in Sources */, 54448A3224899A4000771C96 /* SearchBarManager.swift in Sources */, diff --git a/main/Extensions/Generic.swift b/main/Extensions/Equatable.swift similarity index 54% rename from main/Extensions/Generic.swift rename to main/Extensions/Equatable.swift index 0405795..7ba33b6 100644 --- a/main/Extensions/Generic.swift +++ b/main/Extensions/Equatable.swift @@ -1,26 +1,3 @@ -import UIKit - -struct QLog { - private init() {} - static func m(_ message: String) { write("", message) } - static func Info(_ message: String) { write("[INFO] ", message) } -#if DEBUG - static func Debug(_ message: String) { write("[DEBUG] ", message) } -#else - static func Debug(_ _: String) {} -#endif - static func Error(_ message: String) { write("[ERROR] ", message) } - static func Warning(_ message: String) { write("[WARN] ", message) } - private static func write(_ tag: String, _ message: String) { - print(String(format: "%1.3f %@%@", Date().timeIntervalSince1970, tag, message)) - } -} - -extension UIEdgeInsets { - init(all: CGFloat = 0, top: CGFloat? = nil, left: CGFloat? = nil, bottom: CGFloat? = nil, right: CGFloat? = nil) { - self.init(top: top ?? all, left: left ?? all, bottom: bottom ?? all, right: right ?? all) - } -} precedencegroup CompareAssignPrecedence { assignment: true @@ -30,6 +7,7 @@ precedencegroup CompareAssignPrecedence { infix operator <-? : CompareAssignPrecedence infix operator <-/ : CompareAssignPrecedence + extension Equatable { /// Assign a new value to `lhs` if `newValue` differs from the previous value. Return `false` if they are equal. /// - Returns: `true` if `lhs` was overwritten with another value diff --git a/main/Extensions/Logging.swift b/main/Extensions/Logging.swift new file mode 100644 index 0000000..8f733cb --- /dev/null +++ b/main/Extensions/Logging.swift @@ -0,0 +1,17 @@ +import Foundation + +struct QLog { + private init() {} + static func m(_ message: String) { write("", message) } + static func Info(_ message: String) { write("[INFO] ", message) } +#if DEBUG + static func Debug(_ message: String) { write("[DEBUG] ", message) } +#else + static func Debug(_ _: String) {} +#endif + static func Error(_ message: String) { write("[ERROR] ", message) } + static func Warning(_ message: String) { write("[WARN] ", message) } + private static func write(_ tag: String, _ message: String) { + print(String(format: "%1.3f %@%@", Date().timeIntervalSince1970, tag, message)) + } +} diff --git a/main/Extensions/Notifications.swift b/main/Extensions/Notifications.swift index 98751f7..3cdf3ca 100644 --- a/main/Extensions/Notifications.swift +++ b/main/Extensions/Notifications.swift @@ -1,6 +1,6 @@ import Foundation -let NotifyVPNStateChanged = NSNotification.Name("GlassVPNStateChanged") // VPNState! +let NotifyVPNStateChanged = NSNotification.Name("GlassVPNStateChanged") // nil! let NotifyDNSFilterChanged = NSNotification.Name("PSIDNSFilterSettingsChanged") // domain: String! let NotifyDateFilterChanged = NSNotification.Name("PSIDateFilterSettingsChanged") // nil! let NotifySortOrderChanged = NSNotification.Name("PSIDateFilterSortOrderChanged") // nil! diff --git a/main/Extensions/View.swift b/main/Extensions/View.swift new file mode 100644 index 0000000..57b89f1 --- /dev/null +++ b/main/Extensions/View.swift @@ -0,0 +1,26 @@ +import UIKit + +extension UIView { + func asImage(insets: UIEdgeInsets = .zero) -> UIImage { + if #available(iOS 10.0, *) { + let renderer = UIGraphicsImageRenderer(bounds: bounds.inset(by: insets)) + return renderer.image { rendererContext in + layer.render(in: rendererContext.cgContext) + } + } else { + UIGraphicsBeginImageContext(bounds.inset(by: insets).size) + let ctx = UIGraphicsGetCurrentContext()! + ctx.translateBy(x: -insets.left, y: -insets.top) + layer.render(in:ctx) + let image = UIGraphicsGetImageFromCurrentImageContext() + UIGraphicsEndImageContext() + return UIImage(cgImage: image!.cgImage!) + } + } +} + +extension UIEdgeInsets { + init(all: CGFloat = 0, top: CGFloat? = nil, left: CGFloat? = nil, bottom: CGFloat? = nil, right: CGFloat? = nil) { + self.init(top: top ?? all, left: left ?? all, bottom: bottom ?? all, right: right ?? all) + } +} diff --git a/main/GlassVPN.swift b/main/GlassVPN.swift index bd3648a..297765e 100644 --- a/main/GlassVPN.swift +++ b/main/GlassVPN.swift @@ -106,6 +106,6 @@ final class GlassVPNManager { private func postProcessedVPNState(_ state: VPNState) { self.state = state - NotifyVPNStateChanged.post(state) + NotifyVPNStateChanged.post() } } diff --git a/main/Requests/Analytics/VCCoOccurrence.swift b/main/Requests/Analytics/VCCoOccurrence.swift index 9b634ba..c63b730 100644 --- a/main/Requests/Analytics/VCCoOccurrence.swift +++ b/main/Requests/Analytics/VCCoOccurrence.swift @@ -148,22 +148,3 @@ extension VCCoOccurrence { x.present(in: self) } } - -fileprivate extension UIView { - func asImage(insets: UIEdgeInsets = .zero) -> UIImage { - if #available(iOS 10.0, *) { - let renderer = UIGraphicsImageRenderer(bounds: bounds.inset(by: insets)) - return renderer.image { rendererContext in - layer.render(in: rendererContext.cgContext) - } - } else { - UIGraphicsBeginImageContext(bounds.inset(by: insets).size) - let ctx = UIGraphicsGetCurrentContext()! - ctx.translateBy(x: -insets.left, y: -insets.top) - layer.render(in:ctx) - let image = UIGraphicsGetImageFromCurrentImageContext() - UIGraphicsEndImageContext() - return UIImage(cgImage: image!.cgImage!) - } - } -}