NewsBlur/media/ios/Classes/FirstTimeUserAddFriendsViewController.m
2012-08-12 16:50:34 -07:00

152 lines
4.8 KiB
Objective-C

//
// FTUXAddFriendsViewController.m
// NewsBlur
//
// Created by Roy Yang on 7/22/12.
// Copyright (c) 2012 NewsBlur. All rights reserved.
//
#import "FirstTimeUserAddFriendsViewController.h"
#import "FirstTimeUserAddNewsBlurViewController.h"
#import "AuthorizeServicesViewController.h"
#import "ASIHTTPRequest.h"
@interface FirstTimeUserAddFriendsViewController ()
@end
@implementation FirstTimeUserAddFriendsViewController
@synthesize appDelegate;
@synthesize nextButton;
@synthesize facebookButton;
@synthesize twitterButton;
@synthesize facebookActivityIndicator;
@synthesize twitterActivityIndicator;
@synthesize friendsLabel;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
UIBarButtonItem *next = [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonSystemItemDone target:self action:@selector(tapNextButton)];
self.nextButton = next;
self.navigationItem.rightBarButtonItem = next;
self.navigationItem.title = @"Find Friends";
}
- (void)viewDidUnload {
[self setNextButton:nil];
[self setFacebookButton:nil];
[self setTwitterButton:nil];
[self setFacebookActivityIndicator:nil];
[self setTwitterActivityIndicator:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
return YES;
} else if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) {
return YES;
}
return NO;
}
- (IBAction)tapNextButton {
[appDelegate.ftuxNavigationController pushViewController:appDelegate.firstTimeUserAddNewsBlurViewController animated:YES];
}
- (IBAction)tapTwitterButton {
AuthorizeServicesViewController *service = [[AuthorizeServicesViewController alloc] init];
service.url = @"/oauth/twitter_connect";
service.type = @"twitter";
[appDelegate.ftuxNavigationController pushViewController:service animated:YES];
}
- (IBAction)tapFacebookButton {
AuthorizeServicesViewController *service = [[AuthorizeServicesViewController alloc] init];
service.url = @"/oauth/facebook_connect";
service.type = @"facebook";
[appDelegate.ftuxNavigationController pushViewController:service animated:YES];
}
- (void)selectTwitterButton {
self.twitterButton.selected = YES;
self.twitterButton.userInteractionEnabled = NO;
}
- (void)selectFacebookButton {
self.facebookButton.selected = YES;
self.facebookButton.userInteractionEnabled = NO;
}
- (IBAction)toggleAutoFollowFriends:(id)sender {
UISwitch *button = (UISwitch *)sender;
NSURL *preferenceURL = [NSURL URLWithString:
[NSString stringWithFormat:@"http://%@/profile/set_preference",
NEWSBLUR_URL]];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:preferenceURL];
[[NSHTTPCookieStorage sharedHTTPCookieStorage]
setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
if (button.on) {
[request setPostValue:@"false" forKey:@"autofollow_friends"];
} else {
[request setPostValue:@"true" forKey:@"autofollow_friends"];
}
[request setDelegate:self];
[request setResponseEncoding:NSUTF8StringEncoding];
[request setDefaultResponseEncoding:NSUTF8StringEncoding];
[request setDidFinishSelector:@selector(finishToggleAutoFollowFriends:)];
[request setDidFailSelector:@selector(finishedWithError:)];
[request setTimeOutSeconds:30];
[request startAsynchronous];
}
- (void)finishedWithError:(ASIHTTPRequest *)request {
NSString *responseString = [request responseString];
NSData *responseData=[responseString dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSDictionary *results = [NSJSONSerialization
JSONObjectWithData:responseData
options:kNilOptions
error:&error];
NSLog(@"results are %@", results);
}
- (void)finishToggleAutoFollowFriends:(ASIHTTPRequest *)request {
NSString *responseString = [request responseString];
NSData *responseData=[responseString dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSDictionary *results = [NSJSONSerialization
JSONObjectWithData:responseData
options:kNilOptions
error:&error];
NSLog(@"results are %@", results);
}
@end