removing pull to refresh

This commit is contained in:
Roy Yang 2012-06-15 19:12:48 -07:00
parent 3adbf695af
commit b5778fe892
3 changed files with 16 additions and 111 deletions

View file

@ -8,20 +8,18 @@
#import <UIKit/UIKit.h>
#import "ASIHTTPRequest.h"
#import "PullToRefreshView.h"
#import "BaseViewController.h"
@class NewsBlurAppDelegate;
@interface FeedDetailViewController : BaseViewController
<UITableViewDelegate, UITableViewDataSource, PullToRefreshViewDelegate,
<UITableViewDelegate, UITableViewDataSource,
UIActionSheetDelegate, UIAlertViewDelegate> {
NewsBlurAppDelegate *appDelegate;
NSArray * stories;
int feedPage;
BOOL pageFetching;
BOOL pageRefreshing;
BOOL pageFinished;
UITableView * storyTitlesTable;
@ -29,7 +27,6 @@
UISlider * feedScoreSlider;
UIBarButtonItem * feedMarkReadButton;
UISegmentedControl * intelligenceControl;
PullToRefreshView *pull;
}
- (void)resetFeedDetail;
@ -43,10 +40,6 @@
- (IBAction)selectIntelligence;
- (NSDictionary *)getStoryAtRow:(NSInteger)indexPathRow;
- (void)checkScroll;
- (void)pullToRefreshViewShouldRefresh:(PullToRefreshView *)view;
- (NSDate *)pullToRefreshViewLastUpdated:(PullToRefreshView *)view;
- (void)finishedRefreshingFeed:(ASIHTTPRequest *)request;
- (void)failRefreshingFeed:(ASIHTTPRequest *)request;
- (IBAction)doOpenMarkReadActionSheet:(id)sender;
- (IBAction)doOpenSettingsActionSheet;
@ -62,7 +55,6 @@
@property (nonatomic, retain) IBOutlet UIBarButtonItem * feedMarkReadButton;
@property (nonatomic, retain) IBOutlet UIBarButtonItem * settingsButton;
@property (nonatomic, retain) IBOutlet UISegmentedControl * intelligenceControl;
@property (nonatomic, retain) PullToRefreshView *pull;
@property (nonatomic, retain) NSArray * stories;
@property (nonatomic, readwrite) int feedPage;
@ -70,4 +62,4 @@
@property (nonatomic, readwrite) BOOL pageRefreshing;
@property (nonatomic, readwrite) BOOL pageFinished;
@end
@end

View file

