Commits

Tim Hibbard committed 7745223

can report issue

  • Participants
  • Parent commits 70449a3

Comments (0)

Files changed (12)

File Christian FM.xcodeproj/project.pbxproj

 		126CFC8D15E875CA002E3B90 /* twitter-bird-blue-on-white.png in Resources */ = {isa = PBXBuildFile; fileRef = 126CFC8C15E875CA002E3B90 /* twitter-bird-blue-on-white.png */; };
 		126CFC8F15E875F7002E3B90 /* twitter-bird-light-bgs.png in Resources */ = {isa = PBXBuildFile; fileRef = 126CFC8E15E875F7002E3B90 /* twitter-bird-light-bgs.png */; };
 		126CFC9115E91219002E3B90 /* f_logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 126CFC9015E91219002E3B90 /* f_logo.png */; };
+		127C684D16553DA700F81A49 /* ReportProblemViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 127C684C16553DA700F81A49 /* ReportProblemViewController.m */; };
+		127C68541655552400F81A49 /* bug.png in Resources */ = {isa = PBXBuildFile; fileRef = 127C68501655552400F81A49 /* bug.png */; };
+		127C68551655552400F81A49 /* favorite.png in Resources */ = {isa = PBXBuildFile; fileRef = 127C68511655552400F81A49 /* favorite.png */; };
+		127C68561655552400F81A49 /* map.png in Resources */ = {isa = PBXBuildFile; fileRef = 127C68521655552400F81A49 /* map.png */; };
+		127C68571655552400F81A49 /* music.png in Resources */ = {isa = PBXBuildFile; fileRef = 127C68531655552400F81A49 /* music.png */; };
+		127C685B1655571600F81A49 /* pause.png in Resources */ = {isa = PBXBuildFile; fileRef = 127C68581655571600F81A49 /* pause.png */; };
+		127C685C1655571600F81A49 /* play.png in Resources */ = {isa = PBXBuildFile; fileRef = 127C68591655571600F81A49 /* play.png */; };
+		127C685D1655571600F81A49 /* remind.png in Resources */ = {isa = PBXBuildFile; fileRef = 127C685A1655571600F81A49 /* remind.png */; };
 		127E5BD715E135CC00B71EF7 /* StationLookupManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 127E5BD615E135CC00B71EF7 /* StationLookupManager.m */; };
 		12803D2515BD98BB0065285C /* Stations.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 125DB89315B1BFBA00A19A68 /* Stations.xcdatamodeld */; };
 		12BE3C9515B3B73B00AFCF25 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 12BE3C9015B3B5E300AFCF25 /* QuartzCore.framework */; };
 		1236EA0316270344002C1845 /* AudioStreamer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AudioStreamer.m; sourceTree = "<group>"; };
 		1236EA0416270344002C1845 /* iPhoneStreamer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iPhoneStreamer.h; sourceTree = "<group>"; };
 		1236EA0516270344002C1845 /* iPhoneStreamer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iPhoneStreamer.m; sourceTree = "<group>"; };
-		1236EA0916270BFD002C1845 /* Stations With BackgroundStream.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Stations With BackgroundStream.xcdatamodel"; sourceTree = "<group>"; };
+		1236EA0916270BFD002C1845 /* Stations With BackgroundStream.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Stations With BackgroundStream.xcdatamodel"; sourceTree = "<group>"; };
 		123E270315E94D82004E9925 /* WebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewController.h; sourceTree = "<group>"; };
 		123E270415E94D82004E9925 /* WebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebViewController.m; sourceTree = "<group>"; };
 		124852A815CDB4090036C49D /* MapDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapDetailViewController.h; sourceTree = "<group>"; };
 		126CFC8C15E875CA002E3B90 /* twitter-bird-blue-on-white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "twitter-bird-blue-on-white.png"; sourceTree = "<group>"; };
 		126CFC8E15E875F7002E3B90 /* twitter-bird-light-bgs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "twitter-bird-light-bgs.png"; sourceTree = "<group>"; };
 		126CFC9015E91219002E3B90 /* f_logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = f_logo.png; sourceTree = "<group>"; };
+		127C684B16553DA700F81A49 /* ReportProblemViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReportProblemViewController.h; sourceTree = "<group>"; };
+		127C684C16553DA700F81A49 /* ReportProblemViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReportProblemViewController.m; sourceTree = "<group>"; };
+		127C684F16554DD200F81A49 /* Stations With DatabaseID.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Stations With DatabaseID.xcdatamodel"; sourceTree = "<group>"; };
+		127C68501655552400F81A49 /* bug.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bug.png; sourceTree = "<group>"; };
+		127C68511655552400F81A49 /* favorite.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = favorite.png; sourceTree = "<group>"; };
+		127C68521655552400F81A49 /* map.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = map.png; sourceTree = "<group>"; };
+		127C68531655552400F81A49 /* music.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = music.png; sourceTree = "<group>"; };
+		127C68581655571600F81A49 /* pause.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause.png; sourceTree = "<group>"; };
+		127C68591655571600F81A49 /* play.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = play.png; sourceTree = "<group>"; };
+		127C685A1655571600F81A49 /* remind.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = remind.png; sourceTree = "<group>"; };
 		127E5BD515E135CC00B71EF7 /* StationLookupManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StationLookupManager.h; sourceTree = "<group>"; };
 		127E5BD615E135CC00B71EF7 /* StationLookupManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StationLookupManager.m; sourceTree = "<group>"; };
 		12803D2015BD90290065285C /* Stations 2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Stations 2.xcdatamodel"; sourceTree = "<group>"; };
 				12DD2C6015EFB23800BF296F /* StationMapViewController.m */,
 				12D60C5A1625A8B8007B50A7 /* AboutViewController.h */,
 				12D60C5B1625A8B8007B50A7 /* AboutViewController.m */,
