@implementation AlienBlueThemeController
- (id)specifiers {
	if(_specifiers == nil) {
		_specifiers = [[self loadSpecifiersFromPlistName:@"AlienBlueTheme" target:self] retain];
	}
	return _specifiers;
}


/* Tint navbar items. */
- (void)viewWillAppear:(BOOL)animated {
	[self clearCache];
	[self reload];
	[super viewWillAppear:animated];
    [self.navigationController.navigationController.navigationBar setShadowImage: [UIImage new]];

	// tint navbar
	self.navigationController.navigationController.navigationBar.tintColor = [DarkMessagesTheme tintColor];
}


/* TableView stuff. */
- (id)tableView:(id)tableView viewForHeaderInSection:(NSInteger)section {
	if (section != 0) {
		return [super tableView:tableView viewForHeaderInSection:section];
	}
	
	if (!self.AlienBlueThemeheaderView) {
		
		UIView *AlienBlueThemeheaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, headerHeight)];
		AlienBlueThemeheaderView.backgroundColor = UA_SettingsBackground;
		AlienBlueThemeheaderView.opaque = YES;
		
		CGRect frame = CGRectMake(15, 47, AlienBlueThemeheaderView.bounds.size.width, 50);
		UILabel *tweakTitle = [[UILabel alloc] initWithFrame:frame];
		tweakTitle.text = @"Alien Blue";
		tweakTitle.font = [UIFont systemFontOfSize:40 weight:UIFontWeightThin];
		tweakTitle.textColor = UIColor.whiteColor;
		tweakTitle.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
		[AlienBlueThemeheaderView addSubview:tweakTitle];
		
		self.AlienBlueThemeheaderView = AlienBlueThemeheaderView;
	}
	
	return self.AlienBlueThemeheaderView;
}
- (CGFloat)tableView:(id)tableView heightForHeaderInSection:(NSInteger)section {
	if (section == 0) {
		return headerHeight;
	} else {
		return [super tableView:tableView heightForHeaderInSection:section];
	}
}


- (void)AlienBlueThemeDefaults {
  NSFileManager *fileManager = [NSFileManager defaultManager];
  NSMutableDictionary *AlienBlueThemeDict;
  if ([fileManager fileExistsAtPath:PLIST_PATH_ALIENBLUETHEME]) {
    AlienBlueThemeDict = [NSMutableDictionary dictionaryWithContentsOfFile:PLIST_PATH_ALIENBLUETHEME];
  } else {
    AlienBlueThemeDict = [[NSMutableDictionary alloc] init];
  }

  [AlienBlueThemeDict setObject:@"#000000:1" forKey:@"AlienBlueTheme.app"];
  [AlienBlueThemeDict setObject:@"#050505:1" forKey:@"AlienBlueTheme.canvasColor"];
  [AlienBlueThemeDict setObject:@"#272729:1" forKey:@"AlienBlueTheme.lineColor"];
  [AlienBlueThemeDict setObject:@"#002A4C:1" forKey:@"AlienBlueTheme.highlightColor"];

  [AlienBlueThemeDict setObject:@"#565758:1" forKey:@"AlienBlueTheme.actionColor"];
  [AlienBlueThemeDict setObject:@"#24A0ED:1" forKey:@"AlienBlueTheme.buttonColor"];
  [AlienBlueThemeDict setObject:@"#000000:1" forKey:@"AlienBlueTheme.dimmerColor"];
  [AlienBlueThemeDict setObject:@"#272729:1" forKey:@"AlienBlueTheme.inactiveColor"];
  [AlienBlueThemeDict setObject:@"#353535:1" forKey:@"AlienBlueTheme.cellHighlightColor"];

  [AlienBlueThemeDict setObject:@"#1C1C1C:1" forKey:@"AlienBlueTheme.buttonHighlightTextColor"];
  [AlienBlueThemeDict setObject:@"#FFFFFF:1" forKey:@"AlienBlueTheme.buttonTextColor"];
  [AlienBlueThemeDict setObject:@"#24A0ED:1" forKey:@"AlienBlueTheme.linkTextColor"];
  [AlienBlueThemeDict setObject:@"#818384:1" forKey:@"AlienBlueTheme.metaTextColor"];
  [AlienBlueThemeDict setObject:@"#D7DADC:1" forKey:@"AlienBlueTheme.bodyTextColor"];

  [AlienBlueThemeDict setObject:@"#FF4500:1" forKey:@"AlienBlueTheme.orangeRedColor"];
  [AlienBlueThemeDict setObject:@"#FF8717:1" forKey:@"AlienBlueTheme.orangeColor"];
  [AlienBlueThemeDict setObject:@"#DDBD37:1" forKey:@"AlienBlueTheme.goldColor"];
  [AlienBlueThemeDict setObject:@"#0DD3BB:1" forKey:@"AlienBlueTheme.mintColor"];
  [AlienBlueThemeDict setObject:@"#46D160:1" forKey:@"AlienBlueTheme.greenColor"];
  [AlienBlueThemeDict setObject:@"#94E044:1" forKey:@"AlienBlueTheme.limeColor"];


  if ([AlienBlueThemeDict writeToFile:PLIST_PATH_ALIENBLUETHEME atomically:YES]) {
    [self reloadSpecifiers];
      	UIAlertController *alertController = ({
        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Defaults" message:@"Defaults is set" preferredStyle:UIAlertControllerStyleAlert];
        [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDestructive handler:nil]];
        alertController;
    });
    [self presentViewController:alertController animated:YES completion:nil];

  }
}