@ -11,7 +11,6 @@
#import "NewsBlurAppDelegate.h"
#import "FeedDetailTableCell.h"
#import "SplitStoryDetailViewController.h"
#import "PullToRefreshView.h"
#import "ASIFormDataRequest.h"
#import "NSString+HTML.h"
#import "MBProgressHUD.h"
@ -33,10 +32,8 @@
@synthesize appDelegate;
@synthesize feedPage;
@synthesize pageFetching;
@synthesize pageRefreshing;
@synthesize pageFinished;
@synthesize intelligenceControl;
@synthesize pull;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
@ -46,12 +43,6 @@
}
- (void)viewDidLoad {
pull = [[PullToRefreshView alloc] initWithScrollView:self.storyTitlesTable];
[pull setDelegate:self];
[self.storyTitlesTable addSubview:pull];
[super viewDidLoad];
}
@ -108,20 +99,7 @@
[self.intelligenceControl setSelectedSegmentIndex:[appDelegate selectedIntelligence]+1];
[super viewWillAppear:animated];
BOOL pullFound = NO;
for (UIView *view in self.storyTitlesTable.subviews) {
if ([view isKindOfClass:[PullToRefreshView class]]) {
pullFound = YES;
if (appDelegate.isRiverView) {
[view removeFromSuperview];
}
}
}
if (!appDelegate.isRiverView && !pullFound) {
[self.storyTitlesTable addSubview:pull];
}
if (appDelegate.isRiverView && [appDelegate.activeFolder isEqualToString:@"Everything"]) {
settingsButton.enabled = NO;
} else {
@ -132,7 +110,6 @@
- (void)viewDidAppear:(BOOL)animated {
// [[storyTitlesTable cellForRowAtIndexPath:[storyTitlesTable indexPathForSelectedRow]] setSelected:NO]; // TODO: DESELECT CELL --- done, see line below:
[self.storyTitlesTable deselectRowAtIndexPath:[storyTitlesTable indexPathForSelectedRow] animated:YES];
[pull refreshLastUpdatedDate];
[super viewDidAppear:animated];
}
@ -146,7 +123,6 @@
[stories release];
[appDelegate release];
[intelligenceControl release];
[pull release];
[super dealloc];
}
@ -156,7 +132,6 @@
- (void)resetFeedDetail {
self.pageFetching = NO;
self.pageFinished = NO;
self.pageRefreshing = NO;
self.feedPage = 1;
}
@ -221,7 +196,6 @@
return;
}
[pull finishedLoading];
NSArray *newStories = [results objectForKey:@"stories"];
NSMutableArray *confirmedNewStories = [NSMutableArray array];
if ([appDelegate.activeFeedStories count]) {
@ -390,16 +364,11 @@
#pragma mark -
#pragma mark Table View - Feed List
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (self.pageRefreshing) {
// Refreshing feed
return 1;
} else {
int storyCount = [[appDelegate activeFeedStoryLocations] count];
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
int storyCount = [[appDelegate activeFeedStoryLocations] count];
// The +1 is for the finished/loading bar.
return storyCount + 1;
}
// The +1 is for the finished/loading bar.
return storyCount + 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView
@ -873,63 +842,5 @@
[appDelegate showMoveSite];
}
#pragma mark -
#pragma mark PullToRefresh
// called when the user pulls-to-refresh
- (void)pullToRefreshViewShouldRefresh:(PullToRefreshView *)view {
if (appDelegate.isRiverView) {
[pull finishedLoading];
return;
}
NSString *urlString = [NSString
stringWithFormat:@"http://%@/reader/refresh_feed/%@",
NEWSBLUR_URL,
[appDelegate.activeFeed objectForKey:@"id"]];
[self cancelRequests];
__block ASIHTTPRequest *request = [self requestWithURL:urlString];
[request setDelegate:self];
[request setResponseEncoding:NSUTF8StringEncoding];
[request setDefaultResponseEncoding:NSUTF8StringEncoding];
[request setDidFinishSelector:@selector(finishedRefreshingFeed:)];
[request setDidFailSelector:@selector(failRefreshingFeed:)];
[request setTimeOutSeconds:60];
[request startAsynchronous];
[appDelegate setStories:nil];
self.feedPage = 1;
self.pageFetching = YES;
self.pageRefreshing = YES;
[self.storyTitlesTable reloadData];
[storyTitlesTable scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
}
- (void)finishedRefreshingFeed:(ASIHTTPRequest *)request {
NSString *responseString = [request responseString];
NSDictionary *results = [[NSDictionary alloc]
initWithDictionary:[responseString JSONValue]];
[pull finishedLoading];
self.pageRefreshing = NO;
[self renderStories:[results objectForKey:@"stories"]];
[results release];
}
- (void)failRefreshingFeed:(ASIHTTPRequest *)request {
NSLog(@"Fail: %@", request);
self.pageRefreshing = NO;
[self informError:[request error]];
[pull finishedLoading];
[self fetchFeedDetail:1 withCallback:nil];
}
// called when the date shown needs to be updated, optional
- (NSDate *)pullToRefreshViewLastUpdated:(PullToRefreshView *)view {
// NSLog(@"Updated; %@", [appDelegate.activeFeed objectForKey:@"updated_seconds_ago"]);
int seconds = -1 * [[appDelegate.activeFeed objectForKey:@"updated_seconds_ago"] intValue];
return [[[NSDate alloc] initWithTimeIntervalSinceNow:seconds] autorelease];
}
@end

View file

@ -49,9 +49,10 @@
<object class="IBUILabel" id="750430533">
<reference key="NSNextResponder" ref="994014136"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{865, 35}, {119, 15}}</string>
<string key="NSFrame">{{165, 40}, {128, 15}}</string>
<reference key="NSSuperview" ref="994014136"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<object class="NSColor" key="IBUIBackgroundColor" id="932003208">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MSAxIDEAA</bytes>
@ -131,7 +132,7 @@
<object class="IBUILabel" id="194816084">
<reference key="NSNextResponder" ref="994014136"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{33, 40}, {260, 15}}</string>
<string key="NSFrame">{{33, 40}, {137, 15}}</string>
<reference key="NSSuperview" ref="994014136"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="750430533"/>
@ -219,9 +220,10 @@
<object class="IBUILabel" id="607536273">
<reference key="NSNextResponder" ref="247257992"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{865, 55}, {119, 15}}</string>
<string key="NSFrame">{{159, 61}, {141, 15}}</string>
<reference key="NSSuperview" ref="247257992"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<reference key="IBUIBackgroundColor" ref="932003208"/>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUIContentMode">7</int>
@ -277,7 +279,7 @@
<object class="IBUILabel" id="450494992">
<reference key="NSNextResponder" ref="247257992"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{34, 61}, {266, 15}}</string>
<string key="NSFrame">{{34, 61}, {122, 15}}</string>
<reference key="NSSuperview" ref="247257992"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="607536273"/>
@ -442,10 +444,10 @@
<reference key="object" ref="749780469"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="194816084"/>
<reference ref="523799572"/>
<reference ref="750430533"/>
<reference ref="417683225"/>
<reference ref="750430533"/>
<reference ref="194816084"/>
</object>
<reference key="parent" ref="0"/>
</object>
@ -477,8 +479,8 @@
<reference ref="1001310564"/>
<reference ref="753396836"/>
<reference ref="450494992"/>
<reference ref="607536273"/>
<reference ref="111782255"/>
<reference ref="607536273"/>
</object>
<reference key="parent" ref="0"/>
</object>