iOS: mute from feed detail menu

This commit is contained in:
David Sinclair 2016-01-29 14:29:22 -08:00
parent 68d87578ae
commit a5dfb331fa
3 changed files with 54 additions and 4 deletions

View file

@ -102,6 +102,7 @@
}
if (!appDelegate.storiesCollection.isRiverView && !saved && !read) {
[options addObject:[@"Mute this site" uppercaseString]];
[options addObject:[@"Rename this site" uppercaseString]];
[options addObject:[@"Train this site" uppercaseString]];
[options addObject:[@"Insta-fetch stories" uppercaseString]];
@ -152,10 +153,12 @@
} else if (indexPath.row == 1) {
cell.imageView.image = [UIImage imageNamed:@"menu_icn_move.png"];
} else if (indexPath.row == 2) {
cell.imageView.image = [UIImage imageNamed:@"menu_icn_rename.png"];
cell.imageView.image = [UIImage imageNamed:@"menu_icn_mute.png"];
} else if (indexPath.row == 3) {
cell.imageView.image = [UIImage imageNamed:@"menu_icn_train.png"];
cell.imageView.image = [UIImage imageNamed:@"menu_icn_rename.png"];
} else if (indexPath.row == 4) {
cell.imageView.image = [UIImage imageNamed:@"menu_icn_train.png"];
} else if (indexPath.row == 5) {
cell.imageView.image = [UIImage imageNamed:@"menu_icn_fetch.png"];
}
@ -181,10 +184,12 @@
} else if (indexPath.row == 1) {
[appDelegate.feedDetailViewController openMoveView];
} else if (indexPath.row == 2) {
[appDelegate.feedDetailViewController openRenameSite];
[appDelegate.feedDetailViewController confirmMuteSite];
} else if (indexPath.row == 3) {
[appDelegate.feedDetailViewController openTrainSite];
[appDelegate.feedDetailViewController openRenameSite];
} else if (indexPath.row == 4) {
[appDelegate.feedDetailViewController openTrainSite];
} else if (indexPath.row == 5) {
[appDelegate.feedDetailViewController instafetchFeed];
}

View file

@ -92,8 +92,10 @@
- (IBAction)doOpenMarkReadMenu:(id)sender;
- (IBAction)doOpenSettingsMenu:(id)sender;
- (void)confirmDeleteSite;
- (void)confirmMuteSite;
- (void)deleteSite;
- (void)deleteFolder;
- (void)muteSite;
- (void)openMoveView;
- (void)openTrainSite;
- (void)openRenameSite;

View file

@ -1899,6 +1899,18 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
[deleteConfirm setTag:0];
}
- (void)confirmMuteSite {
UIAlertView *deleteConfirm = [[UIAlertView alloc]
initWithTitle:@"Positive?"
message:nil
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Mute",
nil];
[deleteConfirm show];
[deleteConfirm setTag:2];
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (alertView.tag == 0) {
// Delete
@ -1915,6 +1927,11 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
NSString *newTitle = [[alertView textFieldAtIndex:0] text];
[self renameTo:newTitle];
}
} else if (alertView.tag == 2) {
// Mute
if (buttonIndex != alertView.cancelButtonIndex) {
[self muteSite];
}
}
}
@ -2018,6 +2035,32 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
[request startAsynchronous];
}
- (void)muteSite {
[MBProgressHUD hideHUDForView:self.view animated:YES];
MBProgressHUD *HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
HUD.labelText = @"Muting...";
NSMutableArray *activeIdentifiers = [self.appDelegate.dictFeeds.allKeys mutableCopy];
NSString *thisIdentifier = [NSString stringWithFormat:@"%@", storiesCollection.activeFeed[@"id"]];
[activeIdentifiers removeObject:thisIdentifier];
NSString *urlString = [NSString stringWithFormat:@"%@/reader/save_feed_chooser", self.appDelegate.url];
NSURL *url = [NSURL URLWithString:urlString];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
for (id identifier in activeIdentifiers) {
[request addPostValue:identifier forKey:@"approved_feeds"];
}
[request setCompletionBlock:^(void) {
[self.appDelegate reloadFeedsView:YES];
[self.appDelegate.navigationController popToViewController:[appDelegate.navigationController.viewControllers objectAtIndex:0]
animated:YES];
[MBProgressHUD hideHUDForView:self.view animated:YES];
}];
request.didFailSelector = @selector(requestFailed:);
request.timeOutSeconds = 30;
[request startAsynchronous];
}
- (void)openMoveView {
[appDelegate showMoveSite];
}