- (void)AlienBlueThemeAppDefaults{
  NSFileManager *fileManager = [NSFileManager defaultManager];
  NSMutableDictionary *AlienBlueThemeDict;
  if ([fileManager fileExistsAtPath:PLIST_PATH_ALIENBLUETHEME]) {
    AlienBlueThemeDict = [NSMutableDictionary dictionaryWithContentsOfFile:PLIST_PATH_ALIENBLUETHEME];
  } else {
    AlienBlueThemeDict = [[NSMutableDictionary alloc] init];
  }

  [AlienBlueThemeDict setObject:@"#000000:1" forKey:@"AlienBlueTheme.app"];
  [AlienBlueThemeDict setObject:@"#050505:1" forKey:@"AlienBlueTheme.canvasColor"];
  [AlienBlueThemeDict setObject:@"#272729:1" forKey:@"AlienBlueTheme.lineColor"];
  [AlienBlueThemeDict setObject:@"#002A4C:1" forKey:@"AlienBlueTheme.highlightColor"];

  if ([AlienBlueThemeDict writeToFile:PLIST_PATH_ALIENBLUETHEME atomically:YES]) {
    [self reloadSpecifiers];
      	UIAlertController *alertController = ({
        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Defaults" message:@"Defaults is set" preferredStyle:UIAlertControllerStyleAlert];
        [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDestructive handler:nil]];
        alertController;
    });
    [self presentViewController:alertController animated:YES completion:nil];

  }
}


- (void)AlienBlueThemeTintDefaults{
  NSFileManager *fileManager = [NSFileManager defaultManager];
  NSMutableDictionary *AlienBlueThemeDict;
  if ([fileManager fileExistsAtPath:PLIST_PATH_ALIENBLUETHEME]) {
    AlienBlueThemeDict = [NSMutableDictionary dictionaryWithContentsOfFile:PLIST_PATH_ALIENBLUETHEME];
  } else {
    AlienBlueThemeDict = [[NSMutableDictionary alloc] init];
  }

  [AlienBlueThemeDict setObject:@"#565758:1" forKey:@"AlienBlueTheme.actionColor"];
  [AlienBlueThemeDict setObject:@"#24A0ED:1" forKey:@"AlienBlueTheme.buttonColor"];
  [AlienBlueThemeDict setObject:@"#000000:1" forKey:@"AlienBlueTheme.dimmerColor"];
  [AlienBlueThemeDict setObject:@"#272729:1" forKey:@"AlienBlueTheme.inactiveColor"];
  [AlienBlueThemeDict setObject:@"#353535:1" forKey:@"AlienBlueTheme.cellHighlightColor"];

  if ([AlienBlueThemeDict writeToFile:PLIST_PATH_ALIENBLUETHEME atomically:YES]) {
    [self reloadSpecifiers];
      	UIAlertController *alertController = ({
        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Defaults" message:@"Defaults is set" preferredStyle:UIAlertControllerStyleAlert];
        [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDestructive handler:nil]];
        alertController;
    });
    [self presentViewController:alertController animated:YES completion:nil];

  }
}