+				127C684B16553DA700F81A49 /* ReportProblemViewController.h */,
+				127C684C16553DA700F81A49 /* ReportProblemViewController.m */,
 			);
 			name = iPhoneViews;
 			sourceTree = "<group>";
 		126CFC8B15E875CA002E3B90 /* images */ = {
 			isa = PBXGroup;
 			children = (
+				127C68581655571600F81A49 /* pause.png */,
+				127C68591655571600F81A49 /* play.png */,
+				127C685A1655571600F81A49 /* remind.png */,
+				127C68501655552400F81A49 /* bug.png */,
+				127C68511655552400F81A49 /* favorite.png */,
+				127C68521655552400F81A49 /* map.png */,
+				127C68531655552400F81A49 /* music.png */,
 				12D60C5D1625B95D007B50A7 /* engraph.png */,
 				126605D0160AA8CD008444D3 /* drawingpin1_blue.png */,
 				126605CD160AA4D5008444D3 /* Facebook-Icon.png */,
 				12D4F91B1624F84E00F02E8F /* AppiraterLocalizable.strings in Resources */,
 				12D4F91C1624F84E00F02E8F /* README.md in Resources */,
 				12D60C5E1625B95D007B50A7 /* engraph.png in Resources */,
+				127C68541655552400F81A49 /* bug.png in Resources */,
+				127C68551655552400F81A49 /* favorite.png in Resources */,
+				127C68561655552400F81A49 /* map.png in Resources */,
+				127C68571655552400F81A49 /* music.png in Resources */,
+				127C685B1655571600F81A49 /* pause.png in Resources */,
+				127C685C1655571600F81A49 /* play.png in Resources */,
+				127C685D1655571600F81A49 /* remind.png in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 				1236EA0616270344002C1845 /* ASPlaylist.m in Sources */,
 				1236EA0716270344002C1845 /* AudioStreamer.m in Sources */,
 				1236EA0816270344002C1845 /* iPhoneStreamer.m in Sources */,
+				127C684D16553DA700F81A49 /* ReportProblemViewController.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 				12803D2015BD90290065285C /* Stations 2.xcdatamodel */,
 				12284B1415D6EF4E000CA178 /* Stations With Stream.xcdatamodel */,
 				1236EA0916270BFD002C1845 /* Stations With BackgroundStream.xcdatamodel */,
+				127C684F16554DD200F81A49 /* Stations With DatabaseID.xcdatamodel */,
 				125DB89415B1BFBA00A19A68 /* Stations.xcdatamodel */,
 			);
-			currentVersion = 1236EA0916270BFD002C1845 /* Stations With BackgroundStream.xcdatamodel */;
+			currentVersion = 127C684F16554DD200F81A49 /* Stations With DatabaseID.xcdatamodel */;
 			path = Stations.xcdatamodeld;
 			sourceTree = "<group>";
 			versionGroupType = wrapper.xcdatamodel;

File Christian FM.xcodeproj/project.xcworkspace/xcuserdata/timhibbard.xcuserdatad/UserInterfaceState.xcuserstate

Binary file modified.

File Christian Radio Finder/ReportProblemViewController.h

+//
+//  ReportProblemViewController.h
+//  Christian FM
+//
+//  Created by Tim Hibbard on 11/15/12.
+//
+//
+
+#import <UIKit/UIKit.h>
+#import <MapKit/MapKit.h>
+#import <MessageUI/MFMailComposeViewController.h>
+#import "Station.h"
+
+@class Station;
+
+@interface ReportProblemViewController : UITableViewController <UIPickerViewDelegate, UIPickerViewDataSource>
+
+
+@property (nonatomic, strong) Station *station;
+@property (nonatomic, retain) IBOutlet UIPickerView *picker;
+@property (nonatomic, retain) IBOutlet UITableViewCell *issueCell;
+@property (nonatomic, retain) IBOutlet UITableViewCell *noteCell;
+@property (nonatomic, retain) IBOutlet UITableViewCell *submitCell;
+@property (nonatomic, retain) IBOutlet UITableViewCell *cancelCell;
+@property (nonatomic) CLLocationManager *locationManager;
+@property (nonatomic) NSInteger locationHitCount;
+
+
+@end

File Christian Radio Finder/ReportProblemViewController.m

+//
+//  ReportProblemViewController.m
+//  Christian FM
+//
+//  Created by Tim Hibbard on 11/15/12.
+//
+//
+
+#import "ReportProblemViewController.h"
+
+@interface ReportProblemViewController ()
+
+@end
+
+@implementation ReportProblemViewController{
+    NSMutableArray *reasonArray;
+    UITextField *noteField;
+    BOOL closeMe;
+}
+
+@synthesize station, picker;
+@synthesize issueCell,noteCell,submitCell,cancelCell;
+@synthesize locationHitCount,locationManager;
+
+
+- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
+    return 1;
+}
+
+
+- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
+    
+    return reasonArray.count;
+}
+
+
+
+- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
+    return [reasonArray objectAtIndex:row];
+}
+
+- (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
+    [issueCell.textLabel setText:[reasonArray objectAtIndex:row]];
+}
+
+
+
+- (id)initWithStyle:(UITableViewStyle)style
+{
+    self = [super initWithStyle:style];
+    if (self) {
+        // Custom initialization
+    }
+    return self;
+}
+
+- (void) viewWillAppear:(BOOL)animated{
+    
+    locationManager = [[CLLocationManager alloc]init];
+    locationManager.distanceFilter = kCLDistanceFilterNone;
+    locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
+    locationManager.delegate = (id)self;
+    [locationManager startUpdatingLocation];
+}
+
+- (void) viewDidAppear:(BOOL)animated{
+    if (closeMe) {
+        [self dismissModalViewControllerAnimated:YES];
+        return;
+    }
+}
+
+- (void)viewDidLoad
+{
+    [super viewDidLoad];
+    
+    reasonArray = [[NSMutableArray alloc]init];
+    
+    [reasonArray addObject:@"Out of range"];
+    [reasonArray addObject:@"Not Christian music"];
+    [reasonArray addObject:@"Streaming not working"];
+    [reasonArray addObject:@"Website not working"];
+
+    // Uncomment the following line to preserve selection between presentations.
+    // self.clearsSelectionOnViewWillAppear = NO;
+ 
+    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
+    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
+}
+
+- (void)didReceiveMemoryWarning
+{
+    [super didReceiveMemoryWarning];
+    // Dispose of any resources that can be recreated.
+}
+
+#pragma mark - Table view data source
+
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
+{
+    // Return the number of sections.
+    return 3;
+}
+
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
+{
+    if (section == 0) {
+        return 2;
+    }
+    return 1;
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    if (indexPath.section == 0 && indexPath.row == 0) {
+        return issueCell;
+    }
+    if (indexPath.section == 0 && indexPath.row == 1) {
+        noteField = [[UITextField alloc] initWithFrame:CGRectMake(10, 10, 185, 30)];
+        noteField.adjustsFontSizeToFitWidth = YES;
+        noteField.textColor = [UIColor blackColor];
+        noteField.placeholder = @"Click to add note";
+        noteField.keyboardType = UIKeyboardTypeDefault;
+        noteField.returnKeyType = UIReturnKeyDone;
+        noteField.backgroundColor = [UIColor clearColor];
+        [noteField setEnabled:YES];
+        [noteCell.contentView addSubview:noteField];
+        return noteCell;
+    }
+    if (indexPath.section == 1 && indexPath.row == 0) {
+        return submitCell;
+    }
+    if (indexPath.section == 2 && indexPath.row == 0) {
+        return cancelCell;
+    }
+    
+    return nil;
+}
+
+
+
+#pragma mark - Table view delegate
+
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    if (indexPath.section == 0 && indexPath.row == 0) {
+        [noteField resignFirstResponder];
+        [picker setHidden:NO];
+        if ([issueCell.textLabel.text isEqualToString:@"Click to select issue"]) {
+            issueCell.textLabel.text = @"Out of range";
+        }
+    }
+    if (indexPath.section == 0 && indexPath.row == 1) {
+        [picker setHidden:YES];
+        //return noteCell;
+    }
+    if (indexPath.section == 1 && indexPath.row == 0) {
+        [noteField resignFirstResponder];
+        [picker setHidden:YES];
+        [self emailIssue];
+        
+        //return submitCell;
+    }
+    if (indexPath.section == 2 && indexPath.row == 0) {
+        [noteField resignFirstResponder];
+        [picker setHidden:YES];
+        [self dismissModalViewControllerAnimated:YES];
+    }
+}
+
+- (void) locationManager: (CLLocationManager *) manager
+     didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
+    
+    //NSLog(@"hit lat:%lf lng:%lf",newLocation.coordinate.latitude,newLocation.coordinate.longitude);
+    if (locationHitCount < 1) {
+        locationHitCount = locationHitCount + 1;
+        return;
+    }
+    
+    //[locationLabel setText:[NSString stringWithFormat:@"%.3lf %.3lf", newLocation.coordinate.latitude, newLocation.coordinate.longitude]];
+    [locationManager stopUpdatingLocation];
+    [locationManager setDelegate:nil];
+    
+}
+
+- (void) emailIssue{
+    if ([MFMailComposeViewController canSendMail])
+    {
+        MFMailComposeViewController *controller = [[MFMailComposeViewController alloc]
+                                                   init];
+        controller.mailComposeDelegate = (id)self;
+        NSArray *to = [[NSArray alloc] initWithObjects:@"timhibbard@gmail.com",nil];
+        [controller setToRecipients:to];
+        [controller setSubject:[NSString stringWithFormat:@"CRLApp issue %@",issueCell.textLabel.text]];
+        
+        NSMutableString *emailBody = [[NSMutableString alloc] initWithString:[NSString stringWithFormat:@"Issue with %@\n", station.callSign]];
+        [emailBody appendString:[NSString stringWithFormat:@"Name: %@\n",station.ownedBy]];
+        [emailBody appendString:[NSString stringWithFormat:@"Note: %@\n",noteField.text]];
+        if ([issueCell.textLabel.text isEqualToString:@"Website not working"]) {
+            [emailBody appendString:[NSString stringWithFormat:@"Website: %@\n",station.website]];
+        }
+        if ([issueCell.textLabel.text isEqualToString:@"Streaming not working"]) {
+            [emailBody appendString:[NSString stringWithFormat:@"Streaming: %@\n",station.streamUrl]];
+            [emailBody appendString:[NSString stringWithFormat:@"Background streaming: %@\n",station.backgroundStreamUrl]];
+        }
+        if ([issueCell.textLabel.text isEqualToString:@"Out of range"]) {
+            [emailBody appendString:[NSString stringWithFormat:@"User's location: %.4lf, %.4lf\n",locationManager.location.coordinate.latitude,locationManager.location.coordinate.longitude]];
+            [emailBody appendString:[NSString stringWithFormat:@"Distance from tower: %@\n",station.distance]];
+            [emailBody appendString:[NSString stringWithFormat:@"Expected Range: %@\n",station.range]];
+        }
+        
+        [emailBody appendString:[NSString stringWithFormat:@"DatabaseID: %@\n",station.databaseId]];
+
+        
+        [controller setMessageBody:emailBody isHTML:NO];
+        [self presentModalViewController:controller animated:YES];
+        
+    }
+    else
+    {
+        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"This device cannot send email" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
+        [alert show];
+    }
+}
+
+// Dismisses the email composition interface when users tap Cancel or Send. Proceeds to update the message field with the result of the operation.
+- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
+{
+    
+	// Notifies users about errors associated with the interface
+	switch (result)
+	{
+		case MFMailComposeResultCancelled:
+			break;
+		case MFMailComposeResultSaved:
+			break;
+		case MFMailComposeResultSent:
+        {
+            closeMe = YES;
+            //UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Thanks!" message:@"Issue submitted. I really appreciate it!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
+            //[alert show];
+            //[self.navigationController popToRootViewControllerAnimated:YES];
+            
+        }
+			break;
+		case MFMailComposeResultFailed:
+        {
+            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Email did not send" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
+            [alert show];
+        }
+			break;
+		default:
+			break;
+	}
+	[self dismissModalViewControllerAnimated:YES];
+    
+}
+
+
+@end

