mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
adding google reader import logic to FTUX
This commit is contained in:
parent
5b64858ef5
commit
c8c7ba982a
9 changed files with 1516 additions and 25 deletions
|
@ -59,7 +59,7 @@
|
|||
if ([URLString isEqualToString:[NSString stringWithFormat:@"http://%@/", NEWSBLUR_URL]]) {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
if ([type isEqualToString:@"google"]) {
|
||||
[appDelegate.firstTimeUserAddSitesViewController selectGoogleReaderButton];
|
||||
[appDelegate.firstTimeUserAddSitesViewController importFromGoogleReader];
|
||||
} else if ([type isEqualToString:@"facebook"]) {
|
||||
[appDelegate.firstTimeUserAddFriendsViewController selectFacebookButton];
|
||||
} else if ([type isEqualToString:@"twitter"]) {
|
||||
|
|
|
@ -17,12 +17,14 @@
|
|||
@property (nonatomic) NSMutableArray *categories;
|
||||
@property (nonatomic) IBOutlet UIButton *googleReaderButton;
|
||||
@property (nonatomic) IBOutlet UIBarButtonItem *nextButton;
|
||||
@property (nonatomic) IBOutlet UIActivityIndicatorView *activityIndicator;
|
||||
@property (nonatomic) IBOutlet UILabel *instructionLabel;
|
||||
|
||||
- (IBAction)tapNextButton;
|
||||
- (IBAction)tapGoogleReaderButton;
|
||||
- (IBAction)tapCategoryButton:(id)sender;
|
||||
|
||||
- (void)addCategories;
|
||||
- (void)selectGoogleReaderButton;
|
||||
|
||||
- (void)importFromGoogleReader;
|
||||
- (void)updateSites;
|
||||
@end
|
|
@ -6,16 +6,27 @@
|
|||
// Copyright (c) 2012 NewsBlur. All rights reserved.
|
||||
//
|
||||
|
||||
#import "NewsBlurAppDelegate.h"
|
||||
#import "FirstTimeUserAddSitesViewController.h"
|
||||
#import "FirstTimeUserAddFriendsViewController.h"
|
||||
#import "AuthorizeServicesViewController.h"
|
||||
#import "NewsBlurViewController.h"
|
||||
|
||||
@interface FirstTimeUserAddSitesViewController()
|
||||
|
||||
@property (readwrite) int importedFeedCount_;
|
||||
|
||||
@end;
|
||||
|
||||
@implementation FirstTimeUserAddSitesViewController
|
||||
|
||||
@synthesize appDelegate;
|
||||
@synthesize googleReaderButton;
|
||||
@synthesize nextButton;
|
||||
@synthesize activityIndicator;
|
||||
@synthesize instructionLabel;
|
||||
@synthesize categories;
|
||||
@synthesize importedFeedCount_;
|
||||
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
|
||||
{
|
||||
|
@ -35,16 +46,19 @@
|
|||
|
||||
UIBarButtonItem *next = [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonSystemItemDone target:self action:@selector(tapNextButton)];
|
||||
self.nextButton = next;
|
||||
// self.nextButton.enabled = NO;
|
||||
self.nextButton.enabled = NO;
|
||||
self.navigationItem.rightBarButtonItem = next;
|
||||
|
||||
self.navigationItem.title = @"Step 2 of 4";
|
||||
self.activityIndicator.hidesWhenStopped = YES;
|
||||
|
||||
}
|
||||
|
||||
- (void)viewDidUnload
|
||||
{
|
||||
|
||||
[self setActivityIndicator:nil];
|
||||
[self setInstructionLabel:nil];
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
|
@ -75,9 +89,46 @@
|
|||
[appDelegate.ftuxNavigationController pushViewController:service animated:YES];
|
||||
}
|
||||
|
||||
- (void)selectGoogleReaderButton {
|
||||
self.googleReaderButton.selected = YES;
|
||||
- (void)importFromGoogleReader {
|
||||
self.nextButton.enabled = YES;
|
||||
[self.googleReaderButton setTitle:@"Importing..." forState:UIControlStateNormal];
|
||||
self.googleReaderButton.userInteractionEnabled = NO;
|
||||
self.instructionLabel.text = @"This might take a minute. Feel free to continue and we'll let you know when we finish importing";
|
||||
[self.activityIndicator startAnimating];
|
||||
NSString *urlString = [NSString stringWithFormat:@"http://%@/import/import_from_google_reader/",
|
||||
NEWSBLUR_URL];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
|
||||
[request setPostValue:@"true" forKey:@"auto_active"];
|
||||
[request setDelegate:self];
|
||||
[request setDidFinishSelector:@selector(finishImportFromGoogleReader:)];
|
||||
[request setDidFailSelector:@selector(requestFailed:)];
|
||||
[request startAsynchronous];
|
||||
}
|
||||
|
||||
- (void)finishImportFromGoogleReader:(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);
|
||||
|
||||
self.importedFeedCount_ = [[results objectForKey:@"feed_count"] intValue];
|
||||
[self performSelector:@selector(updateSites) withObject:nil afterDelay:1];
|
||||
}
|
||||
|
||||
- (void)updateSites {
|
||||
self.instructionLabel.text = @"And just like that, we're done! Time to see what your friends are sharing.";
|
||||
[appDelegate.feedsViewController fetchFeedList:NO];
|
||||
NSString *msg = [NSString stringWithFormat:@"Imported %i site%@",
|
||||
self.importedFeedCount_,
|
||||
self.importedFeedCount_ == 1 ? @"" : @"s"];
|
||||
[self.googleReaderButton setTitle:msg forState:UIControlStateSelected];
|
||||
self.googleReaderButton.selected = YES;
|
||||
[self.activityIndicator stopAnimating];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -284,7 +284,7 @@
|
|||
[self.passwordInput setText:@""];
|
||||
[self.signUpPasswordInput setText:@""];
|
||||
[appDelegate showFirstTimeUser];
|
||||
// [appDelegate reloadFeedsView:YES];
|
||||
[appDelegate reloadFeedsView:YES];
|
||||
[self dismissModalViewControllerAnimated:NO];
|
||||
}
|
||||
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
[window makeKeyAndVisible];
|
||||
[self.feedsViewController fetchFeedList:YES];
|
||||
|
||||
[self showFirstTimeUser];
|
||||
// [self showFirstTimeUser];
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
|
|
@ -260,7 +260,7 @@
|
|||
[request setDidFailSelector:@selector(finishedWithError:)];
|
||||
[request setTimeOutSeconds:30];
|
||||
[request startAsynchronous];
|
||||
|
||||
NSLog(@"urlFeedList is %@", urlFeedList);
|
||||
self.lastUpdate = [NSDate date];
|
||||
}
|
||||
|
||||
|
@ -289,6 +289,7 @@
|
|||
options:kNilOptions
|
||||
error:&error];
|
||||
|
||||
NSLog(@"results are %@", results);
|
||||
[MBProgressHUD hideHUDForView:self.view animated:YES];
|
||||
self.stillVisibleFeeds = [NSMutableDictionary dictionary];
|
||||
self.visibleFeeds = [NSMutableDictionary dictionary];
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
// #define BACKGROUND_REFRESH_SECONDS -5
|
||||
#define BACKGROUND_REFRESH_SECONDS -10*60
|
||||
|
||||
#define NEWSBLUR_URL [NSString stringWithFormat:@"nb.local.host"]
|
||||
#define NEWSBLUR_URL [NSString stringWithFormat:@"nb.local.com"]
|
||||
// #define NEWSBLUR_URL [NSString stringWithFormat:@"www.newsblur.com"]
|
||||
|
||||
#define NEWSBLUR_LINK_COLOR 0x405BA8
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{768, 1024}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
|
@ -483,14 +484,6 @@
|
|||
</object>
|
||||
<int key="connectionID">273</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">firstTimeUserAddSitesViewController</string>
|
||||
<reference key="source" ref="664661524"/>
|
||||
<reference key="destination" ref="390171581"/>
|
||||
</object>
|
||||
<int key="connectionID">274</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">firstTimeUserAddFriendsViewController</string>
|
||||
|
@ -507,6 +500,14 @@
|
|||
</object>
|
||||
<int key="connectionID">276</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">firstTimeUserAddSitesViewController</string>
|
||||
<reference key="source" ref="664661524"/>
|
||||
<reference key="destination" ref="390171581"/>
|
||||
</object>
|
||||
<int key="connectionID">277</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">appDelegate</string>
|
||||
|
@ -1008,7 +1009,7 @@
|
|||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">276</int>
|
||||
<int key="maxID">277</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes"/>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
|
|
Loading…
Add table
Reference in a new issue