- (void)AlienBlueThemeTextDefaults{
  NSFileManager *fileManager = [NSFileManager defaultManager];
  NSMutableDictionary *AlienBlueThemeDict;
  if ([fileManager fileExistsAtPath:PLIST_PATH_ALIENBLUETHEME]) {
    AlienBlueThemeDict = [NSMutableDictionary dictionaryWithContentsOfFile:PLIST_PATH_ALIENBLUETHEME];
  } else {
    AlienBlueThemeDict = [[NSMutableDictionary alloc] init];
  }

  [AlienBlueThemeDict setObject:@"#1C1C1C:1" forKey:@"AlienBlueTheme.buttonHighlightTextColor"];
  [AlienBlueThemeDict setObject:@"#FFFFFF:1" forKey:@"AlienBlueTheme.buttonTextColor"];
  [AlienBlueThemeDict setObject:@"#24A0ED:1" forKey:@"AlienBlueTheme.linkTextColor"];
  [AlienBlueThemeDict setObject:@"#818384:1" forKey:@"AlienBlueTheme.metaTextColor"];
  [AlienBlueThemeDict setObject:@"#D7DADC:1" forKey:@"AlienBlueTheme.bodyTextColor"];

  if ([AlienBlueThemeDict writeToFile:PLIST_PATH_ALIENBLUETHEME atomically:YES]) {
    [self reloadSpecifiers];
      	UIAlertController *alertController = ({
        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Defaults" message:@"Defaults is set" preferredStyle:UIAlertControllerStyleAlert];
        [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDestructive handler:nil]];
        alertController;
    });
    [self presentViewController:alertController animated:YES completion:nil];

  }
}


- (void)AlienBlueThemeColorsDefaults{
  NSFileManager *fileManager = [NSFileManager defaultManager];
  NSMutableDictionary *AlienBlueThemeDict;
  if ([fileManager fileExistsAtPath:PLIST_PATH_ALIENBLUETHEME]) {
    AlienBlueThemeDict = [NSMutableDictionary dictionaryWithContentsOfFile:PLIST_PATH_ALIENBLUETHEME];
  } else {
    AlienBlueThemeDict = [[NSMutableDictionary alloc] init];
  }

  [AlienBlueThemeDict setObject:@"#FF4500:1" forKey:@"AlienBlueTheme.orangeRedColor"];
  [AlienBlueThemeDict setObject:@"#FF8717:1" forKey:@"AlienBlueTheme.orangeColor"];
  [AlienBlueThemeDict setObject:@"#DDBD37:1" forKey:@"AlienBlueTheme.goldColor"];
  [AlienBlueThemeDict setObject:@"#0DD3BB:1" forKey:@"AlienBlueTheme.mintColor"];
  [AlienBlueThemeDict setObject:@"#46D160:1" forKey:@"AlienBlueTheme.greenColor"];
  [AlienBlueThemeDict setObject:@"#94E044:1" forKey:@"AlienBlueTheme.limeColor"];

  if ([AlienBlueThemeDict writeToFile:PLIST_PATH_ALIENBLUETHEME atomically:YES]) {
    [self reloadSpecifiers];
      	UIAlertController *alertController = ({
        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Defaults" message:@"Defaults is set" preferredStyle:UIAlertControllerStyleAlert];
        [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDestructive handler:nil]];
        alertController;
    });
    [self presentViewController:alertController animated:YES completion:nil];

  }
}
@end