VLCSettingsController.m 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. //
  2. // VLCSettingsViewController.m
  3. // VLC for iOS
  4. //
  5. // Created by Felix Paul Kühne on 23.05.13.
  6. // Copyright (c) 2013 VideoLAN. All rights reserved.
  7. //
  8. #import "VLCSettingsController.h"
  9. #import "VLCAppDelegate.h"
  10. #import "VLCPlaylistViewController.h"
  11. #import "IASKSettingsReader.h"
  12. @implementation VLCSettingsController
  13. - (id)init
  14. {
  15. self = [super init];
  16. if (self)
  17. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(settingDidChange:) name:kIASKAppSettingChanged object:nil];
  18. return self;
  19. }
  20. - (void)dealloc
  21. {
  22. [[NSNotificationCenter defaultCenter] removeObserver:self];
  23. }
  24. - (void)settingDidChange:(NSNotification*)notification
  25. {
  26. if ([notification.object isEqual:kVLCSettingPasscodeOnKey]) {
  27. BOOL passcodeOn = (BOOL)[[notification.userInfo objectForKey:@"PasscodeProtection"] intValue];
  28. if (passcodeOn) {
  29. PAPasscodeViewController *passcodeLockController = [[PAPasscodeViewController alloc] initForAction:PasscodeActionSet];
  30. passcodeLockController.delegate = self;
  31. [self.viewController presentModalViewController:passcodeLockController animated:YES];
  32. }
  33. }
  34. }
  35. - (void)settingsViewControllerDidEnd:(IASKAppSettingsViewController*)sender
  36. {
  37. [self.viewController.navigationController dismissModalViewControllerAnimated:YES];
  38. }
  39. #pragma mark - PAPasscode delegate
  40. - (void)PAPasscodeViewControllerDidCancel:(PAPasscodeViewController *)controller
  41. {
  42. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  43. [defaults setObject:@(NO) forKey:kVLCSettingPasscodeOnKey];
  44. [defaults synchronize];
  45. [controller dismissModalViewControllerAnimated:YES];
  46. }
  47. - (void)PAPasscodeViewControllerDidSetPasscode:(PAPasscodeViewController *)controller
  48. {
  49. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  50. [defaults setObject:@(YES) forKey:kVLCSettingPasscodeOnKey];
  51. [defaults setObject:controller.passcode forKey:kVLCSettingPasscodeKey];
  52. [defaults synchronize];
  53. VLCAppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
  54. appDelegate.nextPasscodeCheckDate = [NSDate dateWithTimeIntervalSinceNow:300];
  55. [controller dismissModalViewControllerAnimated:YES];
  56. }
  57. @end