From ec3a397fd7fd8b369c19c6a2b334468cb600f96e Mon Sep 17 00:00:00 2001 From: Alexander Boriskov Date: Fri, 13 Mar 2020 18:13:39 +0300 Subject: [PATCH] [iOS] Reordered methods sizzling in style manager https://jira.mail.ru/browse/MAPSME-13124 --- iphone/Maps/Core/Theme/Core/StyleManager.swift | 5 +++++ iphone/Maps/Core/Theme/Swizzle/SwizzleStyle.h | 2 +- iphone/Maps/Core/Theme/Swizzle/SwizzleStyle.m | 8 ++++++++ .../Core/Theme/Swizzle/UISearchBar+swizzle.h | 9 --------- .../Core/Theme/Swizzle/UISearchBar+swizzle.m | 8 -------- .../Core/Theme/Swizzle/UITextField+swizzle.h | 9 --------- .../Core/Theme/Swizzle/UITextField+swizzle.m | 8 -------- .../Maps/Core/Theme/Swizzle/UIView+swizzle.h | 9 --------- .../Maps/Core/Theme/Swizzle/UIView+swizzle.m | 8 -------- iphone/Maps/Maps.xcodeproj/project.pbxproj | 18 ------------------ 10 files changed, 14 insertions(+), 70 deletions(-) delete mode 100644 iphone/Maps/Core/Theme/Swizzle/UISearchBar+swizzle.h delete mode 100644 iphone/Maps/Core/Theme/Swizzle/UISearchBar+swizzle.m delete mode 100644 iphone/Maps/Core/Theme/Swizzle/UITextField+swizzle.h delete mode 100644 iphone/Maps/Core/Theme/Swizzle/UITextField+swizzle.m delete mode 100644 iphone/Maps/Core/Theme/Swizzle/UIView+swizzle.h delete mode 100644 iphone/Maps/Core/Theme/Swizzle/UIView+swizzle.m diff --git a/iphone/Maps/Core/Theme/Core/StyleManager.swift b/iphone/Maps/Core/Theme/Core/StyleManager.swift index d3ebd35e8c..206b393d5c 100644 --- a/iphone/Maps/Core/Theme/Core/StyleManager.swift +++ b/iphone/Maps/Core/Theme/Core/StyleManager.swift @@ -7,6 +7,11 @@ @objc private(set) var theme: Theme? private var listeners: [Weak] = [] + override private init() { + super.init() + SwizzleStyle.swizzle() + } + func setTheme (_ theme: Theme) { self.theme = theme; update() diff --git a/iphone/Maps/Core/Theme/Swizzle/SwizzleStyle.h b/iphone/Maps/Core/Theme/Swizzle/SwizzleStyle.h index 6d9f2aeadf..c63d18ff17 100644 --- a/iphone/Maps/Core/Theme/Swizzle/SwizzleStyle.h +++ b/iphone/Maps/Core/Theme/Swizzle/SwizzleStyle.h @@ -4,7 +4,7 @@ NS_ASSUME_NONNULL_BEGIN @interface SwizzleStyle : NSObject -+ (void)swizzle:(Class)forClass methodName:(NSString*)methodName; ++ (void)swizzle; @end diff --git a/iphone/Maps/Core/Theme/Swizzle/SwizzleStyle.m b/iphone/Maps/Core/Theme/Swizzle/SwizzleStyle.m index 23ddf78850..460796bfa1 100644 --- a/iphone/Maps/Core/Theme/Swizzle/SwizzleStyle.m +++ b/iphone/Maps/Core/Theme/Swizzle/SwizzleStyle.m @@ -4,6 +4,14 @@ #import "objc/message.h" @implementation SwizzleStyle + ++ (void)swizzle +{ + [SwizzleStyle swizzle:[UISearchBar class] methodName:@"didMoveToWindow"]; + [SwizzleStyle swizzle:[UITextField class] methodName:@"didMoveToWindow"]; + [SwizzleStyle swizzle:[UIView class] methodName:@"didMoveToWindow"]; +} + + (void)swizzle:(Class)forClass methodName:(NSString*)methodName { SEL originalMethod = NSSelectorFromString(methodName); diff --git a/iphone/Maps/Core/Theme/Swizzle/UISearchBar+swizzle.h b/iphone/Maps/Core/Theme/Swizzle/UISearchBar+swizzle.h deleted file mode 100644 index a79af30e74..0000000000 --- a/iphone/Maps/Core/Theme/Swizzle/UISearchBar+swizzle.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface UISearchBar (swizzle) - -@end - -NS_ASSUME_NONNULL_END diff --git a/iphone/Maps/Core/Theme/Swizzle/UISearchBar+swizzle.m b/iphone/Maps/Core/Theme/Swizzle/UISearchBar+swizzle.m deleted file mode 100644 index ef360453a4..0000000000 --- a/iphone/Maps/Core/Theme/Swizzle/UISearchBar+swizzle.m +++ /dev/null @@ -1,8 +0,0 @@ -#import "UISearchBar+swizzle.h" -#import "SwizzleStyle.h" - -@implementation UISearchBar (swizzle) -+(void)load { - [SwizzleStyle swizzle:[self class] methodName:@"didMoveToWindow"]; -} -@end diff --git a/iphone/Maps/Core/Theme/Swizzle/UITextField+swizzle.h b/iphone/Maps/Core/Theme/Swizzle/UITextField+swizzle.h deleted file mode 100644 index 896afdf352..0000000000 --- a/iphone/Maps/Core/Theme/Swizzle/UITextField+swizzle.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface UITextField (swizzle) - -@end - -NS_ASSUME_NONNULL_END diff --git a/iphone/Maps/Core/Theme/Swizzle/UITextField+swizzle.m b/iphone/Maps/Core/Theme/Swizzle/UITextField+swizzle.m deleted file mode 100644 index 495e0b7eec..0000000000 --- a/iphone/Maps/Core/Theme/Swizzle/UITextField+swizzle.m +++ /dev/null @@ -1,8 +0,0 @@ -#import "UITextField+swizzle.h" -#import "SwizzleStyle.h" - -@implementation UITextField (swizzle) -+(void)load { - [SwizzleStyle swizzle:[self class] methodName:@"didMoveToWindow"]; -} -@end diff --git a/iphone/Maps/Core/Theme/Swizzle/UIView+swizzle.h b/iphone/Maps/Core/Theme/Swizzle/UIView+swizzle.h deleted file mode 100644 index d93966f629..0000000000 --- a/iphone/Maps/Core/Theme/Swizzle/UIView+swizzle.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface UIView (swizzle) - -@end - -NS_ASSUME_NONNULL_END diff --git a/iphone/Maps/Core/Theme/Swizzle/UIView+swizzle.m b/iphone/Maps/Core/Theme/Swizzle/UIView+swizzle.m deleted file mode 100644 index c500e88b39..0000000000 --- a/iphone/Maps/Core/Theme/Swizzle/UIView+swizzle.m +++ /dev/null @@ -1,8 +0,0 @@ -#import "SwizzleStyle.h" -#import "UIView+swizzle.h" - -@implementation UIView (swizzle) -+(void)load { - [SwizzleStyle swizzle:[self class] methodName:@"didMoveToWindow"]; -} -@end diff --git a/iphone/Maps/Maps.xcodeproj/project.pbxproj b/iphone/Maps/Maps.xcodeproj/project.pbxproj index 587d553470..e4f15b53bb 100644 --- a/iphone/Maps/Maps.xcodeproj/project.pbxproj +++ b/iphone/Maps/Maps.xcodeproj/project.pbxproj @@ -575,9 +575,6 @@ 993DF12023F6BDB100AC231A /* TabViewRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 993DF0EE23F6BDB100AC231A /* TabViewRenderer.swift */; }; 993DF12123F6BDB100AC231A /* UIViewControllerRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 993DF0EF23F6BDB100AC231A /* UIViewControllerRenderer.swift */; }; 993DF12223F6BDB100AC231A /* UINavigationItemRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 993DF0F023F6BDB100AC231A /* UINavigationItemRenderer.swift */; }; - 993DF12323F6BDB100AC231A /* UIView+swizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 993DF0F323F6BDB100AC231A /* UIView+swizzle.m */; }; - 993DF12423F6BDB100AC231A /* UISearchBar+swizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 993DF0F723F6BDB100AC231A /* UISearchBar+swizzle.m */; }; - 993DF12523F6BDB100AC231A /* UITextField+swizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 993DF0F823F6BDB100AC231A /* UITextField+swizzle.m */; }; 993DF12623F6BDB100AC231A /* SwizzleStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = 993DF0F923F6BDB100AC231A /* SwizzleStyle.m */; }; 993DF12723F6BDB100AC231A /* Fonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 993DF0FA23F6BDB100AC231A /* Fonts.swift */; }; 993DF12823F6BDB100AC231A /* IStyleSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 993DF0FC23F6BDB100AC231A /* IStyleSheet.swift */; }; @@ -1636,13 +1633,7 @@ 993DF0EE23F6BDB100AC231A /* TabViewRenderer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabViewRenderer.swift; sourceTree = ""; }; 993DF0EF23F6BDB100AC231A /* UIViewControllerRenderer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIViewControllerRenderer.swift; sourceTree = ""; }; 993DF0F023F6BDB100AC231A /* UINavigationItemRenderer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UINavigationItemRenderer.swift; sourceTree = ""; }; - 993DF0F223F6BDB100AC231A /* UISearchBar+swizzle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UISearchBar+swizzle.h"; sourceTree = ""; }; - 993DF0F323F6BDB100AC231A /* UIView+swizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+swizzle.m"; sourceTree = ""; }; - 993DF0F423F6BDB100AC231A /* UITextField+swizzle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITextField+swizzle.h"; sourceTree = ""; }; 993DF0F523F6BDB100AC231A /* SwizzleStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SwizzleStyle.h; sourceTree = ""; }; - 993DF0F623F6BDB100AC231A /* UIView+swizzle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+swizzle.h"; sourceTree = ""; }; - 993DF0F723F6BDB100AC231A /* UISearchBar+swizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UISearchBar+swizzle.m"; sourceTree = ""; }; - 993DF0F823F6BDB100AC231A /* UITextField+swizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITextField+swizzle.m"; sourceTree = ""; }; 993DF0F923F6BDB100AC231A /* SwizzleStyle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SwizzleStyle.m; sourceTree = ""; }; 993DF0FA23F6BDB100AC231A /* Fonts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Fonts.swift; sourceTree = ""; }; 993DF0FC23F6BDB100AC231A /* IStyleSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IStyleSheet.swift; sourceTree = ""; }; @@ -3670,13 +3661,7 @@ 993DF0F123F6BDB100AC231A /* Swizzle */ = { isa = PBXGroup; children = ( - 993DF0F223F6BDB100AC231A /* UISearchBar+swizzle.h */, - 993DF0F323F6BDB100AC231A /* UIView+swizzle.m */, - 993DF0F423F6BDB100AC231A /* UITextField+swizzle.h */, 993DF0F523F6BDB100AC231A /* SwizzleStyle.h */, - 993DF0F623F6BDB100AC231A /* UIView+swizzle.h */, - 993DF0F723F6BDB100AC231A /* UISearchBar+swizzle.m */, - 993DF0F823F6BDB100AC231A /* UITextField+swizzle.m */, 993DF0F923F6BDB100AC231A /* SwizzleStyle.m */, ); path = Swizzle; @@ -5233,7 +5218,6 @@ 6741A9A51BF340DE002C974C /* MWMShareActivityItem.mm in Sources */, 994F790723E85C5900660E75 /* DifficultyView.swift in Sources */, 99E2B0232369904800FFABC5 /* WelcomeViewController.swift in Sources */, - 993DF12323F6BDB100AC231A /* UIView+swizzle.m in Sources */, F6E2FF5D1E097BA00083EBEC /* MWMRecentTrackSettingsController.mm in Sources */, 34AB66651FC5AA330078E451 /* TransportTransitTrain.swift in Sources */, 993DF11C23F6BDB100AC231A /* UITableViewHeaderFooterViewRenderer.swift in Sources */, @@ -5290,7 +5274,6 @@ F6E2FED01E097BA00083EBEC /* MWMSearchFilterViewController.mm in Sources */, CDB92CEE229E9CF900EC757C /* MWMDiscoveryMapObjects.mm in Sources */, 34B6FD5F2015E6BF00C18E97 /* DiscoveryBookingCell.swift in Sources */, - 993DF12423F6BDB100AC231A /* UISearchBar+swizzle.m in Sources */, 34D3B01B1E389D05004100F9 /* MWMButtonCell.m in Sources */, 34ABA6291C2D567B00FE1BEC /* MWMInputLoginValidator.m in Sources */, 337F98B421D3C9F200C8AC27 /* SearchHistoryViewController.swift in Sources */, @@ -5381,7 +5364,6 @@ 993DF11023F6BDB100AC231A /* MWMButtonRenderer.swift in Sources */, 3463BA671DE81DB90082417F /* MWMTrafficButtonViewController.mm in Sources */, 993DF10323F6BDB100AC231A /* MainTheme.swift in Sources */, - 993DF12523F6BDB100AC231A /* UITextField+swizzle.m in Sources */, 34AB66051FC5AA320078E451 /* MWMNavigationDashboardManager+Entity.mm in Sources */, 993DF12A23F6BDB100AC231A /* Style.swift in Sources */, 34ABA6171C2D185C00FE1BEC /* MWMAuthorizationOSMLoginViewController.mm in Sources */,