NSUserDefaults+FLEX.m 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. //
  2. // NSUserDefaults+FLEX.m
  3. // FLEX
  4. //
  5. // Created by Tanner on 3/10/20.
  6. // Copyright © 2020 Flipboard. All rights reserved.
  7. //
  8. #import "NSUserDefaults+FLEX.h"
  9. NSString * const kFLEXDefaultsToolbarTopMarginKey = @"com.flex.FLEXToolbar.topMargin";
  10. NSString * const kFLEXDefaultsiOSPersistentOSLogKey = @"com.flipborad.flex.enable_persistent_os_log";
  11. NSString * const kFLEXDefaultsHidePropertyIvarsKey = @"com.flipboard.FLEX.hide_property_ivars";
  12. NSString * const kFLEXDefaultsHidePropertyMethodsKey = @"com.flipboard.FLEX.hide_property_methods";
  13. NSString * const kFLEXDefaultsHideMethodOverridesKey = @"com.flipboard.FLEX.hide_method_overrides";
  14. @implementation NSUserDefaults (FLEX)
  15. - (void)toggleBoolForKey:(NSString *)key {
  16. [self setBool:![self boolForKey:key] forKey:key];
  17. [NSNotificationCenter.defaultCenter postNotificationName:key object:nil];
  18. }
  19. - (double)flex_toolbarTopMargin {
  20. if ([self objectForKey:kFLEXDefaultsToolbarTopMarginKey]) {
  21. return [self doubleForKey:kFLEXDefaultsToolbarTopMarginKey];
  22. }
  23. return 100;
  24. }
  25. - (void)setFlex_toolbarTopMargin:(double)margin {
  26. [self setDouble:margin forKey:kFLEXDefaultsToolbarTopMarginKey];
  27. }
  28. - (BOOL)flex_cacheOSLogMessages {
  29. return [self boolForKey:kFLEXDefaultsiOSPersistentOSLogKey];
  30. }
  31. - (void)setFlex_cacheOSLogMessages:(BOOL)cache {
  32. [self setBool:cache forKey:kFLEXDefaultsiOSPersistentOSLogKey];
  33. [NSNotificationCenter.defaultCenter
  34. postNotificationName:kFLEXDefaultsiOSPersistentOSLogKey
  35. object:nil
  36. ];
  37. }
  38. - (BOOL)flex_explorerHidesPropertyIvars {
  39. return [self boolForKey:kFLEXDefaultsHidePropertyIvarsKey];
  40. }
  41. - (void)setFlex_explorerHidesPropertyIvars:(BOOL)hide {
  42. [self setBool:hide forKey:kFLEXDefaultsHidePropertyIvarsKey];
  43. [NSNotificationCenter.defaultCenter
  44. postNotificationName:kFLEXDefaultsHidePropertyIvarsKey
  45. object:nil
  46. ];
  47. }
  48. - (BOOL)flex_explorerHidesPropertyMethods {
  49. return [self boolForKey:kFLEXDefaultsHidePropertyMethodsKey];
  50. }
  51. - (void)setFlex_explorerHidesPropertyMethods:(BOOL)hide {
  52. [self setBool:hide forKey:kFLEXDefaultsHidePropertyMethodsKey];
  53. [NSNotificationCenter.defaultCenter
  54. postNotificationName:kFLEXDefaultsHidePropertyMethodsKey
  55. object:nil
  56. ];
  57. }
  58. - (BOOL)flex_explorerShowsMethodOverrides {
  59. return [self boolForKey:kFLEXDefaultsHideMethodOverridesKey];
  60. }
  61. - (void)setFlex_explorerShowsMethodOverrides:(BOOL)show {
  62. [self setBool:show forKey:kFLEXDefaultsHideMethodOverridesKey];
  63. [NSNotificationCenter.defaultCenter
  64. postNotificationName:kFLEXDefaultsHideMethodOverridesKey
  65. object:nil
  66. ];
  67. }
  68. @end