From ae362b2fa89469270e3bcd5f46729635d4cd7ffa Mon Sep 17 00:00:00 2001 From: vijay vikram singh Date: Wed, 9 Jan 2019 19:20:27 +0530 Subject: [PATCH] fix(ios) : Debug macros behaviour in framework implemented using shared configuration --- .../TitaniumKit/TitaniumKit/Sources/API/TiBase.h | 15 ++++++--------- .../Sources/API/TiRootViewController.h | 2 -- .../Sources/API/TiRootViewController.m | 11 ++++++----- .../TitaniumKit/Sources/Misc/TiSharedConfig.h | 6 ++++++ iphone/iphone/main.m | 4 +++- support/iphone/main.m | 4 ++++ 6 files changed, 25 insertions(+), 17 deletions(-) diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiBase.h b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiBase.h index 5c731802fd8..d21ae446655 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiBase.h +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiBase.h @@ -5,6 +5,7 @@ * Please see the LICENSE included with this distribution for details. */ +#import "TiSharedConfig.h" #import #import @@ -522,16 +523,12 @@ enum { } #endif -#if defined(DEBUG) || defined(DEVELOPER) -#define DebugLog(...) \ - { \ - NSLog(__VA_ARGS__); \ +#define DebugLog(...) \ + { \ + if ([TiSharedConfig defaultConfig].debugEnabled) { \ + NSLog(__VA_ARGS__); \ + } \ } -#else -#define DebugLog(...) \ - { \ - } -#endif #define VAL_OR_NSNULL(foo) (((foo) != nil) ? ((id)foo) : [NSNull null]) diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.h b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.h index 2085f937341..a0e05d6c9d3 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.h +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.h @@ -66,9 +66,7 @@ @property (nonatomic, readonly) UIStatusBarStyle defaultStatusBarStyle; @property (nonatomic, readonly) BOOL statusBarVisibilityChanged; @property (nonatomic, readonly) TiViewProxy *keyboardFocusedProxy; -#if defined(DEBUG) || defined(DEVELOPER) - (void)shutdownUi:(id)arg; -#endif - (UIImage *)defaultImageForOrientation:(UIDeviceOrientation)orientation resultingOrientation:(UIDeviceOrientation *)imageOrientation idiom:(UIUserInterfaceIdiom *)imageIdiom; @end diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m index c4c188dcd9c..ad8d48cc5e5 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m @@ -685,9 +685,11 @@ - (UIView *)topWindowProxyView } } -#if defined(DEBUG) || defined(DEVELOPER) - (void)shutdownUi:(id)arg { + if (![TiSharedConfig defaultConfig].debugEnabled) { + return; + } //FIRST DISMISS ALL MODAL WINDOWS UIViewController *topVC = [self topPresentedController]; if (topVC != self) { @@ -724,7 +726,6 @@ - (void)shutdownUi:(id)arg DebugLog(@"[WARN] Could not resume. No selector _resumeRestart: found for arg"); } } -#endif #pragma mark - TiControllerContainment - (BOOL)canHostWindows @@ -1187,9 +1188,9 @@ - (void)refreshOrientationWithDuration:(id)unused if ([[UIApplication sharedApplication] statusBarOrientation] != target) { forcingRotation = YES; -#if defined(DEBUG) || defined(DEVELOPER) - DebugLog(@"Forcing rotation to %d. Current Orientation %d. This is not good UI design. Please reconsider.", target, [[UIApplication sharedApplication] statusBarOrientation]); -#endif + if ([TiSharedConfig defaultConfig].debugEnabled) { + DebugLog(@"Forcing rotation to %d. Current Orientation %d. This is not good UI design. Please reconsider.", target, [[UIApplication sharedApplication] statusBarOrientation]); + } #ifdef FORCE_WITH_MODAL [self forceRotateToOrientation:target]; #else diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/Misc/TiSharedConfig.h b/iphone/TitaniumKit/TitaniumKit/Sources/Misc/TiSharedConfig.h index 84f62179463..42d20464b4d 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/Misc/TiSharedConfig.h +++ b/iphone/TitaniumKit/TitaniumKit/Sources/Misc/TiSharedConfig.h @@ -109,6 +109,12 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, strong, nullable) UIColor *defaultBackgroundColor; +/** + Indicates whether debug is enabled or not. + */ + +@property (nonatomic, assign) BOOL debugEnabled; + + (TiSharedConfig *)defaultConfig; NS_ASSUME_NONNULL_END diff --git a/iphone/iphone/main.m b/iphone/iphone/main.m index 517d20841c6..7eb54c21711 100644 --- a/iphone/iphone/main.m +++ b/iphone/iphone/main.m @@ -61,7 +61,9 @@ int main(int argc, char *argv[]) alpha:1.0f]; #endif [[TiSharedConfig defaultConfig] setDefaultBackgroundColor:defaultBgColor]; - +#if defined(DEBUG) || defined(DEVELOPER) + [[TiSharedConfig defaultConfig] setDebugEnabled:YES]; +#endif NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, @"TiUIApplication", @"TiApp"); [pool release]; diff --git a/support/iphone/main.m b/support/iphone/main.m index cd6353fc39e..60ada5f39b8 100644 --- a/support/iphone/main.m +++ b/support/iphone/main.m @@ -56,6 +56,10 @@ int main(int argc, char *argv[]) #endif [[TiSharedConfig defaultConfig] setDefaultBackgroundColor:defaultBgColor]; +#if defined(DEBUG) || defined(DEVELOPER) + [[TiSharedConfig defaultConfig] setDebugEnabled:YES]; +#endif + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, @"TiUIApplication", @"TiApp"); [pool release];