File Christian Radio Finder/Station.h

 @property (nonatomic) NSString *facebook;
 @property (nonatomic) NSDecimalNumber *range;
 @property (nonatomic) NSDecimalNumber *signalStrength;
+@property (nonatomic) NSString *databaseId;
 @end

File Christian Radio Finder/Station.m

 @dynamic range;
 @dynamic signalStrength;
 @dynamic backgroundStreamUrl;
+@dynamic databaseId;
 
 @end

File Christian Radio Finder/StationDetailTableViewController.h

 #import <MessageUI/MFMailComposeViewController.h>
 #import "Station.h"
 #import "AppDelegate.h"
+#import "ReportProblemViewController.h"
 
 @class Station;
 
 @property (nonatomic, retain) IBOutlet UITableViewCell *facebookCell;
 @property (nonatomic, retain) IBOutlet UITableViewCell *geoCell;
 @property (nonatomic, retain) IBOutlet UITableViewCell *reminderCell;
+@property (nonatomic, retain) IBOutlet UITableViewCell *favoriteCell;
+@property (nonatomic, retain) IBOutlet UITableViewCell *reportProblemCell;
 @property (nonatomic) NSString *eventId;
 @property (nonatomic) BOOL providedStoreAccess;
 @property (nonatomic) EKEventStore *eventStore;

File Christian Radio Finder/StationDetailTableViewController.m

 @synthesize streamingCell;
 @synthesize geoCell;
 @synthesize reminderCell;
+@synthesize favoriteCell;
+@synthesize reportProblemCell;
 @synthesize eventId;
 @synthesize eventStore;
 @synthesize providedStoreAccess;
     [ownedByCell.textLabel setText:station.ownedBy];
     if ([station.website length]>0) {
         [ownedByCell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
+        [ownedByCell.textLabel setText:[NSString stringWithFormat:@"%@ website", station.ownedBy]];
     }
     [twitterCell.textLabel setText:station.twitter];
     [geoCell.textLabel setText:[NSString stringWithFormat:@"%@ %@ away",station.city,station.distance]];
         [streamingCell.textLabel setTextColor:[UIColor grayColor]];
         [streamingCell setUserInteractionEnabled:NO];
         [streamingCell setAccessoryType:UITableViewCellAccessoryNone];
+        [streamingCell.imageView setHidden:YES];
     }
+    else{
+        if (station.backgroundStreamUrl.length > 0) {
+            [streamingCell.textLabel setText:@"Listen online (background)"];
+            [streamingCell setAccessoryType:UITableViewCellAccessoryNone];
+        }
+    }
+        
+    
     
     if (station.facebook.length == 0) {
         [facebookCell.textLabel setText:@"No Facebook info"];
         [twitterCell setAccessoryType:UITableViewCellAccessoryNone];
     }
     
+    [self setReminderCellDisplay];
+    [self setFavoriteCellDisplay];
+    
+
+}
+
+- (void) setFavoriteCellDisplay{
+    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    NSDictionary *favorites = [defaults objectForKey:@"favorites"];
+    
+    if (favorites.count == 0) {
+        return;
+    }
     
+    for (NSString *key in favorites) {
+        if ([[NSString stringWithFormat:@"%@%@",station.lat,station.lng] isEqualToString:key]) {
+            [favoriteCell.textLabel setText:@"Added as favorite"];
+            [favoriteCell setAccessoryType:UITableViewCellAccessoryCheckmark];
+            return;
+        }
+    }
     
+}
+
+- (void) setReminderCellDisplay{
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    
     NSDictionary *reminders = [defaults objectForKey:@"reminders"];
     
     if (reminders.count == 0) {
     NSDictionary *newReminders = [NSDictionary dictionaryWithObjects:itemIds forKeys:latlng];
     [defaults setObject:newReminders forKey:@"reminders"];
     [defaults synchronize];
-    
-    
-
 }
 
 - (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
         return;
     }
     
+    if ([[segue identifier] isEqualToString:@"ReportProblemSegue"]){
+        ReportProblemViewController *reportProblemController = [segue destinationViewController];
+        [reportProblemController setStation:station];
+        return;
+    }
+    
+
+    
 }
 
 
     return YES;
 }
 
+
+
 - (BOOL) removeReminder {
     if (eventId.length == 0) {
         return NO;
     
 }
 
+- (BOOL) removeFavorite{
+    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    NSDictionary *favorites = [defaults objectForKey:@"favorites"];
+    NSMutableArray *latlng = [NSMutableArray arrayWithArray:favorites.allKeys];
+    NSMutableArray *itemIds = [NSMutableArray arrayWithArray:favorites.allValues];
+    
+    [latlng removeObject:[NSString stringWithFormat:@"%@%@",station.lat, station.lng]];
+    [itemIds removeObject:station.databaseId];
+    
+    NSDictionary *newFavorites = [NSDictionary dictionaryWithObjects:itemIds forKeys:latlng];
+    [defaults setObject:newFavorites forKey:@"favorites"];
+    [defaults synchronize];
+    
+    return YES;
+}
+
+- (BOOL) addFavorite{
+    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    NSDictionary *favorites = [defaults objectForKey:@"favorites"];
+    NSMutableArray *latlng = [NSMutableArray arrayWithArray:favorites.allKeys];
+    NSMutableArray *itemIds = [NSMutableArray arrayWithArray:favorites.allValues];
+    
+    [latlng addObject:[NSString stringWithFormat:@"%@%@",station.lat, station.lng]];
+    [itemIds addObject:station.databaseId];
+    
+    NSDictionary *newFavorites = [NSDictionary dictionaryWithObjects:itemIds forKeys:latlng];
+    [defaults setObject:newFavorites forKey:@"favorites"];
+    [defaults synchronize];
+    
+    return  YES;
+}
+
 #pragma mark - Table view data source
 
 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
 {
-    return 3;
+    return 5;
 
     NSInteger sections = 2;
     if (station.ownedBy.length > 0 ||
     
     switch (section) {
         case 0:
-            return 1;
+            return 2;
             break;
         case 1:
-            return 1;
+            return 3;
             break;
         case 2:
-            return 5;
+            return 1;
+            break;
+        case 3:
+            return 2;
+            break;
+        case 4:
+            return 1;
             break;
         default:
             return 0;
 
 -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
     
-    if (indexPath.section == 2 && indexPath.row == 2) {
+    if (indexPath.section == 1 && indexPath.row == 1) {
         [self launchFacebook];
     }
-    if (indexPath.section == 2 && indexPath.row == 3) {
+    if (indexPath.section == 1 && indexPath.row == 2) {
         [self launchTwitter];
     }
-    if (indexPath.section == 2 && indexPath.row == 4) {
+    
+    if (indexPath.section == 3 && indexPath.row == 0) {
         if (reminderCell.accessoryType == UITableViewCellAccessoryCheckmark) {
             if ([self removeReminder]) {
                 [reminderCell setAccessoryType:UITableViewCellAccessoryNone];
         
         }
     }
-    if (indexPath.section == 2 && indexPath.row == 1) {
+    
+    if (indexPath.section == 3 && indexPath.row == 1) {
+        //favorite
+        if (favoriteCell.accessoryType == UITableViewCellAccessoryCheckmark) {
+            if ([self removeFavorite]){
+                [favoriteCell.textLabel setText:@"Add as favorite"];
+                [favoriteCell setAccessoryType:UITableViewCellAccessoryNone];
+            }
+            
+        }
+        else {
+            if ([self addFavorite]) {
+                [favoriteCell.textLabel setText:@"Added as favorite"];
+                [favoriteCell setAccessoryType:UITableViewCellAccessoryCheckmark];
+            }
+        
+        }
+    }
+    
+    if (indexPath.section == 0 && indexPath.row == 1) {
         //play the background stream if we have it
         if (station.backgroundStreamUrl.length > 0) {
             //[(AppDelegate *)[[UIApplication sharedApplication] delegate] playStream:station.backgroundStreamUrl];
             [self performSegueWithIdentifier:@"StreamAudioSegue" sender:self];
         }
         
-        
-        
-        
-        
-        
+    }
+    
+    
+    
+    if (indexPath.section == 4 && indexPath.row == 0) {
+        //report problem
+        [self performSegueWithIdentifier:@"ReportProblemSegue" sender:self];
     }
 }
 
     if (indexPath.section == 0 && indexPath.row == 0) {
         return freqCell;
     }
-    
-    if (indexPath.section == 1 && indexPath.row == 0) {
-        return geoCell;
+    if (indexPath.section == 0 && indexPath.row == 1) {
+        return streamingCell;
     }
     
-    if (indexPath.section == 2 && indexPath.row == 0) {
+    if (indexPath.section == 1 && indexPath.row == 0) {
         return ownedByCell;
     }
-    if (indexPath.section == 2 && indexPath.row == 1) {
-        return streamingCell;
-    }
-    if (indexPath.section == 2 && indexPath.row == 2) {  
+    if (indexPath.section == 1 && indexPath.row == 1) {
         return facebookCell;
     }
-    if (indexPath.section == 2 && indexPath.row == 3) {
+    if (indexPath.section == 1 && indexPath.row == 2) {
         return twitterCell;
     }
-    if (indexPath.section == 2 && indexPath.row == 4) {
+    
+    
+    if (indexPath.section == 2 && indexPath.row == 0) {
+        return geoCell;
+    }
+    
+    
+    if (indexPath.section == 3 && indexPath.row == 0) {
         return reminderCell;
     }
+    if (indexPath.section == 3 && indexPath.row == 1) {
+        return favoriteCell;
+    }
     
+    if (indexPath.section == 4 && indexPath.row == 0) {
+        return reportProblemCell;
+    }
     
     return nil;
     

File Christian Radio Finder/StationLookupManager.m

         return;
     }
     
+    if ([elementName isEqualToString:@"gsx:id"]) {
+        [xmlStation setDatabaseId:value];
+        return;
+    }
+    
     if ([elementName isEqualToString:@"gsx:website"]) {
         [xmlStation setWebsite:value];
         return;

File Christian Radio Finder/Stations.xcdatamodeld/.xccurrentversion

 <plist version="1.0">
 <dict>
 	<key>_XCCurrentVersionName</key>
-	<string>Stations With BackgroundStream.xcdatamodel</string>
+	<string>Stations With DatabaseID.xcdatamodel</string>
 </dict>
 </plist>

File Christian Radio Finder/Stations.xcdatamodeld/Stations With DatabaseID.xcdatamodel/contents

+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<model name="" userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="1810" systemVersion="12C60" minimumToolsVersion="Xcode 4.1" macOSVersion="Automatic" iOSVersion="Automatic">
+    <entity name="Station" representedClassName="Station" syncable="YES">
+        <attribute name="backgroundStreamUrl" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="callSign" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="city" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="databaseId" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="distance" optional="YES" attributeType="String" defaultValueString="unknown" syncable="YES"/>
+        <attribute name="facebook" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="frequency" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="lat" optional="YES" attributeType="Decimal" defaultValueString="0.0" syncable="YES"/>
+        <attribute name="lng" optional="YES" attributeType="Decimal" defaultValueString="0.0" syncable="YES"/>
+        <attribute name="ownedBy" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="range" optional="YES" attributeType="Decimal" defaultValueString="0.0" syncable="YES"/>
+        <attribute name="signalStrength" optional="YES" attributeType="Decimal" defaultValueString="0.0" syncable="YES"/>
+        <attribute name="streamUrl" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="twitter" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="website" optional="YES" attributeType="String" syncable="YES"/>
+    </entity>
+    <elements>
+        <element name="Station" positionX="0" positionY="0" width="128" height="270"/>
+    </elements>
+</model>

File Christian Radio Finder/en.lproj/MainStoryboard_iPhone.storyboard

             </objects>
             <point key="canvasLocation" x="-1113" y="-685"/>
         </scene>
+        <!--Report Problem View Controller-->
+        <scene sceneID="D4r-WW-Mgg">
+            <objects>
+                <tableViewController id="AbS-Fg-l2k" customClass="ReportProblemViewController" sceneMemberID="viewController">
+                    <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="singleLineEtched" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="GbI-cZ-PZW">
+                        <rect key="frame" x="0.0" y="20" width="320" height="460"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
+                        <pickerView key="tableFooterView" hidden="YES" contentMode="scaleToFill" id="uGz-J5-Zjp">
+                            <rect key="frame" x="0.0" y="319" width="320" height="216"/>
+                            <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
+                            <connections>
+                                <outlet property="dataSource" destination="AbS-Fg-l2k" id="d4C-xV-NPE"/>
+                                <outlet property="delegate" destination="AbS-Fg-l2k" id="TKa-6n-Tb1"/>
+                            </connections>
+                        </pickerView>
+                        <sections>
+                            <tableViewSection headerTitle="Thanks for reporting an issue. Please select the issue then press Submit" id="0Ep-R1-laU">
+                                <cells>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="QVh-ob-CX3" style="IBUITableViewCellStyleDefault" id="x9o-zb-e8l">
+                                        <rect key="frame" x="0.0" y="88" width="320" height="45"/>
+                                        <autoresizingMask key="autoresizingMask"/>
+                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                                            <rect key="frame" x="10" y="1" width="300" height="43"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                            <subviews>
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Click to select issue" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" adjustsFontSizeToFit="NO" id="QVh-ob-CX3">
+                                                    <rect key="frame" x="10" y="0.0" width="280" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                    <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
+                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                                                    <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                                </label>
+                                            </subviews>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+                                        </view>
+                                    </tableViewCell>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="XB2-5g-Txx" rowHeight="43" style="IBUITableViewCellStyleDefault" id="m78-XL-Ons">
+                                        <rect key="frame" x="0.0" y="133" width="320" height="44"/>
+                                        <autoresizingMask key="autoresizingMask"/>
+                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                                            <rect key="frame" x="10" y="0.0" width="300" height="42"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                            <subviews>
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="XB2-5g-Txx">
+                                                    <rect key="frame" x="10" y="0.0" width="280" height="42"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                    <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
+                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                                                    <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                                </label>
+                                            </subviews>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+                                        </view>
+                                    </tableViewCell>
+                                </cells>
+                            </tableViewSection>
+                            <tableViewSection id="Z9S-ah-RSY">
+                                <cells>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="Z9m-Jv-6Jq" style="IBUITableViewCellStyleDefault" id="qK4-7a-q6T">
+                                        <rect key="frame" x="0.0" y="197" width="320" height="46"/>
+                                        <autoresizingMask key="autoresizingMask"/>
+                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                                            <rect key="frame" x="10" y="1" width="300" height="43"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                            <subviews>
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Submit" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" adjustsFontSizeToFit="NO" id="Z9m-Jv-6Jq">
+                                                    <rect key="frame" x="10" y="0.0" width="280" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                    <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
+                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                                                    <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                                </label>
+                                            </subviews>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+                                        </view>
+                                    </tableViewCell>
+                                </cells>
+                            </tableViewSection>
+                            <tableViewSection id="uHb-em-PfB">
+                                <cells>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="M4G-OH-HuJ" style="IBUITableViewCellStyleDefault" id="T48-LZ-AZz">
+                                        <rect key="frame" x="0.0" y="263" width="320" height="46"/>
+                                        <autoresizingMask key="autoresizingMask"/>
+                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                                            <rect key="frame" x="10" y="1" width="300" height="43"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                            <subviews>
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Close" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" adjustsFontSizeToFit="NO" id="M4G-OH-HuJ">
+                                                    <rect key="frame" x="10" y="0.0" width="280" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                    <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
+                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                                                    <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                                </label>
+                                            </subviews>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+                                        </view>
+                                    </tableViewCell>
+                                </cells>
+                            </tableViewSection>
+                        </sections>
+                        <connections>
+                            <outlet property="dataSource" destination="AbS-Fg-l2k" id="NBK-g7-Ff0"/>
+                            <outlet property="delegate" destination="AbS-Fg-l2k" id="qvL-bo-WYU"/>
+                        </connections>
+                    </tableView>
+                    <navigationItem key="navigationItem" id="vHG-tc-9Yl"/>
+                    <connections>
+                        <outlet property="cancelCell" destination="T48-LZ-AZz" id="PoB-Zg-Uah"/>
+                        <outlet property="issueCell" destination="x9o-zb-e8l" id="sKD-di-HNA"/>
+                        <outlet property="noteCell" destination="m78-XL-Ons" id="Obl-lM-LHv"/>
+                        <outlet property="picker" destination="uGz-J5-Zjp" id="NsB-ch-3J4"/>
+                        <outlet property="submitCell" destination="qK4-7a-q6T" id="O5e-8z-nkW"/>
+                    </connections>
+                </tableViewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="NBf-5z-yaE" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="-350" y="-401"/>
+        </scene>
         <!--Map Detail View Controller - Detail-->
         <scene sceneID="U0d-4Q-Io6">
             <objects>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="tLh-6T-P6u" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
-            <point key="canvasLocation" x="-601" y="-402"/>
+            <point key="canvasLocation" x="-721" y="-401"/>
         </scene>
         <!--Web View Controller-->
         <scene sceneID="VtK-Zh-14o">
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
                         <sections>
-                            <tableViewSection headerTitle="Tune Radio to" id="gOb-MV-ATR">
+                            <tableViewSection headerTitle="Listen" id="gOb-MV-ATR">
                                 <cells>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="17I-To-0x5" style="IBUITableViewCellStyleDefault" id="PAj-7n-nHr">
-                                        <rect key="frame" x="0.0" y="46" width="320" height="46"/>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="17I-To-0x5" imageView="WJX-7g-CGX" style="IBUITableViewCellStyleDefault" id="PAj-7n-nHr">
+                                        <rect key="frame" x="0.0" y="46" width="320" height="45"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
                                             <rect key="frame" x="10" y="1" width="300" height="43"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="17I-To-0x5">
-                                                    <rect key="frame" x="10" y="0.0" width="280" height="43"/>
+                                                    <rect key="frame" x="53" y="0.0" width="237" height="43"/>
                                                     <autoresizingMask key="autoresizingMask"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                                     <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
                                                 </label>
+                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="music.png" id="WJX-7g-CGX">
+                                                    <rect key="frame" x="0.0" y="0.0" width="43" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                </imageView>
                                             </subviews>
                                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                                         </view>
                                     </tableViewCell>
-                                </cells>
-                            </tableViewSection>
-                            <tableViewSection headerTitle="Geographic Info" id="FjW-uj-ZIu">
-                                <cells>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="kdh-lM-jk6" style="IBUITableViewCellStyleDefault" id="RkM-mj-1O3">
-                                        <rect key="frame" x="0.0" y="138" width="320" height="46"/>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="Q95-2o-30i" imageView="nBQ-Qa-cY4" style="IBUITableViewCellStyleDefault" id="Qpe-58-cqP">
+                                        <rect key="frame" x="0.0" y="91" width="320" height="45"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
-                                            <rect key="frame" x="10" y="1" width="280" height="43"/>
+                                            <rect key="frame" x="10" y="0.0" width="280" height="43"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
-                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="kdh-lM-jk6">
-                                                    <rect key="frame" x="10" y="0.0" width="260" height="43"/>
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Listen online" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Q95-2o-30i">
+                                                    <rect key="frame" x="53" y="0.0" width="217" height="43"/>
                                                     <autoresizingMask key="autoresizingMask"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                                     <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
                                                 </label>
+                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="music.png" id="nBQ-Qa-cY4">
+                                                    <rect key="frame" x="0.0" y="0.0" width="43" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                </imageView>
                                             </subviews>
                                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                                         </view>
-                                        <connections>
-                                            <segue destination="eX2-ZJ-yyp" kind="push" identifier="ViewMapSegue" id="cGD-Co-tvt"/>
-                                        </connections>
                                     </tableViewCell>
                                 </cells>
                             </tableViewSection>
-                            <tableViewSection id="oAv-Pf-NZh">
+                            <tableViewSection headerTitle="Connect" id="oAv-Pf-NZh">
                                 <cells>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="00j-2H-iOS" style="IBUITableViewCellStyleDefault" id="wOB-eb-RIl">
-                                        <rect key="frame" x="0.0" y="204" width="320" height="45"/>
+                                        <rect key="frame" x="0.0" y="182" width="320" height="45"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
                                             <rect key="frame" x="10" y="1" width="280" height="43"/>
                                             <segue destination="E3H-n7-xdR" kind="push" identifier="OpenWebsiteSegue" id="fZh-Gy-HOC"/>
                                         </connections>
                                     </tableViewCell>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="Q95-2o-30i" style="IBUITableViewCellStyleDefault" id="Qpe-58-cqP">
-                                        <rect key="frame" x="0.0" y="249" width="320" height="44"/>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="BNQ-Ra-b16" imageView="1H2-XT-MjT" style="IBUITableViewCellStyleDefault" id="FVZ-DF-q6v">
+                                        <rect key="frame" x="0.0" y="227" width="320" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
                                             <rect key="frame" x="10" y="0.0" width="280" height="43"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
-                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Listen online" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Q95-2o-30i">
-                                                    <rect key="frame" x="10" y="0.0" width="260" height="43"/>
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Facebook" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="BNQ-Ra-b16">
+                                                    <rect key="frame" x="53" y="0.0" width="217" height="43"/>
                                                     <autoresizingMask key="autoresizingMask"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                                     <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
                                                 </label>
+                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="Facebook-Icon.png" id="1H2-XT-MjT">
+                                                    <rect key="frame" x="0.0" y="0.0" width="43" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                </imageView>
                                             </subviews>
                                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                                         </view>
                                     </tableViewCell>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="BNQ-Ra-b16" imageView="1H2-XT-MjT" style="IBUITableViewCellStyleDefault" id="FVZ-DF-q6v">
-                                        <rect key="frame" x="0.0" y="293" width="320" height="44"/>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="FCY-Oj-iCt" imageView="0HT-ya-xGf" style="IBUITableViewCellStyleDefault" id="EDE-OR-TL2">
+                                        <rect key="frame" x="0.0" y="271" width="320" height="45"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
                                             <rect key="frame" x="10" y="0.0" width="280" height="43"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
-                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Facebook" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="BNQ-Ra-b16">
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="twitter" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="FCY-Oj-iCt">
                                                     <rect key="frame" x="53" y="0.0" width="217" height="43"/>
                                                     <autoresizingMask key="autoresizingMask"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                                     <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
                                                 </label>
-                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="Facebook-Icon.png" id="1H2-XT-MjT">
+                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="twitter-bird-light-bgs.png" id="0HT-ya-xGf">
                                                     <rect key="frame" x="0.0" y="0.0" width="43" height="43"/>
                                                     <autoresizingMask key="autoresizingMask"/>
                                                 </imageView>
                                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                                         </view>
                                     </tableViewCell>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="FCY-Oj-iCt" imageView="0HT-ya-xGf" style="IBUITableViewCellStyleDefault" id="EDE-OR-TL2">
-                                        <rect key="frame" x="0.0" y="337" width="320" height="44"/>
+                                </cells>
+                            </tableViewSection>
+                            <tableViewSection headerTitle="View Map" id="FjW-uj-ZIu">
+                                <cells>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="kdh-lM-jk6" imageView="WR4-pc-0dY" style="IBUITableViewCellStyleDefault" id="RkM-mj-1O3">
+                                        <rect key="frame" x="0.0" y="362" width="320" height="46"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
-                                            <rect key="frame" x="10" y="0.0" width="280" height="43"/>
+                                            <rect key="frame" x="10" y="1" width="280" height="43"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
-                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="twitter" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="FCY-Oj-iCt">
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="kdh-lM-jk6">
                                                     <rect key="frame" x="53" y="0.0" width="217" height="43"/>
                                                     <autoresizingMask key="autoresizingMask"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                                     <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
                                                 </label>
-                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="twitter-bird-light-bgs.png" id="0HT-ya-xGf">
+                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="map.png" id="WR4-pc-0dY">
+                                                    <rect key="frame" x="0.0" y="0.0" width="43" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                </imageView>
+                                            </subviews>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+                                        </view>
+                                        <connections>
+                                            <segue destination="eX2-ZJ-yyp" kind="push" identifier="ViewMapSegue" id="cGD-Co-tvt"/>
+                                        </connections>
+                                    </tableViewCell>
+                                </cells>
+                            </tableViewSection>
+                            <tableViewSection headerTitle="Save for later" id="tUV-Zc-9BR">
+                                <cells>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="XH2-fl-NSL" imageView="OCZ-Yu-ib6" style="IBUITableViewCellStyleDefault" id="ch6-w5-g4x">
+                                        <rect key="frame" x="0.0" y="454" width="320" height="45"/>
+                                        <autoresizingMask key="autoresizingMask"/>
+                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                                            <rect key="frame" x="10" y="1" width="300" height="43"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                            <subviews>
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Alert me when in range" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="XH2-fl-NSL">
+                                                    <rect key="frame" x="53" y="0.0" width="237" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                    <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
+                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                                                    <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                                </label>
+                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="remind.png" id="OCZ-Yu-ib6">
                                                     <rect key="frame" x="0.0" y="0.0" width="43" height="43"/>
                                                     <autoresizingMask key="autoresizingMask"/>
                                                 </imageView>
                                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                                         </view>
                                     </tableViewCell>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="bbH-9R-hFT" imageView="CnZ-oj-9UH" style="IBUITableViewCellStyleDefault" id="Zx1-vg-OmX">
-                                        <rect key="frame" x="0.0" y="381" width="320" height="45"/>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="kgF-yX-9mG" imageView="M6K-r7-XiS" style="IBUITableViewCellStyleDefault" id="TW0-DC-Ory">
+                                        <rect key="frame" x="0.0" y="499" width="320" height="45"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
                                             <rect key="frame" x="10" y="0.0" width="300" height="43"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
-                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Alert me when in range" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="bbH-9R-hFT">
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Add as favorite" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="kgF-yX-9mG">
                                                     <rect key="frame" x="53" y="0.0" width="237" height="43"/>
                                                     <autoresizingMask key="autoresizingMask"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                                     <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
                                                 </label>
-                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="drawingpin1_blue.png" id="CnZ-oj-9UH">
+                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="favorite.png" id="M6K-r7-XiS">
+                                                    <rect key="frame" x="0.0" y="0.0" width="43" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                </imageView>
+                                            </subviews>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+                                        </view>
+                                    </tableViewCell>
+                                </cells>
+                            </tableViewSection>
+                            <tableViewSection id="WQi-cp-E2A">
+                                <cells>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="0Mn-sd-FSh" imageView="xeU-WT-fB4" style="IBUITableViewCellStyleDefault" id="JOg-ff-2ah">
+                                        <rect key="frame" x="0.0" y="564" width="320" height="46"/>
+                                        <autoresizingMask key="autoresizingMask"/>
+                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                                            <rect key="frame" x="10" y="1" width="280" height="43"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                            <subviews>
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Report station problem" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="0Mn-sd-FSh">
+                                                    <rect key="frame" x="53" y="0.0" width="217" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                    <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
+                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                                                    <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                                </label>
+                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="bug.png" id="xeU-WT-fB4">
                                                     <rect key="frame" x="0.0" y="0.0" width="43" height="43"/>
                                                     <autoresizingMask key="autoresizingMask"/>
                                                 </imageView>
                     </navigationItem>
                     <connections>
                         <outlet property="facebookCell" destination="FVZ-DF-q6v" id="TaR-St-dPt"/>
+                        <outlet property="favoriteCell" destination="TW0-DC-Ory" id="rJs-aa-PoA"/>
                         <outlet property="freqCell" destination="PAj-7n-nHr" id="IMA-sN-5qR"/>
                         <outlet property="geoCell" destination="RkM-mj-1O3" id="DTK-Vd-bEb"/>
                         <outlet property="ownedByCell" destination="wOB-eb-RIl" id="2P8-Pn-QaI"/>
-                        <outlet property="reminderCell" destination="Zx1-vg-OmX" id="9fg-l8-hWX"/>
+                        <outlet property="reminderCell" destination="ch6-w5-g4x" id="ono-ob-kZd"/>
+                        <outlet property="reportProblemCell" destination="JOg-ff-2ah" id="c3t-Yp-xBd"/>
                         <outlet property="streamingCell" destination="Qpe-58-cqP" id="68P-Ye-4Hk"/>
                         <outlet property="twitterCell" destination="EDE-OR-TL2" id="c6Z-zk-DP3"/>
                         <segue destination="E3H-n7-xdR" kind="push" identifier="OpenFacebookSegue" id="4K0-JA-dfr"/>
                         <segue destination="E3H-n7-xdR" kind="push" identifier="OpenTwitterSegue" id="NC6-Xm-AjV"/>
                         <segue destination="E3H-n7-xdR" kind="push" identifier="StreamAudioSegue" id="iTB-md-yf8"/>
+                        <segue destination="AbS-Fg-l2k" kind="modal" identifier="ReportProblemSegue" modalTransitionStyle="flipHorizontal" id="mB7-rb-acq"/>
                     </connections>
                 </tableViewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="uD3-Ae-gba" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
-            <point key="canvasLocation" x="-823" y="366"/>
+            <point key="canvasLocation" x="-887" y="379"/>
         </scene>
         <!--Navigation Controller - Item-->
         <scene sceneID="U2j-j4-VBq">
     <resources>
         <image name="Facebook-Icon.png" width="300" height="300"/>
         <image name="Icon@2x.png" width="114" height="114"/>
-        <image name="drawingpin1_blue.png" width="256" height="256"/>
+        <image name="bug.png" width="256" height="256"/>
         <image name="engraph.png" width="114" height="114"/>
+        <image name="favorite.png" width="256" height="256"/>
+        <image name="map.png" width="256" height="256"/>
+        <image name="music.png" width="256" height="256"/>
+        <image name="remind.png" width="256" height="256"/>
         <image name="twitter-bird-light-bgs.png" width="300" height="300"/>
     </resources>
     <simulatedMetricsContainer key="defaultSimulatedMetrics">
         <simulatedScreenMetrics key="destination"/>
     </simulatedMetricsContainer>
     <inferredMetricsTieBreakers>
+        <segue reference="cGD-Co-tvt"/>
         <segue reference="Opu-Xs-6iV"/>
-        <segue reference="UIs-tl-QCd"/>
         <segue reference="iTB-md-yf8"/>
     </inferredMetricsTieBreakers>
 </document>