From 87389695cfd72d70a561d106caedf1df2b6f4f38 Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Wed, 6 May 2015 18:55:56 -0700 Subject: [PATCH 01/33] covert to core data convert to core data in appdelegate --- Classes/Tabs/CoreDataTableViewController.h | 38 + Classes/Tabs/CoreDataTableViewController.m | 142 ++++ Classes/Tabs/CurrentUser.h | 18 + Classes/Tabs/CurrentUser.m | 30 + Classes/Tabs/DiscoverUser.h | 2 +- Classes/Tabs/DiscoverUser.m | 2 +- Classes/Tabs/DiscoversView+MOC.h | 13 + Classes/Tabs/DiscoversView+MOC.m | 99 +++ Classes/Tabs/DiscoversView.h | 5 +- Classes/Tabs/DiscoversView.m | 786 ------------------ Classes/Tabs/PhotoDatabaseAvailability.h | 15 + Classes/Tabs/detailsView.h | 16 + Classes/Tabs/detailsView.m | 69 ++ Classes/User/LoginView.m | 1 + .../Discover.xcdatamodel/contents | 8 +- app.xcodeproj/project.pbxproj | 44 +- .../UserInterfaceState.xcuserstate | Bin 56288 -> 64828 bytes app/AppDelegate+MOC.h | 13 + app/AppDelegate+MOC.m | 100 +++ app/AppDelegate.m | 663 ++++++++++++++- app/DatabaseAvailability.h | 16 + 21 files changed, 1278 insertions(+), 802 deletions(-) create mode 100644 Classes/Tabs/CoreDataTableViewController.h create mode 100644 Classes/Tabs/CoreDataTableViewController.m create mode 100644 Classes/Tabs/CurrentUser.h create mode 100644 Classes/Tabs/CurrentUser.m create mode 100644 Classes/Tabs/DiscoversView+MOC.h create mode 100644 Classes/Tabs/DiscoversView+MOC.m delete mode 100644 Classes/Tabs/DiscoversView.m create mode 100644 Classes/Tabs/PhotoDatabaseAvailability.h create mode 100644 Classes/Tabs/detailsView.h create mode 100644 Classes/Tabs/detailsView.m create mode 100644 app/AppDelegate+MOC.h create mode 100644 app/AppDelegate+MOC.m create mode 100644 app/DatabaseAvailability.h diff --git a/Classes/Tabs/CoreDataTableViewController.h b/Classes/Tabs/CoreDataTableViewController.h new file mode 100644 index 0000000..bd58a04 --- /dev/null +++ b/Classes/Tabs/CoreDataTableViewController.h @@ -0,0 +1,38 @@ +// +// CoreDataTableViewController.h +// +// Created for Stanford CS193p Fall 2013. +// Copyright 2013 Stanford University. All rights reserved. +// +// This class mostly just copies the code from NSFetchedResultsController's documentation page +// into a subclass of UITableViewController. +// +// Just subclass this and set the fetchedResultsController. +// The only UITableViewDataSource method you'll HAVE to implement is tableView:cellForRowAtIndexPath:. +// And you can use the NSFetchedResultsController method objectAtIndexPath: to do it. +// +// Remember that once you create an NSFetchedResultsController, you CANNOT modify its @propertys. +// If you want new fetch parameters (predicate, sorting, etc.), +// create a NEW NSFetchedResultsController and set this class's fetchedResultsController @property again. +// + +#import +#import + +@interface CoreDataTableViewController : UITableViewController + +// The controller (this class fetches nothing if this is not set). +@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController; + +// Causes the fetchedResultsController to refetch the data. +// You almost certainly never need to call this. +// The NSFetchedResultsController class observes the context +// (so if the objects in the context change, you do not need to call performFetch +// since the NSFetchedResultsController will notice and update the table automatically). +// This will also automatically be called if you change the fetchedResultsController @property. +- (void)performFetch; + +// Set to YES to get some debugging output in the console. +@property BOOL debug; + +@end diff --git a/Classes/Tabs/CoreDataTableViewController.m b/Classes/Tabs/CoreDataTableViewController.m new file mode 100644 index 0000000..cf56e64 --- /dev/null +++ b/Classes/Tabs/CoreDataTableViewController.m @@ -0,0 +1,142 @@ +// +// CoreDataTableViewController.m +// +// Created for Stanford CS193p Fall 2013. +// Copyright 2013 Stanford University. All rights reserved. +// + +#import "CoreDataTableViewController.h" + +@implementation CoreDataTableViewController + +#pragma mark - Fetching + +- (void)performFetch +{ + if (self.fetchedResultsController) { + if (self.fetchedResultsController.fetchRequest.predicate) { + if (self.debug) NSLog(@"[%@ %@] fetching %@ with predicate: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), self.fetchedResultsController.fetchRequest.entityName, self.fetchedResultsController.fetchRequest.predicate); + } else { + if (self.debug) NSLog(@"[%@ %@] fetching all %@ (i.e., no predicate)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), self.fetchedResultsController.fetchRequest.entityName); + } + NSError *error; + BOOL success = [self.fetchedResultsController performFetch:&error]; + if (!success) NSLog(@"[%@ %@] performFetch: failed", NSStringFromClass([self class]), NSStringFromSelector(_cmd)); + if (error) NSLog(@"[%@ %@] %@ (%@)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), [error localizedDescription], [error localizedFailureReason]); + } else { + if (self.debug) NSLog(@"[%@ %@] no NSFetchedResultsController (yet?)", NSStringFromClass([self class]), NSStringFromSelector(_cmd)); + } + [self.tableView reloadData]; +} + +- (void)setFetchedResultsController:(NSFetchedResultsController *)newfrc +{ + NSFetchedResultsController *oldfrc = _fetchedResultsController; + if (newfrc != oldfrc) { + _fetchedResultsController = newfrc; + newfrc.delegate = self; + if ((!self.title || [self.title isEqualToString:oldfrc.fetchRequest.entity.name]) && (!self.navigationController || !self.navigationItem.title)) { + self.title = newfrc.fetchRequest.entity.name; + } + if (newfrc) { + if (self.debug) NSLog(@"[%@ %@] %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), oldfrc ? @"updated" : @"set"); + [self performFetch]; + } else { + if (self.debug) NSLog(@"[%@ %@] reset to nil", NSStringFromClass([self class]), NSStringFromSelector(_cmd)); + [self.tableView reloadData]; + } + } +} + +#pragma mark - UITableViewDataSource + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + NSInteger sections = [[self.fetchedResultsController sections] count]; + return sections; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + NSInteger rows = 0; + if ([[self.fetchedResultsController sections] count] > 0) { + id sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section]; + rows = [sectionInfo numberOfObjects]; + } + return rows; +} + +- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section +{ + return [[[self.fetchedResultsController sections] objectAtIndex:section] name]; +} + +- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index +{ + return [self.fetchedResultsController sectionForSectionIndexTitle:title atIndex:index]; +} + +- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView +{ + return [self.fetchedResultsController sectionIndexTitles]; +} + +#pragma mark - NSFetchedResultsControllerDelegate + +- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller +{ + [self.tableView beginUpdates]; +} + +- (void)controller:(NSFetchedResultsController *)controller + didChangeSection:(id )sectionInfo + atIndex:(NSUInteger)sectionIndex + forChangeType:(NSFetchedResultsChangeType)type +{ + switch(type) + { + case NSFetchedResultsChangeInsert: + [self.tableView insertSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationFade]; + break; + + case NSFetchedResultsChangeDelete: + [self.tableView deleteSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationFade]; + break; + } +} + + +- (void)controller:(NSFetchedResultsController *)controller + didChangeObject:(id)anObject + atIndexPath:(NSIndexPath *)indexPath + forChangeType:(NSFetchedResultsChangeType)type + newIndexPath:(NSIndexPath *)newIndexPath +{ + switch(type) + { + case NSFetchedResultsChangeInsert: + [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade]; + break; + + case NSFetchedResultsChangeDelete: + [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; + break; + + case NSFetchedResultsChangeUpdate: + [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; + break; + + case NSFetchedResultsChangeMove: + [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; + [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade]; + break; + } +} + +- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller +{ + [self.tableView endUpdates]; +} + +@end + diff --git a/Classes/Tabs/CurrentUser.h b/Classes/Tabs/CurrentUser.h new file mode 100644 index 0000000..8da9586 --- /dev/null +++ b/Classes/Tabs/CurrentUser.h @@ -0,0 +1,18 @@ +// +// CurrentUser.h +// app +// +// Created by kiddjacky on 5/3/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import + +@interface CurrentUser : NSObject { + NSString *userName; +} + +@property(nonatomic, retain)NSString *userName; ++(CurrentUser*) getInstance; + +@end diff --git a/Classes/Tabs/CurrentUser.m b/Classes/Tabs/CurrentUser.m new file mode 100644 index 0000000..1c42117 --- /dev/null +++ b/Classes/Tabs/CurrentUser.m @@ -0,0 +1,30 @@ +// +// CurrentUser.m +// app +// +// Created by kiddjacky on 5/3/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "CurrentUser.h" + +@implementation CurrentUser + +@synthesize userName; + +static CurrentUser *instance = nil; + ++(CurrentUser *) getInstance +{ + @synchronized(self) + { + if(instance==nil) + { + instance = [CurrentUser new]; + } + } + return instance; +} + + +@end diff --git a/Classes/Tabs/DiscoverUser.h b/Classes/Tabs/DiscoverUser.h index 9b884f3..7d9a482 100644 --- a/Classes/Tabs/DiscoverUser.h +++ b/Classes/Tabs/DiscoverUser.h @@ -14,7 +14,7 @@ @property (nonatomic, retain) NSString * userName; @property (nonatomic, retain) NSDate * timeMeet; -@property (nonatomic, retain) NSNumber * longtitude; +@property (nonatomic, retain) NSNumber * longitude; @property (nonatomic, retain) NSNumber * latitude; @end diff --git a/Classes/Tabs/DiscoverUser.m b/Classes/Tabs/DiscoverUser.m index 72fd1b6..3ab7a3e 100644 --- a/Classes/Tabs/DiscoverUser.m +++ b/Classes/Tabs/DiscoverUser.m @@ -13,7 +13,7 @@ @implementation DiscoverUser @dynamic userName; @dynamic timeMeet; -@dynamic longtitude; +@dynamic longitude; @dynamic latitude; @end diff --git a/Classes/Tabs/DiscoversView+MOC.h b/Classes/Tabs/DiscoversView+MOC.h new file mode 100644 index 0000000..3754ecc --- /dev/null +++ b/Classes/Tabs/DiscoversView+MOC.h @@ -0,0 +1,13 @@ +// +// DiscoversView+MOC.h +// app +// +// Created by kiddjacky on 5/3/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "DiscoversView.h" + +@interface DiscoversView (MOC) +- (NSManagedObjectContext *)createMainQueueManagedObjectContext; +@end diff --git a/Classes/Tabs/DiscoversView+MOC.m b/Classes/Tabs/DiscoversView+MOC.m new file mode 100644 index 0000000..43b434a --- /dev/null +++ b/Classes/Tabs/DiscoversView+MOC.m @@ -0,0 +1,99 @@ +// +// DiscoversView+MOC.m +// app +// +// Created by kiddjacky on 5/3/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "DiscoversView+MOC.h" + +@implementation DiscoversView (MOC) + +#pragma mark - Core Data + +- (void)saveContext:(NSManagedObjectContext *)managedObjectContext +{ + NSError *error = nil; + if (managedObjectContext != nil) { + if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) { + // Replace this implementation with code to handle the error appropriately. + // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + NSLog(@"Unresolved error %@, %@", error, [error userInfo]); + abort(); + } + } +} + +// Returns the managed object context for the application. +// If the context doesn't already exist, it is created and bound to the persistent store coordinator for the application. +- (NSManagedObjectContext *)createMainQueueManagedObjectContext +{ + NSManagedObjectContext *managedObjectContext = nil; + NSPersistentStoreCoordinator *coordinator = [self createPersistentStoreCoordinator]; + if (coordinator != nil) { + managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType]; + [managedObjectContext setPersistentStoreCoordinator:coordinator]; + } + return managedObjectContext; +} + +// Returns the managed object model for the application. +// If the model doesn't already exist, it is created from the application's model. +- (NSManagedObjectModel *)createManagedObjectModel +{ + NSManagedObjectModel *managedObjectModel = nil; + NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Discover" withExtension:@"momd"]; + managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; + return managedObjectModel; +} + +// Returns the persistent store coordinator for the application. +// If the coordinator doesn't already exist, it is created and the application's store added to it. +- (NSPersistentStoreCoordinator *)createPersistentStoreCoordinator +{ + NSPersistentStoreCoordinator *persistentStoreCoordinator = nil; + NSManagedObjectModel *managedObjectModel = [self createManagedObjectModel]; + + NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"MOC.sqlite"]; + + NSError *error = nil; + persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:managedObjectModel]; + if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) { + /* + Replace this implementation with code to handle the error appropriately. + + abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + + Typical reasons for an error here include: + * The persistent store is not accessible; + * The schema for the persistent store is incompatible with current managed object model. + Check the error message to determine what the actual problem was. + + + If the persistent store is not accessible, there is typically something wrong with the file path. Often, a file URL is pointing into the application's resources directory instead of a writeable directory. + + If you encounter schema incompatibility errors during development, you can reduce their frequency by: + * Simply deleting the existing store: + [[NSFileManager defaultManager] removeItemAtURL:storeURL error:nil] + + * Performing automatic lightweight migration by passing the following dictionary as the options parameter: + @{NSMigratePersistentStoresAutomaticallyOption:@YES, NSInferMappingModelAutomaticallyOption:@YES} + + Lightweight migration will only work for a limited set of schema changes; consult "Core Data Model Versioning and Data Migration Programming Guide" for details. + + */ + NSLog(@"Unresolved error %@, %@", error, [error userInfo]); + abort(); + } + + return persistentStoreCoordinator; +} + +// Returns the URL to the application's Documents directory + +- (NSURL *)applicationDocumentsDirectory +{ + return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; +} +@end diff --git a/Classes/Tabs/DiscoversView.h b/Classes/Tabs/DiscoversView.h index 30d16ae..0de978e 100644 --- a/Classes/Tabs/DiscoversView.h +++ b/Classes/Tabs/DiscoversView.h @@ -7,7 +7,8 @@ // #import +#import "CoreDataTableViewController.h" -@interface DiscoversView : UITableViewController - +@interface DiscoversView : CoreDataTableViewController +@property (nonatomic, strong) NSManagedObjectContext *managedObjectContext; @end diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m deleted file mode 100644 index 0e616dd..0000000 --- a/Classes/Tabs/DiscoversView.m +++ /dev/null @@ -1,786 +0,0 @@ -// -// DiscoversView.m -// app -// -// Created by kiddjacky on 3/22/15. -// Copyright (c) 2015 KZ. All rights reserved. -// - -#import "DiscoversView.h" -#import -#import "TransferService.h" -#import - - - - -@interface DiscoversView () -//setup BTLE -@property (strong, nonatomic) CBPeripheralManager *peripheralManager; -@property (strong, nonatomic) CBCentralManager *centralManager; -@property (strong, nonatomic) CBPeripheral *discoveredPeripheral; -//unused for now -@property (strong, nonatomic) NSMutableData *data; -@property (strong, nonatomic) CBMutableCharacteristic *transferCharacteristic; -@property (strong, nonatomic) NSData *dataToSend; -@property (nonatomic, readwrite) NSInteger sendDataIndex; -@property (strong, nonatomic) IBOutlet UITextView *central_textview; -@property (strong, nonatomic) IBOutlet UITextView *textView; -@property (strong, nonatomic) IBOutlet UISwitch *advertisingSwitch; - -@property (strong, nonatomic) NSMutableArray *discoveredDevices; -@property (strong, nonatomic) CLLocationManager *locationManager; -@property (readonly) CLLocationCoordinate2D *coordinate; -@end - - -#import -#import "ProgressHUD.h" - -#import "AppConstant.h" -#import "messages.h" -#import "utilities.h" - -#import "ChatView.h" - -//------------------------------------------------------------------------------------------------------------------------------------------------- -@interface DiscoversView() -{ - NSMutableArray *DiscoverItems; - NSMutableArray *discoverLocation; - NSMutableArray *discoverTime; - //CLLocationManager *locationManager; - CLLocation *currentLocation; - NSDate *eventDate; -} -@end -//------------------------------------------------------------------------------------------------------------------------------------------------- - -#define NOTIFY_MTU 20 - -@implementation DiscoversView - -//------------------------------------------------------------------------------------------------------------------------------------------------- -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) - { - [self.tabBarItem setImage:[UIImage imageNamed:@"tab_discover"]]; - self.tabBarItem.title = @"Discovers"; - } - return self; -} - -//------------------------------------------------------------------------------------------------------------------------------------------------- -- (void)viewDidLoad -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - [super viewDidLoad]; - self.title = @"Discovers"; - //--------------------------------------------------------------------------------------------------------------------------------------------- - // self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"New" style:UIBarButtonItemStylePlain target:self - // action:@selector(actionNew)]; - //--------------------------------------------------------------------------------------------------------------------------------------------- - self.tableView.tableFooterView = [[UIView alloc] init]; - //--------------------------------------------------------------------------------------------------------------------------------------------- - DiscoverItems = [[NSMutableArray alloc] init]; - discoverTime = [[NSMutableArray alloc] init]; - discoverLocation = [[NSMutableArray alloc] init]; - self.discoveredDevices = [[NSMutableArray alloc] init]; - - //BTLE - - // Start up the CBPeripheralManager - _peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil]; - - - // Start up the CBCentralManager - _centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; - - // And somewhere to store the incoming data - _data = [[NSMutableData alloc] init]; - - //_locationManager = [[CLLocationManager alloc] init]; - [self CurrentLocationIdentifier]; // call this method - - //start ad - //[self btle_seq]; -} - -//------------------------------------------------------------------------------------------------------------------------------------------------- -- (void)viewDidAppear:(BOOL)animated -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - [super viewDidAppear:animated]; - //--------------------------------------------------------------------------------------------------------------------------------------------- - if ([PFUser currentUser] != nil) - { - [self loadDiscovers]; - } - else LoginUser(self); -} - --(void) loadDiscovers //load discover people or ibeacon -{ - -} - - -#pragma mark - Table view data source - -//------------------------------------------------------------------------------------------------------------------------------------------------- -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - return 1; -} - -//------------------------------------------------------------------------------------------------------------------------------------------------- -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - return [DiscoverItems count]; -} - -//------------------------------------------------------------------------------------------------------------------------------------------------- -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - return 50; -} - - - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; - if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"]; - - - PFUser *user = DiscoverItems[indexPath.row]; - cell.textLabel.text = user[PF_USER_FULLNAME]; - - - CLLocation *location = discoverLocation[indexPath.row]; - if (cell.detailTextLabel.text == nil) cell.detailTextLabel.text = [NSString stringWithFormat:@"latitude %+.6f, longtitude %+.6f\n", location.coordinate.latitude, location.coordinate.longitude]; - cell.detailTextLabel.textColor = [UIColor lightGrayColor]; - - /* - PFQuery *query = [PFQuery queryWithClassName:PF_CHAT_CLASS_NAME]; - [query whereKey:PF_CHAT_GROUPID equalTo:discover.objectId]; - [query orderByDescending:PF_CHAT_CREATEDAT]; - [query setLimit:1000]; - [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) - { - if ([objects count] != 0) - { - PFObject *chat = [objects firstObject]; - NSTimeInterval seconds = [[NSDate date] timeIntervalSinceDate:chat.createdAt]; - cell.detailTextLabel.text = [NSString stringWithFormat:@"%d messages (%@)", (int) [objects count], TimeElapsed(seconds)]; - } - else cell.detailTextLabel.text = @"No message"; - }]; - */ - return cell; -} - -#pragma mark - Table view delegate - -//------------------------------------------------------------------------------------------------------------------------------------------------- -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - //--------------------------------------------------------------------------------------------------------------------------------------------- - PFUser *user = DiscoverItems[indexPath.row]; - //NSString *discoverId = discover.objectId; - //--------------------------------------------------------------------------------------------------------------------------------------------- - //CreateMessageItem([PFUser currentUser], discoverId, discover[PF_GROUPS_NAME]); - NSString *discoverId = StartPrivateChat([PFUser currentUser], user); - //--------------------------------------------------------------------------------------------------------------------------------------------- - ChatView *chatView = [[ChatView alloc] initWith:discoverId]; - chatView.hidesBottomBarWhenPushed = YES; - [self.navigationController pushViewController:chatView animated:YES]; -} - -#pragma mark - BTLE -/** centralManagerDidUpdateState is a required protocol method. - * Usually, you'd check for other states to make sure the current device supports LE, is powered on, etc. - * In this instance, we're just using it to wait for CBCentralManagerStatePoweredOn, which indicates - * the Central is ready to be used. - */ -- (void)centralManagerDidUpdateState:(CBCentralManager *)central -{ - if (central.state != CBCentralManagerStatePoweredOn) { - // In a real app, you'd deal with all the states correctly - return; - } - - // The state must be CBCentralManagerStatePoweredOn... - - // ... so start scanning - [self scan]; - -} - - -/** Scan for peripherals - specifically for our service's 128bit CBUUID - */ -- (void)scan -{ - [self.centralManager scanForPeripheralsWithServices:@[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] - options:@{ CBCentralManagerScanOptionAllowDuplicatesKey : @NO }]; - - NSLog(@"Scanning started"); -} - -//------------ Current Location Address----- --(void)CurrentLocationIdentifier -{ - //---- For getting current gps location - self.locationManager = [[CLLocationManager alloc] init]; - self.locationManager.delegate = self; - - // Check for iOS 8. Without this guard the code will crash with "unknown selector" on iOS 7. - if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) { - [self.locationManager requestWhenInUseAuthorization]; - } - - - self.locationManager.distanceFilter = kCLDistanceFilterNone; - self.locationManager.desiredAccuracy = kCLLocationAccuracyBest; - self.locationManager.distanceFilter = 500; //500 meter filter -// [self.locationManager requestAlwaysAuthorization]; -// NSLog(@"CurrentLocationIdentifier is called\n"); - - [self.locationManager startUpdatingLocation]; - NSLog(@"Location Services enabled = %d", [CLLocationManager locationServicesEnabled]); - NSLog(@"Authorization Status = %d", [CLLocationManager authorizationStatus]); - NSLog(@"CurrentLocationIdentifier is called\n"); - //------ -} -- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations -{ - currentLocation = [locations lastObject]; - //[locationManager stopUpdatingLocation]; - eventDate = currentLocation.timestamp; - NSLog(@"Update Location is called\n"); - NSTimeInterval howRecent = [eventDate timeIntervalSinceNow]; - if (abs(howRecent) < 15.0) { - // If the event is recent, do something with it. - NSLog(@"latitude %+.6f, longitude %+.6f\n", - currentLocation.coordinate.latitude, - currentLocation.coordinate.longitude); - } -} - - -(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error { - NSLog(@"%@", error.localizedDescription); - } - -- (void)locationManager:(CLLocationManager *)manager -didChangeAuthorizationStatus:(CLAuthorizationStatus)status -{ - NSLog(@"Authorization status changed to %d\n", status ); -} - /* - CLGeocoder *geocoder = [[CLGeocoder alloc] init] ; - [geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) - { - if (!(error)) - { - CLPlacemark *placemark = [placemarks objectAtIndex:0]; - NSLog(@"\nCurrent Location Detected\n"); - NSLog(@"placemark %@",placemark); - NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; - NSString *Address = [[NSString alloc]initWithString:locatedAt]; - NSString *Area = [[NSString alloc]initWithString:placemark.locality]; - NSString *Country = [[NSString alloc]initWithString:placemark.country]; - NSString *CountryArea = [NSString stringWithFormat:@"%@, %@", Area,Country]; - NSLog(@"%@",CountryArea); - } - else - { - NSLog(@"Geocode failed with error %@", error); - NSLog(@"\nCurrent Location Not Detected\n"); - //return; - //CountryArea = NULL; - } - ---- For more results - placemark.region); - placemark.country); - placemark.locality); - placemark.name); - placemark.ocean); - placemark.postalCode); - placemark.subLocality); - placemark.location); - ------ - }]; - */ - - -/** This callback comes whenever a peripheral that is advertising the TRANSFER_SERVICE_UUID is discovered. - * We check the RSSI, to make sure it's close enough that we're interested in it, and if it is, - * we start the connection process - */ -- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI -{ - //NSLog(@"enter call back"); - // Reject any where the value is above reasonable range - /* - if (RSSI.integerValue > -15) { - return; - } - - // Reject if the signal strength is too low to be close enough (Close is around -22dB) - if (RSSI.integerValue < -35) { - return; - } - */ - NSLog(@"Discovered %@ at %@", peripheral.name, RSSI); - NSString *userName = [advertisementData objectForKey:CBAdvertisementDataLocalNameKey]; - - BOOL matched = 0; - for (NSString *foundUser in self.discoveredDevices) { - //NSLog(@"discoverd before %@", discovered.name); - if ([userName isEqualToString:foundUser]) { - matched = 1; - } - } - - /* use peripheral.name to filter - for (CBPeripheral *discovered in self.discoveredDevices) { - //NSLog(@"discoverd before %@", discovered.name); - if (discovered.name == peripheral.name) { - matched = 1; - } - } - */ - - // Ok, it's in range - have we already seen it? - //if (self.discoveredPeripheral != peripheral) { - if (!matched) { - // Save a local copy of the peripheral, so CoreBluetooth doesn't get rid of it - //self.discoveredPeripheral = peripheral; - - /* no need to connect - // And connect - NSLog(@"Connecting to peripheral %@", peripheral); - [self.centralManager connectPeripheral:peripheral options:nil]; - */ - //NSString *userName = [advertisementData objectForKey:CBAdvertisementDataLocalNameKey]; - - NSLog(@"userName is %@, advertisement Data is %@, RSSI value is %@", userName, advertisementData, RSSI); - if (userName != NULL) { - [self.discoveredDevices addObject:userName]; - PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; - [query whereKey:PF_USER_USERNAME equalTo:userName]; - [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) - { - if ([objects count] != 0) - { - - PFUser *user = [objects firstObject]; - NSLog(@"found user %@", user.username); - [DiscoverItems addObject:user]; - [discoverLocation addObject:currentLocation]; - [discoverTime addObject:eventDate]; - [self.tableView reloadData]; - } - }]; - - } - } -} - - -/** If the connection fails for whatever reason, we need to deal with it. - */ -- (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error -{ - NSLog(@"Failed to connect to %@. (%@)", peripheral, [error localizedDescription]); - [self cleanup]; -} - - -/** We've connected to the peripheral, now we need to discover the services and characteristics to find the 'transfer' characteristic. - */ -- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral -{ - NSLog(@"Peripheral Connected"); - - // Stop scanning - [self.centralManager stopScan]; - NSLog(@"Scanning stopped"); - - // Clear the data that we may already have - [self.data setLength:0]; - - // Make sure we get the discovery callbacks - peripheral.delegate = self; - - // Search only for services that match our UUID - [peripheral discoverServices:@[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]]]; -} - - -/** The Transfer Service was discovered - */ -- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error -{ - if (error) { - NSLog(@"Error discovering services: %@", [error localizedDescription]); - [self cleanup]; - return; - } - - // Discover the characteristic we want... - - // Loop through the newly filled peripheral.services array, just in case there's more than one. - for (CBService *service in peripheral.services) { - [peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]] forService:service]; - } -} - - -/** The Transfer characteristic was discovered. - * Once this has been found, we want to subscribe to it, which lets the peripheral know we want the data it contains - */ -- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error -{ - // Deal with errors (if any) - if (error) { - NSLog(@"Error discovering characteristics: %@", [error localizedDescription]); - [self cleanup]; - return; - } - - // Again, we loop through the array, just in case. - for (CBCharacteristic *characteristic in service.characteristics) { - - // And check if it's the right one - if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { - - // If it is, subscribe to it - [peripheral setNotifyValue:YES forCharacteristic:characteristic]; - } - } - - // Once this is complete, we just need to wait for the data to come in. -} - - -/** This callback lets us know more data has arrived via notification on the characteristic - */ -- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error -{ - if (error) { - NSLog(@"Error discovering characteristics: %@", [error localizedDescription]); - return; - } - - NSString *stringFromData = [[NSString alloc] initWithData:characteristic.value encoding:NSUTF8StringEncoding]; - - // Have we got everything we need? - if ([stringFromData isEqualToString:@"EOM"]) { - - // We have, so show the data, - [self.central_textview setText:[[NSString alloc] initWithData:self.data encoding:NSUTF8StringEncoding]]; - - // Cancel our subscription to the characteristic - [peripheral setNotifyValue:NO forCharacteristic:characteristic]; - - // and disconnect from the peripehral - [self.centralManager cancelPeripheralConnection:peripheral]; - } - - // Otherwise, just add the data on to what we already have - [self.data appendData:characteristic.value]; - - // Log it - NSLog(@"Received: %@", stringFromData); -} - - -/** The peripheral letting us know whether our subscribe/unsubscribe happened or not - */ -- (void)peripheral:(CBPeripheral *)peripheral didUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error -{ - if (error) { - NSLog(@"Error changing notification state: %@", error.localizedDescription); - } - - // Exit if it's not the transfer characteristic - if (![characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { - return; - } - - // Notification has started - if (characteristic.isNotifying) { - NSLog(@"Notification began on %@", characteristic); - } - - // Notification has stopped - else { - // so disconnect from the peripheral - NSLog(@"Notification stopped on %@. Disconnecting", characteristic); - [self.centralManager cancelPeripheralConnection:peripheral]; - } -} - - -/** Once the disconnection happens, we need to clean up our local copy of the peripheral - */ -- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error -{ - NSLog(@"Peripheral Disconnected"); - self.discoveredPeripheral = nil; - - // We're disconnected, so start scanning again - [self scan]; -} - - -/** Call this when things either go wrong, or you're done with the connection. - * This cancels any subscriptions if there are any, or straight disconnects if not. - * (didUpdateNotificationStateForCharacteristic will cancel the connection if a subscription is involved) - */ -- (void)cleanup -{ - // Don't do anything if we're not connected - if (!self.discoveredPeripheral == CBPeripheralStateConnecting) { - return; - } - - // See if we are subscribed to a characteristic on the peripheral - if (self.discoveredPeripheral.services != nil) { - for (CBService *service in self.discoveredPeripheral.services) { - if (service.characteristics != nil) { - for (CBCharacteristic *characteristic in service.characteristics) { - if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { - if (characteristic.isNotifying) { - // It is notifying, so unsubscribe - [self.discoveredPeripheral setNotifyValue:NO forCharacteristic:characteristic]; - - // And we're done. - return; - } - } - } - } - } - } - - // If we've got this far, we're connected, but we're not subscribed, so we just disconnect - [self.centralManager cancelPeripheralConnection:self.discoveredPeripheral]; -} - - - - -#pragma mark - Peripheral Methods - - - -/** Required protocol method. A full app should take care of all the possible states, - * but we're just waiting for to know when the CBPeripheralManager is ready - */ -- (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral -{ - // Opt out from any other state - if (peripheral.state != CBPeripheralManagerStatePoweredOn) { - return; - } - - // We're in CBPeripheralManagerStatePoweredOn state... - NSLog(@"self.peripheralManager powered on."); - [self btle_seq]; - // ... so build our service. - - // Start with the CBMutableCharacteristic - self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID] - properties:CBCharacteristicPropertyNotify - value:nil - permissions:CBAttributePermissionsReadable]; - - // Then the service - CBMutableService *transferService = [[CBMutableService alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID] - primary:YES]; - - // Add the characteristic to the service - transferService.characteristics = @[self.transferCharacteristic]; - - // And add it to the peripheral manager - [self.peripheralManager addService:transferService]; -} - - -/** Catch when someone subscribes to our characteristic, then start sending them data - */ -- (void)peripheralManager:(CBPeripheralManager *)peripheral central:(CBCentral *)central didSubscribeToCharacteristic:(CBCharacteristic *)characteristic -{ - NSLog(@"Central subscribed to characteristic"); - - // Get the data - self.dataToSend = [self.textView.text dataUsingEncoding:NSUTF8StringEncoding]; - - // Reset the index - self.sendDataIndex = 0; - - // Start sending - [self sendData]; -} - - -/** Recognise when the central unsubscribes - */ -- (void)peripheralManager:(CBPeripheralManager *)peripheral central:(CBCentral *)central didUnsubscribeFromCharacteristic:(CBCharacteristic *)characteristic -{ - NSLog(@"Central unsubscribed from characteristic"); -} - - -/** Sends the next amount of data to the connected central - */ -- (void)sendData -{ - // First up, check if we're meant to be sending an EOM - static BOOL sendingEOM = NO; - - if (sendingEOM) { - - // send it - BOOL didSend = [self.peripheralManager updateValue:[@"EOM" dataUsingEncoding:NSUTF8StringEncoding] forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; - - // Did it send? - if (didSend) { - - // It did, so mark it as sent - sendingEOM = NO; - - NSLog(@"Sent: EOM"); - } - - // It didn't send, so we'll exit and wait for peripheralManagerIsReadyToUpdateSubscribers to call sendData again - return; - } - - // We're not sending an EOM, so we're sending data - - // Is there any left to send? - - if (self.sendDataIndex >= self.dataToSend.length) { - - // No data left. Do nothing - return; - } - - // There's data left, so send until the callback fails, or we're done. - - BOOL didSend = YES; - - while (didSend) { - - // Make the next chunk - - // Work out how big it should be - NSInteger amountToSend = self.dataToSend.length - self.sendDataIndex; - - // Can't be longer than 20 bytes - if (amountToSend > NOTIFY_MTU) amountToSend = NOTIFY_MTU; - - // Copy out the data we want - NSData *chunk = [NSData dataWithBytes:self.dataToSend.bytes+self.sendDataIndex length:amountToSend]; - - // Send it - didSend = [self.peripheralManager updateValue:chunk forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; - - // If it didn't work, drop out and wait for the callback - if (!didSend) { - return; - } - - NSString *stringFromData = [[NSString alloc] initWithData:chunk encoding:NSUTF8StringEncoding]; - NSLog(@"Sent: %@", stringFromData); - - // It did send, so update our index - self.sendDataIndex += amountToSend; - - // Was it the last one? - if (self.sendDataIndex >= self.dataToSend.length) { - - // It was - send an EOM - - // Set this so if the send fails, we'll send it next time - sendingEOM = YES; - - // Send it - BOOL eomSent = [self.peripheralManager updateValue:[@"EOM" dataUsingEncoding:NSUTF8StringEncoding] forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; - - if (eomSent) { - // It sent, we're all done - sendingEOM = NO; - - NSLog(@"Sent: EOM"); - } - - return; - } - } -} - - -/** This callback comes in when the PeripheralManager is ready to send the next chunk of data. - * This is to ensure that packets will arrive in the order they are sent - */ -- (void)peripheralManagerIsReadyToUpdateSubscribers:(CBPeripheralManager *)peripheral -{ - // Start sending again - [self sendData]; -} - - -/** Start advertising - */ -- (IBAction)switchChanged:(id)sender -{ - if (self.advertisingSwitch.on) { - // All we advertise is our service's UUID - [self btle_seq]; - // [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] }]; - } - - else { - [self.peripheralManager stopAdvertising]; - } -} - --(void)btle_switch_mode:(NSTimer *)switchtimer -{ - // NSLog(@"Timer is fired off"); - - // if (self.peripheralManager.state == CBPeripheralManagerStatePoweredOn) { - // [self.peripheralManager stopAdvertising]; - // return; - // } - -} - -- (void)btle_seq -{ - PFUser *user = [PFUser currentUser]; - - [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] , CBAdvertisementDataLocalNameKey : user.username }]; - NSLog(@"send out advertisment data, user name is %@", user.username); - - //self.switchTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(btle_switch_mode:) userInfo:nil repeats:YES]; - - - -} - -@end diff --git a/Classes/Tabs/PhotoDatabaseAvailability.h b/Classes/Tabs/PhotoDatabaseAvailability.h new file mode 100644 index 0000000..7fc3452 --- /dev/null +++ b/Classes/Tabs/PhotoDatabaseAvailability.h @@ -0,0 +1,15 @@ +// +// PhotoDatabaseAvailability.h +// Photomania +// +// Created by CS193p Instructor. +// Copyright (c) 2013 Stanford University. All rights reserved. +// + +#ifndef Photomania_PhotoDatabaseAvailability_h +#define Photomania_PhotoDatabaseAvailability_h + +#define DatabaseAvailabilityNotification @"DatabaseAvailabilityNotification" +#define PhotoDatabaseAvailabilityContext @"Context" + +#endif diff --git a/Classes/Tabs/detailsView.h b/Classes/Tabs/detailsView.h new file mode 100644 index 0000000..476f4f8 --- /dev/null +++ b/Classes/Tabs/detailsView.h @@ -0,0 +1,16 @@ +// +// detailsView.h +// app +// +// Created by kiddjacky on 4/28/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import +#import + + +@interface detailsView : UIViewController +@property (strong, nonatomic) CLLocation *location; + +@end diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m new file mode 100644 index 0000000..9dd33ca --- /dev/null +++ b/Classes/Tabs/detailsView.m @@ -0,0 +1,69 @@ +// +// detailsView.m +// app +// +// Created by kiddjacky on 4/28/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "detailsView.h" +#import +#import "DiscoverUser.h" + +@interface detailsView () +@property MKMapView *mapView; + +@end + + +@implementation detailsView + +@synthesize location; + +-(void)viewDidLoad { + [super viewDidLoad]; + self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext; + + UIButton *poke_button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; + [self.view addSubview:poke_button]; + [poke_button setTitle:@"Poke" forState:UIControlStateNormal]; + [poke_button sizeToFit]; + poke_button.center = CGPointMake(100,300); + + UIButton *chat_button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; + [self.view addSubview:chat_button]; + [chat_button setTitle:@"Chat" forState:UIControlStateNormal]; + [chat_button sizeToFit]; + chat_button.center = CGPointMake(300,300); + + //MKAnnotationView *map_view = [[MKAnnotationView alloc] init]; + _mapView = [[MKMapView alloc] initWithFrame:CGRectMake(20, 20, 200, 200)]; + [self.view addSubview:self.mapView]; + MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(self.location.coordinate, 1000, 1000); + [self.mapView setRegion:region animated:NO]; + MKPointAnnotation *pa = [[MKPointAnnotation alloc] init]; + pa.coordinate = location.coordinate; + [self.mapView addAnnotation:pa]; + + /* + NSDictionary *viewsDictionary = @{@"mapView":self.mapView}; + + NSArray *constraint_POS_V = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[mapView]-50-|" + options:0 + metrics:nil + views:viewsDictionary]; + + NSArray *constraint_POS_H = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[mapView]-10-|" + options:0 + metrics:nil + views:viewsDictionary]; + + [self.view addConstraints:constraint_POS_H]; + [self.view addConstraints:constraint_POS_V]; + */ +} + + + + +@end diff --git a/Classes/User/LoginView.m b/Classes/User/LoginView.m index 3814bda..dfa5684 100755 --- a/Classes/User/LoginView.m +++ b/Classes/User/LoginView.m @@ -17,6 +17,7 @@ #import "LoginView.h" + //------------------------------------------------------------------------------------------------------------------------------------------------- @interface LoginView() diff --git a/Discover.xcdatamodeld/Discover.xcdatamodel/contents b/Discover.xcdatamodeld/Discover.xcdatamodel/contents index c8ac6d6..7bf9832 100644 --- a/Discover.xcdatamodeld/Discover.xcdatamodel/contents +++ b/Discover.xcdatamodeld/Discover.xcdatamodel/contents @@ -1,12 +1,16 @@ + + + - - + + + \ No newline at end of file diff --git a/app.xcodeproj/project.pbxproj b/app.xcodeproj/project.pbxproj index c5468d8..91a940d 100755 --- a/app.xcodeproj/project.pbxproj +++ b/app.xcodeproj/project.pbxproj @@ -128,8 +128,13 @@ DE1C96E01AE37BB400610AF7 /* DiscoverUser+bluechat.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */; }; DE1C96E51AE37F7B00610AF7 /* test.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1C96E41AE37F7B00610AF7 /* test.m */; }; DE1C96EA1AE73D1100610AF7 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE1C96E91AE73D1100610AF7 /* CoreBluetooth.framework */; }; + DE31A2DD1AF7152800FD8DE2 /* CoreDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2DC1AF7152800FD8DE2 /* CoreDataTableViewController.m */; }; + DE31A2E31AF7321700FD8DE2 /* AppDelegate+MOC.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2E21AF7321700FD8DE2 /* AppDelegate+MOC.m */; }; + DE31A2E61AF7357400FD8DE2 /* DiscoversView+MOC.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2E51AF7357400FD8DE2 /* DiscoversView+MOC.m */; }; DE4AA4811AC9B4FE008309D0 /* BTLEPeripheralViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE4AA4801AC9B4FE008309D0 /* BTLEPeripheralViewController.m */; }; DE6DA8251ABF54CE007A683B /* DiscoversView.m in Sources */ = {isa = PBXBuildFile; fileRef = DE6DA8241ABF54CE007A683B /* DiscoversView.m */; }; + DEB34C2D1AF0A7DF000A42B8 /* detailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */; }; + DEB4AE931AF6E48300ED6A77 /* CurrentUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB4AE921AF6E48300ED6A77 /* CurrentUser.m */; }; DEBB7B351AE2FD21009CD940 /* tab_discovers.png in Resources */ = {isa = PBXBuildFile; fileRef = DEBB7B341AE2FD21009CD940 /* tab_discovers.png */; }; DEBB7B481AE3753C009CD940 /* Discover.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */; }; DEBB7B4B1AE37599009CD940 /* DiscoverUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEBB7B4A1AE37599009CD940 /* DiscoverUser.m */; }; @@ -359,11 +364,23 @@ DE1C96E41AE37F7B00610AF7 /* test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = test.m; sourceTree = ""; }; DE1C96E61AE47D7400610AF7 /* app.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = app.entitlements; sourceTree = ""; }; DE1C96E91AE73D1100610AF7 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; }; + DE31A2DB1AF7152800FD8DE2 /* CoreDataTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreDataTableViewController.h; sourceTree = ""; }; + DE31A2DC1AF7152800FD8DE2 /* CoreDataTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CoreDataTableViewController.m; sourceTree = ""; }; + DE31A2E11AF7321700FD8DE2 /* AppDelegate+MOC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AppDelegate+MOC.h"; sourceTree = ""; }; + DE31A2E21AF7321700FD8DE2 /* AppDelegate+MOC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AppDelegate+MOC.m"; sourceTree = ""; }; + DE31A2E41AF7357400FD8DE2 /* DiscoversView+MOC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DiscoversView+MOC.h"; sourceTree = ""; }; + DE31A2E51AF7357400FD8DE2 /* DiscoversView+MOC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "DiscoversView+MOC.m"; sourceTree = ""; }; + DE31A2E71AF74D2700FD8DE2 /* PhotoDatabaseAvailability.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PhotoDatabaseAvailability.h; sourceTree = ""; }; + DE31A2EA1AF8689100FD8DE2 /* DatabaseAvailability.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DatabaseAvailability.h; sourceTree = ""; }; DE4AA47F1AC9B4FE008309D0 /* BTLEPeripheralViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BTLEPeripheralViewController.h; sourceTree = ""; }; DE4AA4801AC9B4FE008309D0 /* BTLEPeripheralViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BTLEPeripheralViewController.m; sourceTree = ""; }; DE4AA4831AC9B582008309D0 /* TransferService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransferService.h; sourceTree = ""; }; DE6DA8231ABF54CE007A683B /* DiscoversView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoversView.h; sourceTree = ""; }; DE6DA8241ABF54CE007A683B /* DiscoversView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoversView.m; sourceTree = ""; }; + DEB34C2B1AF0A7DF000A42B8 /* detailsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = detailsView.h; sourceTree = ""; }; + DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = detailsView.m; sourceTree = ""; }; + DEB4AE911AF6E48300ED6A77 /* CurrentUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CurrentUser.h; sourceTree = ""; }; + DEB4AE921AF6E48300ED6A77 /* CurrentUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CurrentUser.m; sourceTree = ""; }; DEBB7B341AE2FD21009CD940 /* tab_discovers.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tab_discovers.png; sourceTree = ""; }; DEBB7B471AE3753C009CD940 /* Discover.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Discover.xcdatamodel; sourceTree = ""; }; DEBB7B491AE37599009CD940 /* DiscoverUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoverUser.h; sourceTree = ""; }; @@ -375,11 +392,11 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 29A299661A5575BF00117608 /* CoreGraphics.framework in Frameworks */, DE1C96EA1AE73D1100610AF7 /* CoreBluetooth.framework in Frameworks */, 29A2996E1A55763100117608 /* Social.framework in Frameworks */, 29A2996A1A5575CC00117608 /* AudioToolbox.framework in Frameworks */, 29A299681A5575C400117608 /* CFNetwork.framework in Frameworks */, - 29A299661A5575BF00117608 /* CoreGraphics.framework in Frameworks */, 29A299641A5575AF00117608 /* CoreLocation.framework in Frameworks */, 29A299621A5575A900117608 /* MobileCoreServices.framework in Frameworks */, 29A299601A5575A100117608 /* QuartzCore.framework in Frameworks */, @@ -452,7 +469,6 @@ 292338961AA350A400A47A39 /* 02_Messages */ = { isa = PBXGroup; children = ( - DE1C96E11AE37F0900610AF7 /* New Group */, 292338971AA350A400A47A39 /* 01_SelectSingle */, 2923389B1AA350A400A47A39 /* 02_SelectMultiple */, 2923389C1AA350A400A47A39 /* 03_AddressBook */, @@ -901,6 +917,9 @@ 29EB254F19E92ACD00D7AA97 /* AppConstant.h */, 29EB240C19E9292500D7AA97 /* AppDelegate.h */, 29EB240D19E9292500D7AA97 /* AppDelegate.m */, + DE31A2EA1AF8689100FD8DE2 /* DatabaseAvailability.h */, + DE31A2E11AF7321700FD8DE2 /* AppDelegate+MOC.h */, + DE31A2E21AF7321700FD8DE2 /* AppDelegate+MOC.m */, 29EB241519E9292500D7AA97 /* Images.xcassets */, 29EB241719E9292500D7AA97 /* LaunchScreen.xib */, 29EB240819E9292500D7AA97 /* Supporting Files */, @@ -941,13 +960,6 @@ path = Frameworks; sourceTree = ""; }; - DE1C96E11AE37F0900610AF7 /* New Group */ = { - isa = PBXGroup; - children = ( - ); - name = "New Group"; - sourceTree = ""; - }; DE1C96E21AE37F2B00610AF7 /* 05_test */ = { isa = PBXGroup; children = ( @@ -962,13 +974,22 @@ children = ( DE6DA8231ABF54CE007A683B /* DiscoversView.h */, DE6DA8241ABF54CE007A683B /* DiscoversView.m */, + DE31A2E71AF74D2700FD8DE2 /* PhotoDatabaseAvailability.h */, + DE31A2E41AF7357400FD8DE2 /* DiscoversView+MOC.h */, + DE31A2E51AF7357400FD8DE2 /* DiscoversView+MOC.m */, DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */, DE1C96DE1AE37BB400610AF7 /* DiscoverUser+bluechat.h */, + DEB4AE911AF6E48300ED6A77 /* CurrentUser.h */, + DEB4AE921AF6E48300ED6A77 /* CurrentUser.m */, DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */, DEBB7B491AE37599009CD940 /* DiscoverUser.h */, DEBB7B4A1AE37599009CD940 /* DiscoverUser.m */, + DEB34C2B1AF0A7DF000A42B8 /* detailsView.h */, + DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */, DE4AA47F1AC9B4FE008309D0 /* BTLEPeripheralViewController.h */, DE4AA4801AC9B4FE008309D0 /* BTLEPeripheralViewController.m */, + DE31A2DB1AF7152800FD8DE2 /* CoreDataTableViewController.h */, + DE31A2DC1AF7152800FD8DE2 /* CoreDataTableViewController.m */, DE4AA4831AC9B582008309D0 /* TransferService.h */, ); name = 04_Discovers; @@ -1112,6 +1133,7 @@ 292338CB1AA350A400A47A39 /* MessagesView.m in Sources */, 292339BB1AA38E0F00A47A39 /* JSQVideoMediaItem.m in Sources */, 2923392D1AA38DBD00A47A39 /* AFNetworkActivityIndicatorManager.m in Sources */, + DEB4AE931AF6E48300ED6A77 /* CurrentUser.m in Sources */, 292338CD1AA350A400A47A39 /* ProfileView.m in Sources */, 292338D31AA350A400A47A39 /* WelcomeView.m in Sources */, 29EB240E19E9292500D7AA97 /* AppDelegate.m in Sources */, @@ -1132,6 +1154,7 @@ 292339281AA38DBD00A47A39 /* AFSecurityPolicy.m in Sources */, 2923392F1AA38DBD00A47A39 /* UIAlertView+AFNetworking.m in Sources */, 292339B31AA38E0F00A47A39 /* JSQMessagesCollectionViewFlowLayoutInvalidationContext.m in Sources */, + DEB34C2D1AF0A7DF000A42B8 /* detailsView.m in Sources */, 292339C91AA38E0F00A47A39 /* JSQMessagesToolbarContentView.m in Sources */, 292339B11AA38E0F00A47A39 /* JSQMessagesToolbarButtonFactory.m in Sources */, 2923392E1AA38DBD00A47A39 /* UIActivityIndicatorView+AFNetworking.m in Sources */, @@ -1144,7 +1167,9 @@ 292338D61AA350A400A47A39 /* pushnotification.m in Sources */, 292339C81AA38E0F00A47A39 /* JSQMessagesMediaPlaceholderView.m in Sources */, DE4AA4811AC9B4FE008309D0 /* BTLEPeripheralViewController.m in Sources */, + DE31A2E31AF7321700FD8DE2 /* AppDelegate+MOC.m in Sources */, DE1C96E01AE37BB400610AF7 /* DiscoverUser+bluechat.m in Sources */, + DE31A2DD1AF7152800FD8DE2 /* CoreDataTableViewController.m in Sources */, 292339331AA38DBD00A47A39 /* UIRefreshControl+AFNetworking.m in Sources */, 292339A71AA38E0F00A47A39 /* UIDevice+JSQMessages.m in Sources */, 292339C11AA38E0F00A47A39 /* JSQMessagesCollectionViewCellOutgoing.m in Sources */, @@ -1152,6 +1177,7 @@ 292339291AA38DBD00A47A39 /* AFURLConnectionOperation.m in Sources */, 292339AF1AA38E0F00A47A39 /* JSQMessagesMediaViewBubbleImageMasker.m in Sources */, 292339B01AA38E0F00A47A39 /* JSQMessagesTimestampFormatter.m in Sources */, + DE31A2E61AF7357400FD8DE2 /* DiscoversView+MOC.m in Sources */, 292339341AA38DBD00A47A39 /* UIWebView+AFNetworking.m in Sources */, 296DD5E91A1F557900AB9F8C /* ProgressHUD.m in Sources */, 292339C31AA38E0F00A47A39 /* JSQMessagesComposerTextView.m in Sources */, diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 28c556cb0b84bac02e63fa52d1922ecb19dea5b1..c54cdea4b57d8b6174acd6e84c493e0175bc50c9 100644 GIT binary patch literal 64828 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 E0q`qbTmS$7 literal 56288 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 Pe-mK&fAjy}U8?^9V>4D| diff --git a/app/AppDelegate+MOC.h b/app/AppDelegate+MOC.h new file mode 100644 index 0000000..d75d802 --- /dev/null +++ b/app/AppDelegate+MOC.h @@ -0,0 +1,13 @@ +// +// AppDelegate+MOC.h +// app +// +// Created by kiddjacky on 5/3/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "AppDelegate.h" + +@interface AppDelegate (MOC) +- (NSManagedObjectContext *)createMainQueueManagedObjectContext; +@end diff --git a/app/AppDelegate+MOC.m b/app/AppDelegate+MOC.m new file mode 100644 index 0000000..c780b0f --- /dev/null +++ b/app/AppDelegate+MOC.m @@ -0,0 +1,100 @@ +// +// AppDelegate+MOC.m +// app +// +// Created by kiddjacky on 5/3/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "AppDelegate+MOC.h" +#import + + +@implementation AppDelegate (MOC) +#pragma mark - Core Data + +- (void)saveContext:(NSManagedObjectContext *)managedObjectContext +{ + NSError *error = nil; + if (managedObjectContext != nil) { + if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) { + // Replace this implementation with code to handle the error appropriately. + // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + NSLog(@"Unresolved error %@, %@", error, [error userInfo]); + abort(); + } + } +} + +// Returns the managed object context for the application. +// If the context doesn't already exist, it is created and bound to the persistent store coordinator for the application. +- (NSManagedObjectContext *)createMainQueueManagedObjectContext +{ + NSManagedObjectContext *managedObjectContext = nil; + NSPersistentStoreCoordinator *coordinator = [self createPersistentStoreCoordinator]; + if (coordinator != nil) { + managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType]; + [managedObjectContext setPersistentStoreCoordinator:coordinator]; + } + return managedObjectContext; +} + +// Returns the managed object model for the application. +// If the model doesn't already exist, it is created from the application's model. +- (NSManagedObjectModel *)createManagedObjectModel +{ + NSManagedObjectModel *managedObjectModel = nil; + NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Discover" withExtension:@"momd"]; + managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; + return managedObjectModel; +} + +// Returns the persistent store coordinator for the application. +// If the coordinator doesn't already exist, it is created and the application's store added to it. +- (NSPersistentStoreCoordinator *)createPersistentStoreCoordinator +{ + NSPersistentStoreCoordinator *persistentStoreCoordinator = nil; + NSManagedObjectModel *managedObjectModel = [self createManagedObjectModel]; + + NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"MOC.sqlite"]; + + NSError *error = nil; + persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:managedObjectModel]; + if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) { + /* + Replace this implementation with code to handle the error appropriately. + + abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + + Typical reasons for an error here include: + * The persistent store is not accessible; + * The schema for the persistent store is incompatible with current managed object model. + Check the error message to determine what the actual problem was. + + + If the persistent store is not accessible, there is typically something wrong with the file path. Often, a file URL is pointing into the application's resources directory instead of a writeable directory. + + If you encounter schema incompatibility errors during development, you can reduce their frequency by: + * Simply deleting the existing store: + [[NSFileManager defaultManager] removeItemAtURL:storeURL error:nil] + + * Performing automatic lightweight migration by passing the following dictionary as the options parameter: + @{NSMigratePersistentStoresAutomaticallyOption:@YES, NSInferMappingModelAutomaticallyOption:@YES} + + Lightweight migration will only work for a limited set of schema changes; consult "Core Data Model Versioning and Data Migration Programming Guide" for details. + + */ + NSLog(@"Unresolved error %@, %@", error, [error userInfo]); + abort(); + } + + return persistentStoreCoordinator; +} + +// Returns the URL to the application's Documents directory + +- (NSURL *)applicationDocumentsDirectory +{ + return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; +} +@end diff --git a/app/AppDelegate.m b/app/AppDelegate.m index 11537fe..2c92fe5 100755 --- a/app/AppDelegate.m +++ b/app/AppDelegate.m @@ -23,7 +23,37 @@ #import "NavigationController.h" #import "DiscoversView.h" -@implementation AppDelegate +#import +#import "TransferService.h" +#import +#import "DiscoverUser.h" +#import "DatabaseAvailability.h" +#import "AppDelegate+MOC.h" + +@interface AppDelegate () +//setup BTLE +@property (strong, nonatomic) CBPeripheralManager *peripheralManager; +@property (strong, nonatomic) CBCentralManager *centralManager; +@property (strong, nonatomic) CBPeripheral *discoveredPeripheral; +//unused for now +@property (strong, nonatomic) NSMutableData *data; +@property (strong, nonatomic) CBMutableCharacteristic *transferCharacteristic; +@property (strong, nonatomic) NSData *dataToSend; +@property (nonatomic, readwrite) NSInteger sendDataIndex; +@property (strong, nonatomic) IBOutlet UITextView *central_textview; +@property (strong, nonatomic) IBOutlet UITextView *textView; +@property (strong, nonatomic) IBOutlet UISwitch *advertisingSwitch; +//CLLocation +@property (strong, nonatomic) CLLocationManager *locationManager; +@property (strong, nonatomic) CLLocation *currentLocation; +//Core data +@property (strong, nonatomic) NSManagedObjectContext *DiscoverDatabaseContext; +@end + + +#define NOTIFY_MTU 20 + +@implementation AppDelegate //------------------------------------------------------------------------------------------------------------------------------------------------- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions @@ -65,12 +95,39 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( [self.window makeKeyAndVisible]; //--------------------------------------------------------------------------------------------------------------------------------------------- + //create database + self.DiscoverDatabaseContext = [self createMainQueueManagedObjectContext]; + + + // Start up the CBPeripheralManager + _peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil]; + + + // Start up the CBCentralManager + _centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; + + // And somewhere to store the incoming data + _data = [[NSMutableData alloc] init]; + + //_locationManager = [[CLLocationManager alloc] init]; + [self CurrentLocationIdentifier]; // call this method return YES; } +//setup discover database +-(void)setDiscoverDatabaseContext:(NSManagedObjectContext *)DiscoverDatabaseContext +{ + _DiscoverDatabaseContext = DiscoverDatabaseContext; + + //setup notification to other view controller that the context is avaiable. + NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + +} + //------------------------------------------------------------------------------------------------------------------------------------------------- - (void)applicationWillResignActive:(UIApplication *)application //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -152,4 +209,608 @@ - (void)refreshMessagesView [self.messagesView loadMessages]; } + +#pragma Discover Scheme + +#pragma mark - BTLE +/** centralManagerDidUpdateState is a required protocol method. + * Usually, you'd check for other states to make sure the current device supports LE, is powered on, etc. + * In this instance, we're just using it to wait for CBCentralManagerStatePoweredOn, which indicates + * the Central is ready to be used. + */ +- (void)centralManagerDidUpdateState:(CBCentralManager *)central +{ + if (central.state != CBCentralManagerStatePoweredOn) { + // In a real app, you'd deal with all the states correctly + return; + } + + // The state must be CBCentralManagerStatePoweredOn... + + // ... so start scanning + [self scan]; + +} + + +/** Scan for peripherals - specifically for our service's 128bit CBUUID + */ +- (void)scan +{ + [self.centralManager scanForPeripheralsWithServices:@[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] + options:@{ CBCentralManagerScanOptionAllowDuplicatesKey : @NO }]; + + NSLog(@"Scanning started"); +} + +//------------ Current Location Address----- +-(void)CurrentLocationIdentifier +{ + //---- For getting current gps location + self.locationManager = [[CLLocationManager alloc] init]; + self.locationManager.delegate = self; + + // Check for iOS 8. Without this guard the code will crash with "unknown selector" on iOS 7. + if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) { + [self.locationManager requestWhenInUseAuthorization]; + } + + + self.locationManager.distanceFilter = kCLDistanceFilterNone; + self.locationManager.desiredAccuracy = kCLLocationAccuracyBest; + self.locationManager.distanceFilter = 500; //500 meter filter + // [self.locationManager requestAlwaysAuthorization]; + // NSLog(@"CurrentLocationIdentifier is called\n"); + + [self.locationManager startUpdatingLocation]; + NSLog(@"Location Services enabled = %d", [CLLocationManager locationServicesEnabled]); + NSLog(@"Authorization Status = %d", [CLLocationManager authorizationStatus]); + NSLog(@"CurrentLocationIdentifier is called\n"); + //------ +} +- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations +{ + self.currentLocation = [locations lastObject]; + //[locationManager stopUpdatingLocation]; + //eventDate = currentLocation.timestamp; + NSLog(@"Update Location is called\n"); + + /* + NSTimeInterval howRecent = [eventDate timeIntervalSinceNow]; + if (abs(howRecent) < 15.0) { + // If the event is recent, do something with it. + NSLog(@"latitude %+.6f, longitude %+.6f\n", + currentLocation.coordinate.latitude, + currentLocation.coordinate.longitude); + } + */ + + /* + CLGeocoder *geocoder = [[CLGeocoder alloc] init] ; + [geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) + { + if (!(error)) + { + CLPlacemark *placemark = [placemarks objectAtIndex:0]; + NSLog(@"\nCurrent Location Detected\n"); + NSLog(@"placemark %@",placemark); + NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; + NSString *Address = [[NSString alloc]initWithString:locatedAt]; + NSString *Area = [[NSString alloc]initWithString:placemark.locality]; + NSString *Country = [[NSString alloc]initWithString:placemark.country]; + NSString *CountryArea = [NSString stringWithFormat:@"%@, %@", Area,Country]; + NSLog(@"%@",CountryArea); + } + else + { + NSLog(@"Geocode failed with error %@", error); + NSLog(@"\nCurrent Location Not Detected\n"); + //return; + //CountryArea = NULL; + } + ---- For more results + placemark.region); + placemark.country); + placemark.locality); + placemark.name); + placemark.ocean); + placemark.postalCode); + placemark.subLocality); + placemark.location); + ------ + + }]; + */ + + +} + +/* + -(NSString *)geocoder:(CLGeocoder *)geocoder location:(CLLocation *)location; + { + NSLog(@"Resolving the Address"); + NSString *address; + [geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) { + NSLog(@"Found placemarks: %@, error: %@", placemarks, error); + if (error == nil && [placemarks count] > 0) { + placemark = [placemarks lastObject]; + address = [NSString stringWithFormat:@"%@ %@\n%@ %@\n%@\n%@", + placemark.subThoroughfare, placemark.thoroughfare, + placemark.postalCode, placemark.locality, + placemark.administrativeArea, + placemark.country]; + } else { + NSLog(@"%@", error.debugDescription); + } + } ]; + + } + + */ +-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error { + NSLog(@"%@", error.localizedDescription); +} + +- (void)locationManager:(CLLocationManager *)manager +didChangeAuthorizationStatus:(CLAuthorizationStatus)status +{ + NSLog(@"Authorization status changed to %d\n", status ); +} + + +/** This callback comes whenever a peripheral that is advertising the TRANSFER_SERVICE_UUID is discovered. + * We check the RSSI, to make sure it's close enough that we're interested in it, and if it is, + * we start the connection process + */ +- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI +{ + //NSLog(@"enter call back"); + // Reject any where the value is above reasonable range + /* + if (RSSI.integerValue > -15) { + return; + } + + // Reject if the signal strength is too low to be close enough (Close is around -22dB) + if (RSSI.integerValue < -35) { + return; + } + */ + NSLog(@"Discovered %@ at %@", peripheral.name, RSSI); + NSString *userName = [advertisementData objectForKey:CBAdvertisementDataLocalNameKey]; + + if (userName!=NULL) { + NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; + request.predicate = [NSPredicate predicateWithFormat:@"userName = %@", userName]; + + NSError *error; + NSArray *matches = [self.DiscoverDatabaseContext executeFetchRequest:request error:&error]; + + if (error) { + //handle error + NSLog(@"request Error!"); + } else if ([matches count]==1) { + //maybe need to update the location or time + NSLog(@"already matched"); + DiscoverUser *discoverUser = [matches firstObject]; + NSLog(@"already discover user is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); + } else { + NSLog(@"create new core data"); + NSManagedObjectContext *context = [self DiscoverDatabaseContext]; + DiscoverUser *discoverUser = [NSEntityDescription insertNewObjectForEntityForName:@"DiscoverUser" inManagedObjectContext:context]; + discoverUser.userName = userName; + discoverUser.timeMeet = [NSDate date]; + double latitude = (double)[self.currentLocation coordinate].latitude; + discoverUser.latitude = [NSNumber numberWithDouble:latitude]; + double longitude = (double)[self.currentLocation coordinate].longitude; + discoverUser.longitude = [NSNumber numberWithDouble:longitude]; + NSError *error=nil; + + if (![self.DiscoverDatabaseContext save:&error]) { + NSLog(@"Couldn't save %@", [error localizedDescription]); + } + + + } + + } +} + + +/** If the connection fails for whatever reason, we need to deal with it. + */ +- (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error +{ + NSLog(@"Failed to connect to %@. (%@)", peripheral, [error localizedDescription]); + [self cleanup]; +} + + +/** We've connected to the peripheral, now we need to discover the services and characteristics to find the 'transfer' characteristic. + */ +- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral +{ + NSLog(@"Peripheral Connected"); + + // Stop scanning + [self.centralManager stopScan]; + NSLog(@"Scanning stopped"); + + // Clear the data that we may already have + [self.data setLength:0]; + + // Make sure we get the discovery callbacks + peripheral.delegate = self; + + // Search only for services that match our UUID + [peripheral discoverServices:@[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]]]; +} + + +/** The Transfer Service was discovered + */ +- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error +{ + if (error) { + NSLog(@"Error discovering services: %@", [error localizedDescription]); + [self cleanup]; + return; + } + + // Discover the characteristic we want... + + // Loop through the newly filled peripheral.services array, just in case there's more than one. + for (CBService *service in peripheral.services) { + [peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]] forService:service]; + } +} + + +/** The Transfer characteristic was discovered. + * Once this has been found, we want to subscribe to it, which lets the peripheral know we want the data it contains + */ +- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error +{ + // Deal with errors (if any) + if (error) { + NSLog(@"Error discovering characteristics: %@", [error localizedDescription]); + [self cleanup]; + return; + } + + // Again, we loop through the array, just in case. + for (CBCharacteristic *characteristic in service.characteristics) { + + // And check if it's the right one + if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { + + // If it is, subscribe to it + [peripheral setNotifyValue:YES forCharacteristic:characteristic]; + } + } + + // Once this is complete, we just need to wait for the data to come in. +} + + +/** This callback lets us know more data has arrived via notification on the characteristic + */ +- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error +{ + if (error) { + NSLog(@"Error discovering characteristics: %@", [error localizedDescription]); + return; + } + + NSString *stringFromData = [[NSString alloc] initWithData:characteristic.value encoding:NSUTF8StringEncoding]; + + // Have we got everything we need? + if ([stringFromData isEqualToString:@"EOM"]) { + + // We have, so show the data, + [self.central_textview setText:[[NSString alloc] initWithData:self.data encoding:NSUTF8StringEncoding]]; + + // Cancel our subscription to the characteristic + [peripheral setNotifyValue:NO forCharacteristic:characteristic]; + + // and disconnect from the peripehral + [self.centralManager cancelPeripheralConnection:peripheral]; + } + + // Otherwise, just add the data on to what we already have + [self.data appendData:characteristic.value]; + + // Log it + NSLog(@"Received: %@", stringFromData); +} + + +/** The peripheral letting us know whether our subscribe/unsubscribe happened or not + */ +- (void)peripheral:(CBPeripheral *)peripheral didUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error +{ + if (error) { + NSLog(@"Error changing notification state: %@", error.localizedDescription); + } + + // Exit if it's not the transfer characteristic + if (![characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { + return; + } + + // Notification has started + if (characteristic.isNotifying) { + NSLog(@"Notification began on %@", characteristic); + } + + // Notification has stopped + else { + // so disconnect from the peripheral + NSLog(@"Notification stopped on %@. Disconnecting", characteristic); + [self.centralManager cancelPeripheralConnection:peripheral]; + } +} + + +/** Once the disconnection happens, we need to clean up our local copy of the peripheral + */ +- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error +{ + NSLog(@"Peripheral Disconnected"); + self.discoveredPeripheral = nil; + + // We're disconnected, so start scanning again + [self scan]; +} + + +/** Call this when things either go wrong, or you're done with the connection. + * This cancels any subscriptions if there are any, or straight disconnects if not. + * (didUpdateNotificationStateForCharacteristic will cancel the connection if a subscription is involved) + */ +- (void)cleanup +{ + // Don't do anything if we're not connected + if (!self.discoveredPeripheral == CBPeripheralStateConnecting) { + return; + } + + // See if we are subscribed to a characteristic on the peripheral + if (self.discoveredPeripheral.services != nil) { + for (CBService *service in self.discoveredPeripheral.services) { + if (service.characteristics != nil) { + for (CBCharacteristic *characteristic in service.characteristics) { + if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { + if (characteristic.isNotifying) { + // It is notifying, so unsubscribe + [self.discoveredPeripheral setNotifyValue:NO forCharacteristic:characteristic]; + + // And we're done. + return; + } + } + } + } + } + } + + // If we've got this far, we're connected, but we're not subscribed, so we just disconnect + [self.centralManager cancelPeripheralConnection:self.discoveredPeripheral]; +} + + + + +#pragma mark - Peripheral Methods + + + +/** Required protocol method. A full app should take care of all the possible states, + * but we're just waiting for to know when the CBPeripheralManager is ready + */ +- (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral +{ + // Opt out from any other state + if (peripheral.state != CBPeripheralManagerStatePoweredOn) { + return; + } + + // We're in CBPeripheralManagerStatePoweredOn state... + NSLog(@"self.peripheralManager powered on."); + + + // ... so build our service. + if ([PFUser currentUser] != nil) { + [self btle_seq]; + } else { + return; + } + /* + // Start with the CBMutableCharacteristic + self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID] + properties:CBCharacteristicPropertyNotify + value:nil + permissions:CBAttributePermissionsReadable]; + + // Then the service + CBMutableService *transferService = [[CBMutableService alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID] + primary:YES]; + + // Add the characteristic to the service + transferService.characteristics = @[self.transferCharacteristic]; + + // And add it to the peripheral manager + [self.peripheralManager addService:transferService]; + */ +} + + +/** Catch when someone subscribes to our characteristic, then start sending them data + */ +- (void)peripheralManager:(CBPeripheralManager *)peripheral central:(CBCentral *)central didSubscribeToCharacteristic:(CBCharacteristic *)characteristic +{ + NSLog(@"Central subscribed to characteristic"); + + // Get the data + self.dataToSend = [self.textView.text dataUsingEncoding:NSUTF8StringEncoding]; + + // Reset the index + self.sendDataIndex = 0; + + // Start sending + [self sendData]; +} + + +/** Recognise when the central unsubscribes + */ +- (void)peripheralManager:(CBPeripheralManager *)peripheral central:(CBCentral *)central didUnsubscribeFromCharacteristic:(CBCharacteristic *)characteristic +{ + NSLog(@"Central unsubscribed from characteristic"); +} + + +/** Sends the next amount of data to the connected central + */ +- (void)sendData +{ + // First up, check if we're meant to be sending an EOM + static BOOL sendingEOM = NO; + + if (sendingEOM) { + + // send it + BOOL didSend = [self.peripheralManager updateValue:[@"EOM" dataUsingEncoding:NSUTF8StringEncoding] forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; + + // Did it send? + if (didSend) { + + // It did, so mark it as sent + sendingEOM = NO; + + NSLog(@"Sent: EOM"); + } + + // It didn't send, so we'll exit and wait for peripheralManagerIsReadyToUpdateSubscribers to call sendData again + return; + } + + // We're not sending an EOM, so we're sending data + + // Is there any left to send? + + if (self.sendDataIndex >= self.dataToSend.length) { + + // No data left. Do nothing + return; + } + + // There's data left, so send until the callback fails, or we're done. + + BOOL didSend = YES; + + while (didSend) { + + // Make the next chunk + + // Work out how big it should be + NSInteger amountToSend = self.dataToSend.length - self.sendDataIndex; + + // Can't be longer than 20 bytes + if (amountToSend > NOTIFY_MTU) amountToSend = NOTIFY_MTU; + + // Copy out the data we want + NSData *chunk = [NSData dataWithBytes:self.dataToSend.bytes+self.sendDataIndex length:amountToSend]; + + // Send it + didSend = [self.peripheralManager updateValue:chunk forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; + + // If it didn't work, drop out and wait for the callback + if (!didSend) { + return; + } + + NSString *stringFromData = [[NSString alloc] initWithData:chunk encoding:NSUTF8StringEncoding]; + NSLog(@"Sent: %@", stringFromData); + + // It did send, so update our index + self.sendDataIndex += amountToSend; + + // Was it the last one? + if (self.sendDataIndex >= self.dataToSend.length) { + + // It was - send an EOM + + // Set this so if the send fails, we'll send it next time + sendingEOM = YES; + + // Send it + BOOL eomSent = [self.peripheralManager updateValue:[@"EOM" dataUsingEncoding:NSUTF8StringEncoding] forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; + + if (eomSent) { + // It sent, we're all done + sendingEOM = NO; + + NSLog(@"Sent: EOM"); + } + + return; + } + } +} + + +/** This callback comes in when the PeripheralManager is ready to send the next chunk of data. + * This is to ensure that packets will arrive in the order they are sent + */ +- (void)peripheralManagerIsReadyToUpdateSubscribers:(CBPeripheralManager *)peripheral +{ + // Start sending again + [self sendData]; +} + + +/** Start advertising + */ +- (IBAction)switchChanged:(id)sender +{ + if (self.advertisingSwitch.on) { + // All we advertise is our service's UUID + [self btle_seq]; + // [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] }]; + } + + else { + [self.peripheralManager stopAdvertising]; + } +} + +-(void)btle_switch_mode:(NSTimer *)switchtimer +{ + // NSLog(@"Timer is fired off"); + + // if (self.peripheralManager.state == CBPeripheralManagerStatePoweredOn) { + // [self.peripheralManager stopAdvertising]; + // return; + // } + +} + +- (void)btle_seq +{ + PFUser *user = [PFUser currentUser]; + while (!user.username) { + + } + [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] , CBAdvertisementDataLocalNameKey : user.username }]; + NSLog(@"send out advertisment data, user name is %@", user.username); + + //self.switchTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(btle_switch_mode:) userInfo:nil repeats:YES]; + + +} + + + + @end diff --git a/app/DatabaseAvailability.h b/app/DatabaseAvailability.h new file mode 100644 index 0000000..c62b008 --- /dev/null +++ b/app/DatabaseAvailability.h @@ -0,0 +1,16 @@ +// +// Header.h +// app +// +// Created by kiddjacky on 5/4/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#ifndef app_Header_h +#define app_Header_h + +#define DatabaseAvailabilityNotification @"DatabaseAvailabilityNotification" +#define DatabaseAvailabilityContext @"Context" + + +#endif From b7d51caa459219c697b8c5f9bd235c1a00d6af25 Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Thu, 7 May 2015 22:19:16 -0700 Subject: [PATCH 02/33] test git --- Classes/Tabs/DiscoversView.m | 237 ++++++++++++++++++ .../UserInterfaceState.xcuserstate | Bin 64828 -> 65059 bytes app/AppDelegate.m | 2 + 3 files changed, 239 insertions(+) create mode 100644 Classes/Tabs/DiscoversView.m diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m new file mode 100644 index 0000000..f98aa79 --- /dev/null +++ b/Classes/Tabs/DiscoversView.m @@ -0,0 +1,237 @@ +// +// DiscoversView.m +// app +// +// Created by kiddjacky on 3/22/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "DiscoversView.h" +#import "detailsView.h" +#import "DiscoverUser.h" + + + +#import "DatabaseAvailability.h" + +#import +#import "ProgressHUD.h" + +#import "AppConstant.h" +#import "messages.h" +#import "utilities.h" + +#import "ChatView.h" + +//------------------------------------------------------------------------------------------------------------------------------------------------- +@interface DiscoversView() +{ + NSMutableArray *DiscoverItems; + NSMutableArray *discoverLocation; + NSMutableArray *discoverTime; + //CLLocationManager *locationManager; + CLLocation *currentLocation; + NSDate *eventDate; + CLGeocoder *geocoder; + CLPlacemark *placemark; +} +@end +//------------------------------------------------------------------------------------------------------------------------------------------------- + + +@implementation DiscoversView + +- (void)awakeFromNib +{ + [[NSNotificationCenter defaultCenter] addObserverForName:DatabaseAvailabilityNotification + object:nil + queue:nil + usingBlock:^(NSNotification *note) { + NSLog(@"Get database notification"); + self.managedObjectContext = note.userInfo[DatabaseAvailabilityContext]; + }]; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------- +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) + { + [self.tabBarItem setImage:[UIImage imageNamed:@"tab_discover"]]; + self.tabBarItem.title = @"Discovers"; + } + return self; +} + + +- (void)setManagedObjectContext:(NSManagedObjectContext *)managedObjectContext +{ + _managedObjectContext = managedObjectContext; + + NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; + request.predicate = nil; + request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"userName" + ascending:YES + selector:@selector(localizedStandardCompare:)]]; + + + + + + self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request + managedObjectContext:managedObjectContext + sectionNameKeyPath:nil + cacheName:nil]; + + + +} + + + +//------------------------------------------------------------------------------------------------------------------------------------------------- +- (void)viewDidLoad +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + [super viewDidLoad]; + self.title = @"Discovers"; + //--------------------------------------------------------------------------------------------------------------------------------------------- + // self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"New" style:UIBarButtonItemStylePlain target:self + // action:@selector(actionNew)]; + //--------------------------------------------------------------------------------------------------------------------------------------------- + self.tableView.tableFooterView = [[UIView alloc] init]; + //--------------------------------------------------------------------------------------------------------------------------------------------- + + geocoder = [[CLGeocoder alloc] init]; + +} + +//------------------------------------------------------------------------------------------------------------------------------------------------- +- (void)viewDidAppear:(BOOL)animated +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + [super viewDidAppear:animated]; + //--------------------------------------------------------------------------------------------------------------------------------------------- + if ([PFUser currentUser] != nil) + { + [self loadDiscovers]; + } + else LoginUser(self); +} + +-(void) loadDiscovers //load discover people or ibeacon +{ + +} + + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; + if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"]; + NSLog(@"update table view"); + DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; + cell.textLabel.text = discoverUser.userName; + + //find the actual full name + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:discoverUser.userName]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + + PFUser *user = [objects firstObject]; + NSLog(@"found user %@", user.username); + cell.textLabel.text = user.username; + } + }]; + + + CLLocationDegrees longitude = [discoverUser.longitude doubleValue]; + CLLocationDegrees latitude = [discoverUser.latitude doubleValue]; + CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude]; + [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) + { + if (!(error)) + { + CLPlacemark *placemark = [placemarks objectAtIndex:0]; + NSLog(@"\nCurrent Location Detected\n"); + NSLog(@"placemark %@",placemark); + NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; + NSString *Address = [[NSString alloc]initWithString:locatedAt]; + NSString *Area = [[NSString alloc]initWithString:placemark.locality]; + NSString *Country = [[NSString alloc]initWithString:placemark.country]; + NSString *CountryArea = [NSString stringWithFormat:@"%@, %@", Area,Country]; + NSLog(@"%@",CountryArea); + //cell.detailTextLabel.text = Area; + cell.detailTextLabel.text = [NSString stringWithFormat:@"%@, %@", discoverUser.timeMeet, Area]; + } + else + { + NSLog(@"Geocode failed with error %@", error); + NSLog(@"\nCurrent Location Not Detected\n"); + //return; + //CountryArea = NULL; + } + }]; + + + //PFUser *user = DiscoverItems[indexPath.row]; + //cell.textLabel.text = user[PF_USER_FULLNAME]; + + + + + + //if (cell.detailTextLabel.text == nil) cell.detailTextLabel.text = [NSString stringWithFormat:@"latitude %+.6f, longtitude %+.6f\n", location.coordinate.latitude, location.coordinate.longitude]; + cell.detailTextLabel.textColor = [UIColor lightGrayColor]; + + /* + PFQuery *query = [PFQuery queryWithClassName:PF_CHAT_CLASS_NAME]; + [query whereKey:PF_CHAT_GROUPID equalTo:discover.objectId]; + [query orderByDescending:PF_CHAT_CREATEDAT]; + [query setLimit:1000]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + PFObject *chat = [objects firstObject]; + NSTimeInterval seconds = [[NSDate date] timeIntervalSinceDate:chat.createdAt]; + cell.detailTextLabel.text = [NSString stringWithFormat:@"%d messages (%@)", (int) [objects count], TimeElapsed(seconds)]; + } + else cell.detailTextLabel.text = @"No message"; + }]; + */ + return cell; +} + +#pragma mark - Table view delegate + +//------------------------------------------------------------------------------------------------------------------------------------------------- +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + detailsView *dv = [[detailsView alloc] init]; + dv.location = discoverLocation[indexPath.row]; + [self.navigationController pushViewController:dv animated:YES]; + /* + //--------------------------------------------------------------------------------------------------------------------------------------------- + PFUser *user = DiscoverItems[indexPath.row]; + //NSString *discoverId = discover.objectId; + //--------------------------------------------------------------------------------------------------------------------------------------------- + //CreateMessageItem([PFUser currentUser], discoverId, discover[PF_GROUPS_NAME]); + NSString *discoverId = StartPrivateChat([PFUser currentUser], user); + //--------------------------------------------------------------------------------------------------------------------------------------------- + ChatView *chatView = [[ChatView alloc] initWith:discoverId]; + chatView.hidesBottomBarWhenPushed = YES; + [self.navigationController pushViewController:chatView animated:YES]; + */ +} + + +@end diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index c54cdea4b57d8b6174acd6e84c493e0175bc50c9..6041ef7b70118cfd0f7e1ff4a8870cc5a999f042 100644 GIT binary patch delta 14780 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 delta 14571 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 kJC~!DXP0j*zgT{|{OQ*}Phf Date: Fri, 8 May 2015 00:08:38 -0700 Subject: [PATCH 03/33] login fix fix login start advertise problem --- Classes/Tabs/DiscoversView.m | 12 ++++++++++-- Classes/User/LoginView.m | 2 ++ Classes/User/RegisterView.m | 2 ++ .../UserInterfaceState.xcuserstate | Bin 65059 -> 65495 bytes app/AppDelegate.m | 13 ++++++++----- app/DatabaseAvailability.h | 2 +- 6 files changed, 23 insertions(+), 8 deletions(-) diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index f98aa79..bf51fcd 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -43,6 +43,7 @@ @implementation DiscoversView - (void)awakeFromNib { + NSLog(@"load into the discover awakeFromNib"); [[NSNotificationCenter defaultCenter] addObserverForName:DatabaseAvailabilityNotification object:nil queue:nil @@ -77,7 +78,7 @@ - (void)setManagedObjectContext:(NSManagedObjectContext *)managedObjectContext selector:@selector(localizedStandardCompare:)]]; - + NSLog(@"Discover set managed object context"); self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request @@ -103,8 +104,15 @@ - (void)viewDidLoad //--------------------------------------------------------------------------------------------------------------------------------------------- self.tableView.tableFooterView = [[UIView alloc] init]; //--------------------------------------------------------------------------------------------------------------------------------------------- - + NSLog(@"into Discover view did load"); geocoder = [[CLGeocoder alloc] init]; + [[NSNotificationCenter defaultCenter] addObserverForName:DatabaseAvailabilityNotification + object:nil + queue:nil + usingBlock:^(NSNotification *note) { + NSLog(@"Get database notification"); + self.managedObjectContext = note.userInfo[DatabaseAvailabilityContext]; + }]; } diff --git a/Classes/User/LoginView.m b/Classes/User/LoginView.m index dfa5684..05a25c4 100755 --- a/Classes/User/LoginView.m +++ b/Classes/User/LoginView.m @@ -16,6 +16,7 @@ #import "pushnotification.h" #import "LoginView.h" +#import "DataBaseAvailability.h" //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -80,6 +81,7 @@ - (IBAction)actionLogin:(id)sender { ParsePushUserAssign(); [ProgressHUD showSuccess:[NSString stringWithFormat:@"Welcome back %@!", user[PF_USER_FULLNAME]]]; + [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_READY object:nil]; [self dismissViewControllerAnimated:YES completion:nil]; } else [ProgressHUD showError:error.userInfo[@"error"]]; diff --git a/Classes/User/RegisterView.m b/Classes/User/RegisterView.m index b7e617a..56fee5b 100755 --- a/Classes/User/RegisterView.m +++ b/Classes/User/RegisterView.m @@ -16,6 +16,7 @@ #import "pushnotification.h" #import "RegisterView.h" +#import "DatabaseAvailability.h" //------------------------------------------------------------------------------------------------------------------------------------------------- @interface RegisterView() @@ -91,6 +92,7 @@ - (IBAction)actionRegister:(id)sender { ParsePushUserAssign(); [ProgressHUD showSuccess:@"Succeed."]; + [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_READY object:nil]; [self dismissViewControllerAnimated:YES completion:nil]; } else [ProgressHUD showError:error.userInfo[@"error"]]; diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 6041ef7b70118cfd0f7e1ff4a8870cc5a999f042..112e4e9f03a319e53a9dd435faf720e225d37338 100644 GIT binary patch delta 17044 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 delta 16834 zcma)j1z1#D)b^lrOkhrdq~y@uVE{uj3@D-qCW?ZTA|ice)1lM=(lCUAv`9D79mZ9! zSFhc5?fegVqqr(H_&D(4Nws(Vo*@&|cEsz`QUY%n#FG7)D?e#$X&4fCXVSSRK}YHDN7S z8`gn!VLezMHh@iFQ`ihZ7rp=w!qf0Pd>4KRzk*-Gf50E% zPY4gP99e;^MEDQ{K@kjDg9ssFh&UpJ&=EOA1yMz`5glX$Vuox%_8@x^cVr*pg&aYS zAwfte5{3}`Z3r8QK@yNeWfCBF=#9rhsL7`1e%B@p~>h8v;Zwci_l`U1m&Wo zXeC;O)}sw*AKH%&pcl|VbP}CHucFt`hv*~pG5Q33i@rnOqaV<37!_NE!I&T>hDl>` zm;q*p8DYlQI&3|*0o#a~VOua~Y%8`6bHTP_u9zFP7u$~=#*SbC*inoK#KN%%jE%)% z$yg?qg=J%TSRq!5RbZ7^9d-_D!p5+1Yyz9arm$&j2Ajp^uz73&yNq4Me#LHLx3TBg z3+yHK3VV%xz`o#1@MZXN9K&&302jq2a7kPP*Tl7OZCnS}#r1F#+!Qy%8Mqa0joaXE zM)(eVC%y~cjqkzt;_kR7?t}Z|hw)>05Plqwz@zbG`~-dy&%(3uQ+P36f^+dI{48FL z*KnS#-pCWsq{^G;BOIxbA-HKrn69R_p^BuImZ4_EitS-~+M2pew}Ts&h<31MQ{>;#ZzEk-G89 zoo->8h6bcaLrXhidzg;4mL8`Em-<$AQP~uNi>F|7+4a)xm%UTVOJmI%p6&{k~YVtu*CrN2q$%` z-`16sRg~4Vi?kaQwMyD0+GW}m+Ap-Lv}?5Mv|j=BD4+%c>M=kK0@UMx8Vsl*fErp! z`;B&!c8j7y;ip}p$WT-Ol^i!5P$R&S8un7MLDTvga~|zilx{BV3i-%3TcG?L=q*g4 zsGX&~qrInnpnar$qJ5@)p?#%&qkRX|NI)exb+tm8XJH<)S2|3EA$S?QoT37+gjWG- z0vl#)07w=<$^hyC&=@%yfF=Pn#razMidX|nlU>6?urMqFi^5{CIJ_2?fF)rmKurYH zBtT6D)DwVu5>QhBH5E|P05u&@GtR;?uq;ep9FZJT5mthgDKdb{0aQ};H;ZE~j=B^; zA^;L4AC-5*xQ)4m#eT0q{{Vac{T{omJp8PjM_842g}(7gzmh3fLUBTC8gUTLNkhpyrms*02qr<^gIiTY0;wPoPJD-`+rv zE%tl8{Qhdgf;UspGS~rjgf{_dKA;u=YGE1dL@MqKs70ir)NZ!sZdmcBcFesY{>K7$ zI|Y*cIPDGc;(Tkc+2cm3=E6GwwU}-3SGT+2gA}zh@E&+C><;gP_ro6W0YEJQR4$;F z0%{qcmIG=9pq@Shd%|AuA=n%Cfqh{=Ks^Jfm4I3csO^B-0jQmT+Qm83cz$UJOmKFc zTPwqc0qMSII0jIw0QKym$EekSTEo_yr>y2>^4h}*oZ@p$svqyOt87=fg=y<+lS@KV zTZ>#0x*Ch?LnGo6d=gHftcFwJG&mj3fH@p?(>9}KK&=DRHWJGk^NSdUPf@x{;T$*@ zQ0oEp+~1Ic3*aJ(8W%1E)CMkG45*D9(9nJ@TfX*1lyIn=DWw3RG9)T}JI8x}Y5 z@;&V1;p^c?n%v9ZPtx4$=sy1-kAS0Fy*!R{=9{gEnxCt$<)_kpi_Yi=)E>4439GP0 zCeesckqpz;B<-N5s}&LPmyd?vvH#8WT&chq3}=P!VjU--ou9%DD{-p zl)4psKY+DF?+37cI0=y^orI7?bD3@Sm+KXN_})-g_usxpulx!NfwAMV)(xx1~DRaTnDJXF6#LDPsAV_7nLyq)Ej>z z24Ns}|4&jN`}l_y5PO7$I3SL&FS7XuVtxbE+kpBKQ1AUjj< z6=WBn-UQTJKM?c#55#;S!)M{!|2usC2QkQg#N#i-kg&V+6ET1C0dk1aU4eKbK8P>k zhxh~PT|m7Ls1E`437|e*1P=bw+m5u8iw-6A+)a8kqZ9uV1;>AuKloX`Lqlix-;4P# zcZVYpi%lN^>f=SAY}xDnHxm8@lfUZ6{)ES~|H1=F`pG*l{^lLd$}ZtGNk6IL#ZSCs zF1jcSQ2*c_v)@V$S|9J1OdSHU&`M0%*x)go~7t(lVqRsUT|< zAeB6#NEK(U%aNdd2M`aSzWX1vic}*te;M){puYdNAsZJBc@Akp&LhnTNsS)>^&_Bu z0@Tld`sMExi2U1*e@*${RwPS_#pR0p+j4(Z{$GtY_S0xz|KCRY*Nl;Qa?X_$a^{o@ z08vP*Ks;>9PcyE$vS`O5(oSr%pCoV{`E@re&r$D{;k@iww(JJQ`=3YZPpU_5BDXjy zz4BD#carN>dgV9~y~{O_JIF(dS~+qTxrf|G9sr06AP7Lq0JOXud4xPB0rV6=D*(i| zh#^RbbG~<@DDnsLVX@I0k`SWKiK`l|6|FpA3 z?EoYVAQ=v8K#=g=^RMcT=;nVc-fa;;et*0dC_X}&9A}_4qF*%85Qq)ePDQGI1hNhz#Che5kQ-MY@D}oh6h`bGPHt19v#a8w4RHe2G9mh%8;1* zS+r)+wABFG$VF=bWWrYd8O?s|;?YL5jU1VOJ=%oeXfxV^wt}T3tC*5u5kO`DVgShe zG}?|fp`GL}c>%~`Q4CrAcqea6IlRM)qC@B?xdldt7b{qjg{431{*XHkixbo60=ZPk zQNqzVgnzLu$+eI*8JfvL^b&e`u_0O820-@Y4Y_T04)pTz3iKi)^3MYYdL8|pqE>H}5#1#`zA5<)k`1ATvyg2mF7hBnt^J-XL4tPlhl&1aCXPw` zts+K}fXm-1VltTQzm`2FkExS8089Z>#FQ{)Oa)WLND#XM$PGX{0JIZ8y8uKI+nzJz zQBZ~=DnpS$o2VZ!JrZB!L5aK;P02&zcrRzu=!+dDlb3Yd7aTGw_015+;&z~m{Y#&$} zwl%=R$A9nsKfQ%{V23DZId%X$hpu(Qjs?lK*8`b0FeL>;RH{L8JxmSl0D`iD3-d7<+RPyE6~GCg94z?pZ(@z z1!OV9-^V|o6w9Z0|12%Sia9SP#mLc0FfQlWq^`}PIm%_XSZU99AC>lU9 z0Ez`r9Dw2hlmMVa03}sXRIom*9~&S)2eBdYedGs~B?IULfKL9nPXSQskDIhbTnH^j zn}7iS086jM12u^S&Z_BFLR*VW;uz>^M@0OH7}!PXbP3@3^Wn<>e7N=lvp;Ly_@9DX zKOg>@%^hrUD}dd_?qT<_2LQ?d5C=e+0Lm)I9+8SZ!JYyr`-fsVU}r)2I7u1h*nNBz_5kPo zp+W(v1%L|6aej&l4ll-mq92NsaI9u+*9zi7|MV*ipyGe}6~o2Je(7dXxB|)dxHK+< z%i?rg4wnZ|DS*lVM8=H@0G$TVnbTz7N@NN}1y@BD^FRQqBzJ6!pLOK+m?Jn>CaaGd zlT3;m;D$IEo2meG7C_Zy_&SOVz5zfaWdNv_b7L-&$DFfc-q79_C*%7W+zw~r_Bac7 zz#Z{T0BQhGBY@5Uh$Q3l0BQzM%Ng8>9M+j6Ar;&OCxd6}k8#@<-xn3=08l6A_WUo( z`*4qcrb-e_+dotF!Vmp4_YYU&zMOjt()>rrjRYQmla$c~pl*)9MV(E-cqmD&KeuN% z$s%N~=4XpY3ON-5XX5}seE_-upy9u{4v)d(|FxAU#S?H6(ER`!;N)GD6HUR>|0B=9 zN%#x`Xoz$DqLgS3p8p?t0bU585de*H)?AW5p*$O>pcl+4F4UywcR- zOkKh`v(+?ZHQ(JZ?e7!J&touI!g8|n2=Ul&8nDmPi_BBZ;q`a}N9yt#;^yjmt6#7F z#0&BA@*=z#uK=$IuNbccuN1EV?`~cn-e}%f-gw?b-elgBys5nDS?#^PS-v;QN*D55712Jp3>} z%8&C4@(b~c@Qd-UhWjrlk5oANXGefbmloA~e3XfzwzQ5u^TPfMgF z(@xSdY1y|@mkT!V7I-I_%kqT%$S)CM$S)BR;3P8lFNsJa zvSil3j7;43BNvb%WCR&QCdkD744JyWP44CIBM*_s2=SE6-@hbt_is>nG8Z3=W|FD& zZS1-=^R!)atb zTb)F`1)0CLApvcVZzWULfn>5e7zcP935FyxU7bs&sY~&4{4`#R*AsXn-h?;f?RXD9 ziqGM{;ScaP_-Fhp{#}4aV1>Xc0bT)q0a!p(fG(geU?5;3U?IQ~*eT#Ha6}+fAXlJN zpkLsszzcy7g3AT@1w{qL1jPj<1XTo81=R#K1lJ3i37QL93fc+U3pxmH5=;>66`T~j zBzQ&es^E3O8-n)*iHCxZ1)mB&7ks%!WsUcm+%>#FnwM){uX(@b`6NGDon+f3#;V$7G;XdIh z;Y-553EvUEC;UM8k?D>lOoe1S46If{3`OB=n~P@qNpe? zDkv%>Dk7>PYAk9g>L5yN6?GAH72P4aOVmp=P&86BSu{;FLo`z~S2SO=P_$UIMzmG5 zU9?lQTeMfSUvyG*T69))Ui6~qWzk9tL3Th_L% z?OfZvwpW5Gfk@yIf)c_Kq7vc~DiVeg<`R|?))KZ7ObM36b_q9$of5kx_DbxN@Q?_V z$dag+XqOn4n30&5ATCN=mbfW#TjH+7eTl~se@MKO_#p8~a;>Diq?)9Lq?V+Pq@JXS zBvaB^a+josk;jkCLAyze>eRrAg&VX7P}x*#@RcUqUb<(EN3~38#TWO{=OWIL7Ub;tmLi(cgW$9m} zuSx$ZeNXy<^dspf($Az{$SBJklF5;|F7r_4nam5BS2FKpKFEBM`68<#>ngiX){k}?6mAd*;le}WZ%htp!3kF^kwuFbcBx6 z1?fWcb#x25EuBec(H-eK=^k`H`ce8Z`f+*)J%*l2FQ9YjW%LUAS$Yk67$n`Ye5(euI9K{yY5+{T}@R{Sp0}oUoj>+&a09a;AhFLyjruAh$`*Np6SSZn?d3 z`{d%~(&SFb<;vyD70MOMHOlqLO~_r8yDoP_?xx)Da(CpO%YBrm%Ja#K$Vg}NqkM;aw|uXBzx=rT zl>ChRocuL;;)eW9`QH^F1%3rgK|o=Rg0O;`g0X_Rf{lWmg1v%+f~$guLV&_ig+PTM zg=mFLg=~c!g*=4HpDg$oKp3Zn|+3SSj<6%Q)rD^@C2 zDV|lVQEXT2QS4J3P#jSlQ=CwoQoO8qRq?vw4aMh*uL#9AitiLZC>>LZREk$hR63!Q zrIe$TuT-dXR;f{`NvT<>RjEg*UujTjL}^TEUg@UNL#4M$@08vveNoDbFe|C|^=RR2)?}DkUlv zDrZ!xRO(cS29+k2W|aYzDV1531(nMxzo=YOxu^0_<%!C3l~*cnRNkqsR+UpVQMFNJ zsjAZe^-5~ z`cd_p8bxi1+H$p(YP@RvYNBd#YKm$qYU*m5YT9ZW)JzFAb2Te9TQz$%2etibgj%jz zsal2F8MP|4b85|Mt!nLR18PHRqiW-7&(+?meN*RAr>ZYkU#TvtuB5K3zCqnW-CEsF zou%%m?xub~{fK&~dc67x^%V6q^(^&M>Urt~>Q(CJ)mzm&)VtMt)%(>a)o0Y_)i0_4 zqJCZdhWcv_f=@$ULqkJbWAR%U6Agxjg@%=eqlS~lRt*=8aE(}vB#o0AX&MeU|HFyW>j&tE=_lwX>!;|a z>u2g`>lf>n>R0HW(Qni5(C^mo)4yP_(ZJfk*}&Ccr@(n8%pkSio4+Sligd*vi<}*xuODc$=}S@lNAC z#_q<1x3Q10pYd_yP~!+=wsE3ylJN=SGUEp0UgH7dA>&cw3FB$wIpd4QcZ}~FKQex5 z{KELP@mu2$#-G+LU$=7I>UI3<;@4%a%U+kWE`L3~UTVF}dir{W^_lCr>&wTK#_>Snsr)YCN3G{v;pw8wPP z^pfdsroWpKcTFFdJ~n-7`rd4b8K0Su8Qo0IOx{evvjjOvqG~Hvr@BKvktRfvjMXqvvIR2vstrwvzunO%zih!WA@VQ zmDy{vH)dZLD;X$5fFZ;XWvpe$Gn5#r3=M`hLzl6EU@#fZ3>StQV<+Pf!<*s5@MDBA z;uwjH6O2?w1|y46!YE^$W>hk&8Fh>XMmwX6(aY#(Twu&HE-`*#TxZ;3++o~jJY>9O zykop)d^BHXzTA9;`6}}@=91zu(-R8aKqvjLl)8@10^X50r@0vd_ ze{BB3{I&U8^Y<213&>)b#R>}n3qgxD7Qz;C7U~vS7P=M&7RDCl7FHIv7WNj77Mm^H zEDl*5wFt5Zu?VwBut>B>vN&OpYf)}-#^NktQESm)(PYtM(Qh$mF>EnrF=;Vv@z|2r z($;d9<#9{4Wwd3SWrAgvWu9fBWr<~lWu;}cWv%6iZrj?GBzLlYsxs{{UA**z&JgXY3W~(-SgY?j(Avsr1wYeOS!P#XywX&btYf{l`ms*Q$?mJQ41u+0gZ zahu<4-rG`am)b6~U15vaO4`zG6>ODlHEgwQ^=u7nH`{vI2H76B4Ym!njkis(O|(t6 z<=B?kR@v6r*4v)5ZMN;P?YAAY9kCs^owU7Td&l;xovfXz-8wr9J8L^TJ9|42Tb06~n(~IfD^k)Vzk1>OpVa!M-V8$@xnMur(%rqv4na#{)7BGvMrOXOu zC9|4Y$82PtXSOmsnBB}if_Z^C%p7A*GH00c%uCE)nAe%VF@I;?Wjn|-H!kA1)Wp#6ybxc!vriSg|Q-8 zfEB}vXC<<-SvjmcR-psMfzN^FfH>d|X%2-B#SUDDaz|-Lbw^D{ZAU%F631G{ddEh` z^P5CBDQr?AHmPh<-;}edV$+#TRhw!y3vQO#Oy4ZOS!wf`&F43_Y;N1!>7?Ui>cnue zaI$u)b?R{Ha_VvF-(tFjwZ(DE<}J=!CbwMOa(&BNRB_0!fbTfc4N*%rJlc3b?m#BC>BcwGo#7f}~+7fF{~m(wnl zE@xe8x65wV+^)S{ce}y%n(gh|JGXal?{igiHFjO^y3y6lwcfSMwa2y3^@3ZdTfAGM zTe4e<+f%oXZlB%0?x5@l+yQn(?}*)zu;bZ|PdmQs__mX0XT;8=ohNpt>`dSJb=Rt0 zyu0{!A-h6%#qUbomAos3*!5}m^4%+UuinkSJ92mO?vuMycW3OO?Gf9vc8}y9nLUMj z&hDw%Q@5vaFTPi5ugqThUWL6yd#m@>?ycW@&RxrWqr0g)!`;$-*nPqMlKU0+Yx`XH z9o*-&&wHQWzH9p)?0dBD$-d|N_w4uG@4x@Z{=oe=_CMbLbpP}HuRL~nc$0s?LHK(F z96%1NJs^2N`T+ev#es7N&L3zw(0)+vp!PxCgZc-J4wfBkIC$>h`Gc*VGM*ZqTAn(d z`ku|61D=DP!=7Va#$MK5wq8sx2d_b|Ij;q;OJ2VmvOMH;$obH=L#~I04=o(Jbm+>V zYu--Yd%WGf_j@1o{>}S|_cQMo-miVUe1Zs{V4qN*2%nF>%Y0Y(uJYyc_3{n!4fYN7 zjqv@$kK(t)kLtJF&(AN+FT#)Ti}L&CzuKSApXQJHC;Dgm=lJLO7akTrtaMoAu-akG z!;Ob~4)+}%I6QPj^T>uHCP&PUSRCm+GI?bB$n24YfOP>j0d@iQ0geIJ10DuE4tN^y z;wa&9G~j69(V(LtM;{)2d-VO$k4L`*h6Kh1CIlu0o(%kSZ27U3$5tQXKNfZ@;aJkK z6US1Iy*~Cmh$m=i(6XSTLF}NYpqQZepfAT)9$$T&?>Kxs=6L#X&hf0{IlR^ zJXkVVCRi?5Jy-G-b0OD4?u0xG z`4qY|bXn-iP~K2ls8FbA=-N=JP}xwqP}5M)(4f$w&@-V8q1~awp<|(wp);ZLq1Quy z3;jLxZYc2}^ik;R(9dBj!jLdLY)zO*n0T06m|~bpn0lC2m`>RGFv~EfupME$!`#C> z!aT!{gaw8j4+{;82qVH0!m`4O!m7j0hqZ=vgms7Yg^h(xhRuY{hg}N0681V=I9xv5 zA>1Y0J={M$I6N#oG8}}*gr5vg3+IGqhv$aphnExKb>W@igW)6LP2phG>f!|w2rikw2#~x zxi9i?BoPuB9!W$-MaD*^M5ae(MxKhyi!6w&h^&ijjU0@eikyvHh`bzmHS%`ky~u}= zPa>a3zKr}xEG2jeVM3aq6AFYfp+@KvM#Or;gkTUB1dG@~co9JaK|~R;L;{gaWD=){ zJfe^&AxepA;ylq!j1vpQW#TIFD?!{O9uiN8=fo@G4e^fn&R)qDWJ|E6*>tu7TbZrH z)@K{B*RxI7W^6mQ3)_S3$3DUiWFKdTvZL8?>_qknb}BoaoyR`IZe;hcN7&=+DfTRT zf&DA{Ci^z~9{VBtG5Zfd0lYvMNCP@h0LnlO=mR6L9+&`v0W1IuxBw5}2abS1a2$k! zXb=Yy!3mHG(m@_L4H`f<7zSft63l>ka2@;xeg}8K1MmpE2H&GrMhQkqL`g@{qZFc) zqjaM5ql}`~N0~&KMcGAdi`pCI7j--;G%6yB9TgpQA}Td1BPuH@Cn_(hEUG4|oroHU z8j2c?nuwZ?x)OCQ>PFP9s5?>jqMk>6h=!v1qmgJldQG%Qv`n;Iv|_YMw0g8=v{AHm zv{Uq+Xs>9WX#ePd=ws25(I7e|IzBon`b2bAba8Z5bW3z^^g#4b^l0=%^u_2a(buAH zMBj?O9sMNwP4w58RWVqMV2p5#SPUT%qY$GUqZXqXqZ6YSvoVGlvn^(SjBm{0n4>X4 zF(ENgF|jcTG08D0F=;WmF{Lr}F>NuOF+DN;F@rHvF|#oXF_&Ym#$1oN8}l;eYwWVv zm9f0Bv{*D&G^U93y&-q`)I2V)P#`o;#uhQx-)60sygVq#Cm zX2+Jq*2cEPw#RnG_QnpxPQ*^f&c$Agy%Kvh_IB*^*bi|~9Df`VhsUjn6N!_FlZ#V~ zQ;AcL(~L8UGmo>6bB)^x}D( z8;Ki_n~Ix_TZp?9_gmbBWe!O|SeY|75 zQ~cKW?eXsM9`T;>-tm6%hvP%yqvBKJbK>*ki{iQQ zgbxXy6TT%<5?3Y)CdwqLB&sKBCF&*`B$_6gCt4-iCfX-DBpymkPb^LxNt{i*ns`6) zMdItkw}~GTKPOR>mM5)B;!7gnBs57hNj6C{$tY=kl1UOH$uh|yX>*cul1q|X($1s< zN&ZQ}NwG;ON$E+MNvD$XlFE`!CsifYB-JN1CUqo@Bwb9pk#sBRPSX9PM@g@f-X?uW z`keGFnUcIRSuj~LSv6TN*)Vxs^2TJdWV>Wm@}}f1$=i~*C%Y&6Cx;}*5y`2^8Od46 zIm!9S<;iD~&nDL%B!54#V+l&F-Ll#?mB zDW_BFQ_iI{r?jPXrVOTxq>QH!Qz^44^C{O;9;Uob`JTEWb#*F#Dw2w)il<7Z%B0Gr zDyAx@>ZGnuwM=zN-I2OG)jicC)id=-YGCT|)X>z3R3bGYH9fT`^-Sv7)Y{aB)TY#~ z)ZWyA)S=YT)bZ4X)ElXfQ~yYPm-;dFOX~Nu6=|!}_|uRyJWVi7B26((n@BTBvq@v7 zIizh)b57fpwl{5m+QGC#X+CMk(m+~rT22}_tvu~a+S#<)w3f8?w63(?w1Kq2w5hZ! zX?N3}rM*o1Bkf(<$MhxXQ2L7W)#?1{aJq0hJzYJ0UAjfOb-GUgJ?Z<> z52SmhA4!i)PfpKFKb4-BUYJglq*tZaq}QjPOK(nZP47#eO23wVC;fiCWkn=)K8_GcW)2+fGdU}r>U z#AT#rWMpJzxXvpZu7|EE;Sjf1XaW&)DjC&amGoEBT&v=#b2a)lGvyy{x zBsq#46^=Sbi=)fgz%k{RbF4VF945z^vy0=+3FI8-gmNM{Y)&HQ1Sge~!O7yB;*@Zz zIOjOMoKemMXPPs|xyZS}xy8A|xzBmTdBSmLKX_L7*(=F38lQ@zYn0Y)iG&3SIE;BLnL}qGcMrLMaVdm+~rp&I)-pql_q0G_D zxy*~1S2C|<-pIU}`7rZ!=J%`>S*x@7vyd!2OFT<5OD0P$OEF71ODAi6mTi_(*4C`; zSv#_JXL)9MXZd9v$qLL0$|AB7va+&@vbb60S!c4&W;JECWVI7nU0JuuJzY@Tdt_VVmi*}T~T*;3ic*#_Ch*&DJ=v(2+Dvz@Y?v$titW_M(d zWY1?`%Kjz$diHPGzh^(qev$n;`)&4z?9bU>Pbr+*dMfr*^QpV1UY&Y#>iwxtr@o&0 zo`dCxOz%1Bau%lpi zfqQ{RfoFktfp0-*L3jZXSpW)J3N9236^s;&7kn?|E#xnR3$a4$Lg&J5h1&~v6s8vz z6_ym17FHBqD|}G+sPIYQ^CFodjUw$Ly&}V+bwwMBT#NP<9VqfD@-AW*af%9yN{UL0 z%8E`GRTZ@qjThZ0x>fY3=xx!b;$_9OVufP$V(a2v#oon!#Yc(*iQ?nMA;nq6MaA6W z^5WCQoy9%HeZ~F7gT*7o7mM!~KP-My{Ji*m@%NG?B~S@}iCBqDiBgGviBZY=5|a`} ziA4#kWK+qOlC34)C4MD`OOBKTmK-mMDTyyhDmht_R+3RtSJGP2QPN$~TXM1FO3Brd zYb7^IZk0SMc~SDZ$n@aOs)fW2X{Bu zo$JB%xMAEhE{B`N&F1EE3%FI>8g4!J9JiU<${pg4aW8Wpai4Nua9?xZ zazAiCbHA1Hlu}FAl!}y!l}eOKm(oiWN|j61N;OKgO4kvkR;7DNeM+NCb4qJVhf04d zeOxA2rdp;`wxP_fY;&1&nM;{lnR}T>nP-`InQvK1S!dbBvKwU&%bt`yFMCz?rtE#$ z$MR+6eC2RCRxVgBUM^WKQ!ZDoP`;_0D6cL*U*1{XTRvI7P=2}mYWc6_cgpXVKPrD( z{=EEs`N#6_6$EbuRv}m+Tp?B=Qz2KOSfNs(R-s>ERI#DLu3~eAbA?NVTZMatM}=pF zcZF|7P(?&V+?hvbo}T$wxvX+!C2u9I60H=d6sn|GDpV?0s#R)M>Qw4i8dmPAjIOM$ zyi$3q@=@ih%1@PFtCm&qRiRaKRSH#_RXSCARR&cSRn|n6T@|ZpQl~grXwN-Ui^;Gp&4OWd*jaN-o%~mZ`U8=fWb+_t%)uXf9 z&h9^Z;H>9a@3Zq~Z=U`A?47gst2bBgu0C9Sv^uCdq&mEssE(?Rtxl-UtuCl8t}d;v zs6JDDwz{UezM5#P?yJ6AL$5KdIb4%bQ&%%q^RVVs&6}F{H6Lr2)r!`xt(B^kt(C7; zs#UGksMW63t2L};)o!YFs&%e)sdcN}RlB!#f9=8AL$yA&p|vM#PuE_qeN-n@N3S!e zv#N8d+f#R}F1RkNF0u~P#ni>uCDom*ORMA5Rn}G4)zvi;bxn26b**(Bb=`G+bpv&S zb=T|O)P1k#tCy`;ueYf8tPihGtuLtO)|c0xsjsQ8uRm9RzJ8$oas7+>FAY2m)Q05^ zybZJlv;l8e+aS}R(V*X8)Udw6q`|7ewt?B;(6Ff?q9LoHwxOk=y`ih2r(vSuTEmTo zTMc&_?l(MYAf7h7X!zF1(@1Sx-ngofuMuv<8U-4q8`Tu=T@KNKi7F~@Z9XVYv*1xEonlUWSdNy7)_Q< zHcfU-_Dx%x+?sYZ?QPoEbhzngQ&3Y#Q+QKk)2XJxrn#nzMAMa~YfU$rZZpxi$aTXi&~3ji%yGvi)D*V3$w+c zWpj&ji%W}J%gz?!P|MMlpq7x9@D`#ap(VK`r6s*3vn9KwxTU70xn;a%s%5riq2+SR zFRiOuu~xBGiB{=WdaFXKQmcNeS*vxcT`Q|~Q|q2q_g3%Lq}J5dy4KFtp4R@>!Pc?X ziPm3QueaW4z18}#^=<2i)=#Zp+j!c@|FUeu+XUMr+N9g)M4NouhBmu4R@r7WwS4~%YS65e0SAW+~*L>Hdu3x&Yb^X!xuIoeB=dQ2a%eq%~^LF!hujw}Jw(LIK z9nxLgUEV$3OP6KXiZY{?^0Ov$Th|N47`3$FRq;$DwC)k8_Vp zk6X|Fo`XGJJw82tJ%@Wzda8S-dmi+>>3QGtspo4irFTiMV6Q~4Y_EK;Qm;y{Vef`s z(_Zsln_gzGL+_^E-Ms<5VZAZE>Al&#xxEFw+}`ruGrd(rZ&Pnq?^y3-?@aG}@5SEB zy^nj}_kQU8*!#I}Mc?W^{ywA+?-T4(>eKEs=riuy&}Y(T-?zEXxzD9C;QU+vifrR^7{(=>igRIhWbYPCi*wiT*1xi!x1Zqer}Yc<)BBbBRr@vib^8tajr-U4TlPEkAL#e$_v!cV59mMEAKV|- zAK4H3Gy6~V=k*u%m-LtQpYE^fuj#MvZ|uL=|7Kv#fbxLdz~O>=s4&!xOH&*pxfY% zL65=1gQ0`*gC_=42Qvmw4dx9N4i*od8|)n%9h?}P9-JGzICx|5*5IAN`-6`LpA5bo zS~A2p1P@_DfX0HLq~^#h9ZX8L(xNV zLkUA^LpekBLtR6?LjyxYL!(3ELsy2b4c!>JHFRg_-q7ozw?iL>J`a5xrVR59!^7CH z;IQzp=&-`D^03;l=CIDN-Y{d>a@b~=IqWdJX?WN0-r@bj2Z`ZB!#=|y!=b}r!x6(t z!@0u+!^Oj;!xh7o!_~ue!`;Ju!vn*E!^6X4!;`}^!*jzQMnpzTM)r?@k&2PFk^Yf^ zk-?FeVh0-g|`pid}FC{O52teY^Mu$?$SO!!VDP83a?nK(O9JJB-H zKG88TGBG|eH8DG}FmY+(_QaiuyA$^(S568}Do(0Qs!wW7>P{L=8c%MRG@Ue`+&1Yt zxpQ*Q&AIwDh$4 zwAQrlw86CT^!jPrX}f9WG;7*zde`*c>HX6Or@f|wrjJhtPlryYPZv#}nLayRJKZqd zG~G4bJ3TNxG(9>!KK*27`3yd@W=3R2d`5CcdPaRlV@8vh(VnrL**3F(=HSes8Q+=1 zGe>8FW};`}W)f$TXHsU;XEJB9XIf@vXCBW&v-qs~?7CUTtmUlDEOXXrcI&LmtlR9) z*<-U+vkSAo&fc88J$rBV&D`oap*i_Er8(6(jXCW(y*b0Vb#r!ethr5dTjsXSxz6pJ z+cW1r7cy5cM>Ne{oqIbkGOsbee%@rBF>g6z>% diff --git a/app/AppDelegate.m b/app/AppDelegate.m index ca67865..2c522cc 100755 --- a/app/AppDelegate.m +++ b/app/AppDelegate.m @@ -122,7 +122,7 @@ -(void)setDiscoverDatabaseContext:(NSManagedObjectContext *)DiscoverDatabaseCont { _DiscoverDatabaseContext = DiscoverDatabaseContext; - //setup notification to other view controller that the context is avaiable. + //setup notification to other view controller that the context is avaiable. NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; @@ -412,7 +412,11 @@ - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeri NSLog(@"Couldn't save %@", [error localizedDescription]); } + //setup notification to other view controller that the context is avaiable. + NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + NSLog(@"Post database notification!"); } } @@ -622,11 +626,13 @@ - (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral // ... so build our service. + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(btle_seq) name:PFUSER_READY object:nil]; + /* if ([PFUser currentUser] != nil) { [self btle_seq]; } else { return; - } + }*/ /* // Start with the CBMutableCharacteristic self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID] @@ -801,9 +807,6 @@ -(void)btle_switch_mode:(NSTimer *)switchtimer - (void)btle_seq { PFUser *user = [PFUser currentUser]; - while (!user.username) { - - } [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] , CBAdvertisementDataLocalNameKey : user.username }]; NSLog(@"send out advertisment data, user name is %@", user.username); diff --git a/app/DatabaseAvailability.h b/app/DatabaseAvailability.h index c62b008..27f6679 100644 --- a/app/DatabaseAvailability.h +++ b/app/DatabaseAvailability.h @@ -11,6 +11,6 @@ #define DatabaseAvailabilityNotification @"DatabaseAvailabilityNotification" #define DatabaseAvailabilityContext @"Context" - +#define PFUSER_READY @"PFUSER_READY" #endif From 5543ae2ef6e587b9115c617ec8ed72e7e6c4b0ff Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Fri, 8 May 2015 23:32:24 -0700 Subject: [PATCH 04/33] fix logout & table view fix logout issue and table view display --- Classes/Tabs/01_Groups/GroupsView.m | 2 ++ Classes/Tabs/02_Messages/MessagesView.m | 2 ++ Classes/Tabs/03_Profile/ProfileView.m | 5 ++- Classes/Tabs/DiscoversView.m | 34 ++++++++++++------ Classes/User/LoginView.m | 1 - Classes/User/RegisterView.m | 1 - .../UserInterfaceState.xcuserstate | Bin 65495 -> 65186 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 ++-- app/AppDelegate.m | 20 +++++++++-- app/DatabaseAvailability.h | 2 ++ 10 files changed, 55 insertions(+), 18 deletions(-) diff --git a/Classes/Tabs/01_Groups/GroupsView.m b/Classes/Tabs/01_Groups/GroupsView.m index 20ba9a5..4b97539 100755 --- a/Classes/Tabs/01_Groups/GroupsView.m +++ b/Classes/Tabs/01_Groups/GroupsView.m @@ -18,6 +18,7 @@ #import "GroupsView.h" #import "ChatView.h" +#import "DatabaseAvailability.h" //------------------------------------------------------------------------------------------------------------------------------------------------- @interface GroupsView() @@ -65,6 +66,7 @@ - (void)viewDidAppear:(BOOL)animated //--------------------------------------------------------------------------------------------------------------------------------------------- if ([PFUser currentUser] != nil) { + [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_READY object:nil]; [self loadGroups]; } else LoginUser(self); diff --git a/Classes/Tabs/02_Messages/MessagesView.m b/Classes/Tabs/02_Messages/MessagesView.m index 8f6d343..3c6fa94 100755 --- a/Classes/Tabs/02_Messages/MessagesView.m +++ b/Classes/Tabs/02_Messages/MessagesView.m @@ -24,6 +24,7 @@ #import "AddressBookView.h" #import "FacebookFriendsView.h" #import "NavigationController.h" +#import "DatabaseAvailability.h" //------------------------------------------------------------------------------------------------------------------------------------------------- @interface MessagesView() @@ -86,6 +87,7 @@ - (void)viewDidAppear:(BOOL)animated //--------------------------------------------------------------------------------------------------------------------------------------------- if ([PFUser currentUser] != nil) { + [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_READY object:nil]; [self loadMessages]; } else LoginUser(self); diff --git a/Classes/Tabs/03_Profile/ProfileView.m b/Classes/Tabs/03_Profile/ProfileView.m index e05ebbc..5b84e88 100755 --- a/Classes/Tabs/03_Profile/ProfileView.m +++ b/Classes/Tabs/03_Profile/ProfileView.m @@ -20,7 +20,7 @@ #import "utilities.h" #import "ProfileView.h" - +#import "DatabaseAvailability.h" //------------------------------------------------------------------------------------------------------------------------------------------------- @interface ProfileView() @@ -80,6 +80,7 @@ - (void)viewDidAppear:(BOOL)animated //--------------------------------------------------------------------------------------------------------------------------------------------- if ([PFUser currentUser] != nil) { + [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_READY object:nil]; [self loadUser]; } else LoginUser(self); @@ -159,6 +160,8 @@ - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger ParsePushUserResign(); PostNotification(NOTIFICATION_USER_LOGGED_OUT); [self actionCleanup]; + [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_LOGOUT object:nil]; + [self dismissViewControllerAnimated:YES completion:nil]; LoginUser(self); } } diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index bf51fcd..cc350b5 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -40,7 +40,7 @@ @interface DiscoversView() @implementation DiscoversView - +/* - (void)awakeFromNib { NSLog(@"load into the discover awakeFromNib"); @@ -52,7 +52,7 @@ - (void)awakeFromNib self.managedObjectContext = note.userInfo[DatabaseAvailabilityContext]; }]; } - +*/ //------------------------------------------------------------------------------------------------------------------------------------------------- - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -73,12 +73,12 @@ - (void)setManagedObjectContext:(NSManagedObjectContext *)managedObjectContext NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; request.predicate = nil; - request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"userName" - ascending:YES + request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"timeMeet" + ascending:NO selector:@selector(localizedStandardCompare:)]]; - NSLog(@"Discover set managed object context"); + //NSLog(@"Discover set managed object context %@", managedObjectContext); self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request @@ -106,14 +106,18 @@ - (void)viewDidLoad //--------------------------------------------------------------------------------------------------------------------------------------------- NSLog(@"into Discover view did load"); geocoder = [[CLGeocoder alloc] init]; + + [[NSNotificationCenter defaultCenter] addObserverForName:DatabaseAvailabilityNotification object:nil queue:nil usingBlock:^(NSNotification *note) { NSLog(@"Get database notification"); self.managedObjectContext = note.userInfo[DatabaseAvailabilityContext]; - }]; - + }]; + //setup observer before ask the appdelegate to post + [[NSNotificationCenter defaultCenter] postNotificationName:DiscoverViewReady object:nil]; + } //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -124,6 +128,7 @@ - (void)viewDidAppear:(BOOL)animated //--------------------------------------------------------------------------------------------------------------------------------------------- if ([PFUser currentUser] != nil) { + [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_READY object:nil]; [self loadDiscovers]; } else LoginUser(self); @@ -143,7 +148,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N NSLog(@"update table view"); DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; cell.textLabel.text = discoverUser.userName; - + /* //find the actual full name PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; [query whereKey:PF_USER_USERNAME equalTo:discoverUser.userName]; @@ -157,8 +162,17 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N cell.textLabel.text = user.username; } }]; - + */ + + NSDateFormatter *df = [NSDateFormatter new]; + [df setDateFormat:@"dd/MM/yyyy HH:mm"]; + //df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; + df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:[NSTimeZone localTimeZone].secondsFromGMT]; + NSString *localDateString = [df stringFromDate:discoverUser.timeMeet]; + + cell.detailTextLabel.text = localDateString; + /* CLLocationDegrees longitude = [discoverUser.longitude doubleValue]; CLLocationDegrees latitude = [discoverUser.latitude doubleValue]; CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude]; @@ -186,7 +200,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N //CountryArea = NULL; } }]; - + */ //PFUser *user = DiscoverItems[indexPath.row]; //cell.textLabel.text = user[PF_USER_FULLNAME]; diff --git a/Classes/User/LoginView.m b/Classes/User/LoginView.m index 05a25c4..03f30fb 100755 --- a/Classes/User/LoginView.m +++ b/Classes/User/LoginView.m @@ -81,7 +81,6 @@ - (IBAction)actionLogin:(id)sender { ParsePushUserAssign(); [ProgressHUD showSuccess:[NSString stringWithFormat:@"Welcome back %@!", user[PF_USER_FULLNAME]]]; - [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_READY object:nil]; [self dismissViewControllerAnimated:YES completion:nil]; } else [ProgressHUD showError:error.userInfo[@"error"]]; diff --git a/Classes/User/RegisterView.m b/Classes/User/RegisterView.m index 56fee5b..d084765 100755 --- a/Classes/User/RegisterView.m +++ b/Classes/User/RegisterView.m @@ -92,7 +92,6 @@ - (IBAction)actionRegister:(id)sender { ParsePushUserAssign(); [ProgressHUD showSuccess:@"Succeed."]; - [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_READY object:nil]; [self dismissViewControllerAnimated:YES completion:nil]; } else [ProgressHUD showError:error.userInfo[@"error"]]; diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 112e4e9f03a319e53a9dd435faf720e225d37338..712ccd8e0d95b767e63f02231636303e92e7481c 100644 GIT binary patch delta 22651 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 diff --git a/app.xcodeproj/xcuserdata/kiddjacky.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/app.xcodeproj/xcuserdata/kiddjacky.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index a95417f..fecf64b 100644 --- a/app.xcodeproj/xcuserdata/kiddjacky.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/app.xcodeproj/xcuserdata/kiddjacky.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -10,11 +10,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Classes/Tabs/01_Groups/GroupsView.m" - timestampString = "449213571.011079" + timestampString = "452842236.458952" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "153" - endingLineNumber = "153" + startingLineNumber = "155" + endingLineNumber = "155" landmarkName = "-tableView:cellForRowAtIndexPath:" landmarkType = "5"> diff --git a/app/AppDelegate.m b/app/AppDelegate.m index 2c522cc..a98f828 100755 --- a/app/AppDelegate.m +++ b/app/AppDelegate.m @@ -113,6 +113,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( [self CurrentLocationIdentifier]; // call this method + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(post_context) name:DiscoverViewReady object:nil]; return YES; } @@ -417,6 +418,7 @@ - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeri [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; NSLog(@"Post database notification!"); + } } @@ -627,6 +629,8 @@ - (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral // ... so build our service. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(btle_seq) name:PFUSER_READY object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(stop_ad) name:PFUSER_LOGOUT object:nil]; /* if ([PFUser currentUser] != nil) { [self btle_seq]; @@ -811,11 +815,23 @@ - (void)btle_seq NSLog(@"send out advertisment data, user name is %@", user.username); //self.switchTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(btle_switch_mode:) userInfo:nil repeats:YES]; - - } +-(void)stop_ad +{ + [self.peripheralManager stopAdvertising]; + NSLog(@"stop advertising"); +} +-(void)post_context +{ + //setup notification to other view controller that the context is avaiable. + NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + + NSLog(@"Post database notification in observer!"); + +} @end diff --git a/app/DatabaseAvailability.h b/app/DatabaseAvailability.h index 27f6679..bcd94ac 100644 --- a/app/DatabaseAvailability.h +++ b/app/DatabaseAvailability.h @@ -11,6 +11,8 @@ #define DatabaseAvailabilityNotification @"DatabaseAvailabilityNotification" #define DatabaseAvailabilityContext @"Context" +#define DiscoverViewReady @"DiscoverViewReady" #define PFUSER_READY @"PFUSER_READY" +#define PFUSER_LOGOUT @"PFUSER_LOGOUT" #endif From b78f6f1aed88d5b7f9a79d1bda2c80a1164efa74 Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Sun, 10 May 2015 12:32:24 -0700 Subject: [PATCH 05/33] detail view autolayout --- Classes/Tabs/BTLEPeripheralViewController.h | 59 -- Classes/Tabs/BTLEPeripheralViewController.m | 601 ------------------ Classes/Tabs/DiscoversView.m | 52 +- Classes/Tabs/detailsView.h | 4 +- Classes/Tabs/detailsView.m | 170 ++++- app.xcodeproj/project.pbxproj | 6 - .../UserInterfaceState.xcuserstate | Bin 65186 -> 66447 bytes 7 files changed, 190 insertions(+), 702 deletions(-) delete mode 100755 Classes/Tabs/BTLEPeripheralViewController.h delete mode 100755 Classes/Tabs/BTLEPeripheralViewController.m diff --git a/Classes/Tabs/BTLEPeripheralViewController.h b/Classes/Tabs/BTLEPeripheralViewController.h deleted file mode 100755 index 694681e..0000000 --- a/Classes/Tabs/BTLEPeripheralViewController.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - - File: LEPeripheralViewController.h - - Abstract: Interface to allow the user to enter data that will be - transferred to a version of the app in Central Mode, when it is brought - close enough. - - Version: 1.0 - - Disclaimer: IMPORTANT: This Apple software is supplied to you by - Apple Inc. ("Apple") in consideration of your agreement to the - following terms, and your use, installation, modification or - redistribution of this Apple software constitutes acceptance of these - terms. If you do not agree with these terms, please do not use, - install, modify or redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and - subject to these terms, Apple grants you a personal, non-exclusive - license, under Apple's copyrights in this original Apple software (the - "Apple Software"), to use, reproduce, modify and redistribute the Apple - Software, with or without modifications, in source and/or binary forms; - provided that if you redistribute the Apple Software in its entirety and - without modifications, you must retain this notice and the following - text and disclaimers in all such redistributions of the Apple Software. - Neither the name, trademarks, service marks or logos of Apple Inc. - may be used to endorse or promote products derived from the Apple - Software without specific prior written permission from Apple. Except - as expressly stated in this notice, no other rights or licenses, express - or implied, are granted by Apple herein, including but not limited to - any patent rights that may be infringed by your derivative works or by - other works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE - MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION - THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND - OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, - MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED - AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), - STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - Copyright (C) 2012 Apple Inc. All Rights Reserved. - - */ - - - -#import - -@interface BTLEPeripheralViewController : UIViewController - -@end diff --git a/Classes/Tabs/BTLEPeripheralViewController.m b/Classes/Tabs/BTLEPeripheralViewController.m deleted file mode 100755 index 8cc76a3..0000000 --- a/Classes/Tabs/BTLEPeripheralViewController.m +++ /dev/null @@ -1,601 +0,0 @@ -/* - - File: LEPeripheralViewController.m - - Abstract: Interface to allow the user to enter data that will be - transferred to a version of the app in Central Mode, when it is brought - close enough. - - Version: 1.0 - - Disclaimer: IMPORTANT: This Apple software is supplied to you by - Apple Inc. ("Apple") in consideration of your agreement to the - following terms, and your use, installation, modification or - redistribution of this Apple software constitutes acceptance of these - terms. If you do not agree with these terms, please do not use, - install, modify or redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and - subject to these terms, Apple grants you a personal, non-exclusive - license, under Apple's copyrights in this original Apple software (the - "Apple Software"), to use, reproduce, modify and redistribute the Apple - Software, with or without modifications, in source and/or binary forms; - provided that if you redistribute the Apple Software in its entirety and - without modifications, you must retain this notice and the following - text and disclaimers in all such redistributions of the Apple Software. - Neither the name, trademarks, service marks or logos of Apple Inc. - may be used to endorse or promote products derived from the Apple - Software without specific prior written permission from Apple. Except - as expressly stated in this notice, no other rights or licenses, express - or implied, are granted by Apple herein, including but not limited to - any patent rights that may be infringed by your derivative works or by - other works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE - MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION - THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND - OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, - MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED - AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), - STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - Copyright (C) 2012 Apple Inc. All Rights Reserved. - - */ - -#import "BTLEPeripheralViewController.h" -#import -#import "TransferService.h" - - -@interface BTLEPeripheralViewController () -@property (strong, nonatomic) IBOutlet UITextView *textView; -@property (strong, nonatomic) IBOutlet UISwitch *advertisingSwitch; -@property (strong, nonatomic) CBPeripheralManager *peripheralManager; -@property (strong, nonatomic) CBMutableCharacteristic *transferCharacteristic; -@property (strong, nonatomic) NSData *dataToSend; -@property (nonatomic, readwrite) NSInteger sendDataIndex; -////////////Central Manager -@property (strong, nonatomic) CBCentralManager *centralManager; -@property (strong, nonatomic) CBPeripheral *discoveredPeripheral; -@property (strong, nonatomic) NSMutableData *data; -@property (strong, nonatomic) IBOutlet UITextView *central_textview; - -@property (retain) NSTimer *switchTimer; - -@end - -#define NOTIFY_MTU 20 - -@implementation BTLEPeripheralViewController - -#pragma mark - View Lifecycle - - - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - // Start up the CBPeripheralManager - _peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil]; - - - // Start up the CBCentralManager - _centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; - - // And somewhere to store the incoming data - _data = [[NSMutableData alloc] init]; -} - - -- (void)viewWillDisappear:(BOOL)animated -{ - // Don't keep it going while we're not showing. - [self.peripheralManager stopAdvertising]; - - [super viewWillDisappear:animated]; -} - - -#pragma mark - Central Methods - - - -/** centralManagerDidUpdateState is a required protocol method. - * Usually, you'd check for other states to make sure the current device supports LE, is powered on, etc. - * In this instance, we're just using it to wait for CBCentralManagerStatePoweredOn, which indicates - * the Central is ready to be used. - */ -- (void)centralManagerDidUpdateState:(CBCentralManager *)central -{ - if (central.state != CBCentralManagerStatePoweredOn) { - // In a real app, you'd deal with all the states correctly - return; - } - - // The state must be CBCentralManagerStatePoweredOn... - - // ... so start scanning - [self scan]; - -} - - -/** Scan for peripherals - specifically for our service's 128bit CBUUID - */ -- (void)scan -{ - [self.centralManager scanForPeripheralsWithServices:@[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] - options:@{ CBCentralManagerScanOptionAllowDuplicatesKey : @YES }]; - - NSLog(@"Scanning started"); -} - - -/** This callback comes whenever a peripheral that is advertising the TRANSFER_SERVICE_UUID is discovered. - * We check the RSSI, to make sure it's close enough that we're interested in it, and if it is, - * we start the connection process - */ -- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI -{ - // Reject any where the value is above reasonable range - if (RSSI.integerValue > -15) { - return; - } - - // Reject if the signal strength is too low to be close enough (Close is around -22dB) - if (RSSI.integerValue < -35) { - return; - } - - NSLog(@"Discovered %@ at %@", peripheral.name, RSSI); - - // Ok, it's in range - have we already seen it? - if (self.discoveredPeripheral != peripheral) { - - // Save a local copy of the peripheral, so CoreBluetooth doesn't get rid of it - self.discoveredPeripheral = peripheral; - - // And connect - NSLog(@"Connecting to peripheral %@", peripheral); - [self.centralManager connectPeripheral:peripheral options:nil]; - } -} - - -/** If the connection fails for whatever reason, we need to deal with it. - */ -- (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error -{ - NSLog(@"Failed to connect to %@. (%@)", peripheral, [error localizedDescription]); - [self cleanup]; -} - - -/** We've connected to the peripheral, now we need to discover the services and characteristics to find the 'transfer' characteristic. - */ -- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral -{ - NSLog(@"Peripheral Connected"); - - // Stop scanning - [self.centralManager stopScan]; - NSLog(@"Scanning stopped"); - - // Clear the data that we may already have - [self.data setLength:0]; - - // Make sure we get the discovery callbacks - peripheral.delegate = self; - - // Search only for services that match our UUID - [peripheral discoverServices:@[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]]]; -} - - -/** The Transfer Service was discovered - */ -- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error -{ - if (error) { - NSLog(@"Error discovering services: %@", [error localizedDescription]); - [self cleanup]; - return; - } - - // Discover the characteristic we want... - - // Loop through the newly filled peripheral.services array, just in case there's more than one. - for (CBService *service in peripheral.services) { - [peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]] forService:service]; - } -} - - -/** The Transfer characteristic was discovered. - * Once this has been found, we want to subscribe to it, which lets the peripheral know we want the data it contains - */ -- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error -{ - // Deal with errors (if any) - if (error) { - NSLog(@"Error discovering characteristics: %@", [error localizedDescription]); - [self cleanup]; - return; - } - - // Again, we loop through the array, just in case. - for (CBCharacteristic *characteristic in service.characteristics) { - - // And check if it's the right one - if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { - - // If it is, subscribe to it - [peripheral setNotifyValue:YES forCharacteristic:characteristic]; - } - } - - // Once this is complete, we just need to wait for the data to come in. -} - - -/** This callback lets us know more data has arrived via notification on the characteristic - */ -- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error -{ - if (error) { - NSLog(@"Error discovering characteristics: %@", [error localizedDescription]); - return; - } - - NSString *stringFromData = [[NSString alloc] initWithData:characteristic.value encoding:NSUTF8StringEncoding]; - - // Have we got everything we need? - if ([stringFromData isEqualToString:@"EOM"]) { - - // We have, so show the data, - [self.central_textview setText:[[NSString alloc] initWithData:self.data encoding:NSUTF8StringEncoding]]; - - // Cancel our subscription to the characteristic - [peripheral setNotifyValue:NO forCharacteristic:characteristic]; - - // and disconnect from the peripehral - [self.centralManager cancelPeripheralConnection:peripheral]; - } - - // Otherwise, just add the data on to what we already have - [self.data appendData:characteristic.value]; - - // Log it - NSLog(@"Received: %@", stringFromData); -} - - -/** The peripheral letting us know whether our subscribe/unsubscribe happened or not - */ -- (void)peripheral:(CBPeripheral *)peripheral didUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error -{ - if (error) { - NSLog(@"Error changing notification state: %@", error.localizedDescription); - } - - // Exit if it's not the transfer characteristic - if (![characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { - return; - } - - // Notification has started - if (characteristic.isNotifying) { - NSLog(@"Notification began on %@", characteristic); - } - - // Notification has stopped - else { - // so disconnect from the peripheral - NSLog(@"Notification stopped on %@. Disconnecting", characteristic); - [self.centralManager cancelPeripheralConnection:peripheral]; - } -} - - -/** Once the disconnection happens, we need to clean up our local copy of the peripheral - */ -- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error -{ - NSLog(@"Peripheral Disconnected"); - self.discoveredPeripheral = nil; - - // We're disconnected, so start scanning again - [self scan]; -} - - -/** Call this when things either go wrong, or you're done with the connection. - * This cancels any subscriptions if there are any, or straight disconnects if not. - * (didUpdateNotificationStateForCharacteristic will cancel the connection if a subscription is involved) - */ -- (void)cleanup -{ - // Don't do anything if we're not connected - if (!self.discoveredPeripheral.isConnected) { - return; - } - - // See if we are subscribed to a characteristic on the peripheral - if (self.discoveredPeripheral.services != nil) { - for (CBService *service in self.discoveredPeripheral.services) { - if (service.characteristics != nil) { - for (CBCharacteristic *characteristic in service.characteristics) { - if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { - if (characteristic.isNotifying) { - // It is notifying, so unsubscribe - [self.discoveredPeripheral setNotifyValue:NO forCharacteristic:characteristic]; - - // And we're done. - return; - } - } - } - } - } - } - - // If we've got this far, we're connected, but we're not subscribed, so we just disconnect - [self.centralManager cancelPeripheralConnection:self.discoveredPeripheral]; -} - - - - -#pragma mark - Peripheral Methods - - - -/** Required protocol method. A full app should take care of all the possible states, - * but we're just waiting for to know when the CBPeripheralManager is ready - */ -- (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral -{ - // Opt out from any other state - if (peripheral.state != CBPeripheralManagerStatePoweredOn) { - return; - } - - // We're in CBPeripheralManagerStatePoweredOn state... - NSLog(@"self.peripheralManager powered on."); - - // ... so build our service. - - // Start with the CBMutableCharacteristic - self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID] - properties:CBCharacteristicPropertyNotify - value:nil - permissions:CBAttributePermissionsReadable]; - - // Then the service - CBMutableService *transferService = [[CBMutableService alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID] - primary:YES]; - - // Add the characteristic to the service - transferService.characteristics = @[self.transferCharacteristic]; - - // And add it to the peripheral manager - [self.peripheralManager addService:transferService]; -} - - -/** Catch when someone subscribes to our characteristic, then start sending them data - */ -- (void)peripheralManager:(CBPeripheralManager *)peripheral central:(CBCentral *)central didSubscribeToCharacteristic:(CBCharacteristic *)characteristic -{ - NSLog(@"Central subscribed to characteristic"); - - // Get the data - self.dataToSend = [self.textView.text dataUsingEncoding:NSUTF8StringEncoding]; - - // Reset the index - self.sendDataIndex = 0; - - // Start sending - [self sendData]; -} - - -/** Recognise when the central unsubscribes - */ -- (void)peripheralManager:(CBPeripheralManager *)peripheral central:(CBCentral *)central didUnsubscribeFromCharacteristic:(CBCharacteristic *)characteristic -{ - NSLog(@"Central unsubscribed from characteristic"); -} - - -/** Sends the next amount of data to the connected central - */ -- (void)sendData -{ - // First up, check if we're meant to be sending an EOM - static BOOL sendingEOM = NO; - - if (sendingEOM) { - - // send it - BOOL didSend = [self.peripheralManager updateValue:[@"EOM" dataUsingEncoding:NSUTF8StringEncoding] forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; - - // Did it send? - if (didSend) { - - // It did, so mark it as sent - sendingEOM = NO; - - NSLog(@"Sent: EOM"); - } - - // It didn't send, so we'll exit and wait for peripheralManagerIsReadyToUpdateSubscribers to call sendData again - return; - } - - // We're not sending an EOM, so we're sending data - - // Is there any left to send? - - if (self.sendDataIndex >= self.dataToSend.length) { - - // No data left. Do nothing - return; - } - - // There's data left, so send until the callback fails, or we're done. - - BOOL didSend = YES; - - while (didSend) { - - // Make the next chunk - - // Work out how big it should be - NSInteger amountToSend = self.dataToSend.length - self.sendDataIndex; - - // Can't be longer than 20 bytes - if (amountToSend > NOTIFY_MTU) amountToSend = NOTIFY_MTU; - - // Copy out the data we want - NSData *chunk = [NSData dataWithBytes:self.dataToSend.bytes+self.sendDataIndex length:amountToSend]; - - // Send it - didSend = [self.peripheralManager updateValue:chunk forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; - - // If it didn't work, drop out and wait for the callback - if (!didSend) { - return; - } - - NSString *stringFromData = [[NSString alloc] initWithData:chunk encoding:NSUTF8StringEncoding]; - NSLog(@"Sent: %@", stringFromData); - - // It did send, so update our index - self.sendDataIndex += amountToSend; - - // Was it the last one? - if (self.sendDataIndex >= self.dataToSend.length) { - - // It was - send an EOM - - // Set this so if the send fails, we'll send it next time - sendingEOM = YES; - - // Send it - BOOL eomSent = [self.peripheralManager updateValue:[@"EOM" dataUsingEncoding:NSUTF8StringEncoding] forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; - - if (eomSent) { - // It sent, we're all done - sendingEOM = NO; - - NSLog(@"Sent: EOM"); - } - - return; - } - } -} - - -/** This callback comes in when the PeripheralManager is ready to send the next chunk of data. - * This is to ensure that packets will arrive in the order they are sent - */ -- (void)peripheralManagerIsReadyToUpdateSubscribers:(CBPeripheralManager *)peripheral -{ - // Start sending again - [self sendData]; -} - - - -#pragma mark - TextView Methods - - - -/** This is called when a change happens, so we know to stop advertising - */ -- (void)textViewDidChange:(UITextView *)textView -{ - // If we're already advertising, stop - if (self.advertisingSwitch.on) { - [self.advertisingSwitch setOn:NO]; - [self.peripheralManager stopAdvertising]; - } -} - - -/** Adds the 'Done' button to the title bar - */ -- (void)textViewDidBeginEditing:(UITextView *)textView -{ - // We need to add this manually so we have a way to dismiss the keyboard - UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonSystemItemDone target:self action:@selector(dismissKeyboard)]; - self.navigationItem.rightBarButtonItem = rightButton; -} - - -/** Finishes the editing */ -- (void)dismissKeyboard -{ - [self.textView resignFirstResponder]; - self.navigationItem.rightBarButtonItem = nil; -} - - - -#pragma mark - Switch Methods - - - -/** Start advertising - */ -- (IBAction)switchChanged:(id)sender -{ - if (self.advertisingSwitch.on) { - // All we advertise is our service's UUID - [self btle_seq]; - // [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] }]; - } - - else { - [self.peripheralManager stopAdvertising]; - } -} - --(void)btle_switch_mode:(NSTimer *)switchtimer -{ -// NSLog(@"Timer is fired off"); - -// if (self.peripheralManager.state == CBPeripheralManagerStatePoweredOn) { -// [self.peripheralManager stopAdvertising]; -// return; -// } - -} - -- (void)btle_seq -{ - [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] }]; - - - self.switchTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(btle_switch_mode:) userInfo:nil repeats:YES]; - - - -} - - - - - -@end diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index cc350b5..27fe5c7 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -26,12 +26,6 @@ //------------------------------------------------------------------------------------------------------------------------------------------------- @interface DiscoversView() { - NSMutableArray *DiscoverItems; - NSMutableArray *discoverLocation; - NSMutableArray *discoverTime; - //CLLocationManager *locationManager; - CLLocation *currentLocation; - NSDate *eventDate; CLGeocoder *geocoder; CLPlacemark *placemark; } @@ -148,7 +142,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N NSLog(@"update table view"); DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; cell.textLabel.text = discoverUser.userName; - /* + //find the actual full name PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; [query whereKey:PF_USER_USERNAME equalTo:discoverUser.userName]; @@ -158,11 +152,11 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N { PFUser *user = [objects firstObject]; - NSLog(@"found user %@", user.username); - cell.textLabel.text = user.username; + NSLog(@"found user %@", user[PF_USER_FULLNAME]); + cell.textLabel.text = user[PF_USER_FULLNAME]; } }]; - */ + NSDateFormatter *df = [NSDateFormatter new]; [df setDateFormat:@"dd/MM/yyyy HH:mm"]; @@ -172,6 +166,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N NSString *localDateString = [df stringFromDate:discoverUser.timeMeet]; cell.detailTextLabel.text = localDateString; + NSLog(@"discover user at latitude %@, longitude %@", discoverUser.latitude, discoverUser.longitude); /* CLLocationDegrees longitude = [discoverUser.longitude doubleValue]; CLLocationDegrees latitude = [discoverUser.latitude doubleValue]; @@ -190,7 +185,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N NSString *CountryArea = [NSString stringWithFormat:@"%@, %@", Area,Country]; NSLog(@"%@",CountryArea); //cell.detailTextLabel.text = Area; - cell.detailTextLabel.text = [NSString stringWithFormat:@"%@, %@", discoverUser.timeMeet, Area]; + cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ at %@", localDateString, Area]; } else { @@ -232,14 +227,47 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } #pragma mark - Table view delegate +-(void)prepareViewController:(id)vc forSegue:(NSString *)segueIdentifier fromIndexPath:(NSIndexPath *)indexPath +{ + DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; + if ([vc isKindOfClass:[detailsView class]]) { + detailsView *dv = (detailsView *)vc; + dv.discoverUser = discoverUser; + } +} + +-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender +{ + NSIndexPath *indexPath = nil; + if([sender isKindOfClass:[UITableViewCell class]]) { + indexPath = [self.tableView indexPathForCell:sender]; + } + [self prepareViewController:segue.destinationViewController + forSegue:segue.identifier + fromIndexPath:indexPath]; +} + //------------------------------------------------------------------------------------------------------------------------------------------------- - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath //------------------------------------------------------------------------------------------------------------------------------------------------- { + /* + id detailvc = [self.splitViewController.viewControllers lastObject]; + if([detailvc isKindOfClass:[UINavigationController class]]) { + detailvc = [((UINavigationController *)detailvc).viewControllers firstObject]; + [self prepareViewController:detailvc forSegue:nil fromIndexPath:indexPath]; + } + */ + + DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; [tableView deselectRowAtIndexPath:indexPath animated:YES]; detailsView *dv = [[detailsView alloc] init]; - dv.location = discoverLocation[indexPath.row]; + dv.discoverUser = discoverUser; + CLLocationDegrees longitude = [discoverUser.longitude doubleValue]; + CLLocationDegrees latitude = [discoverUser.latitude doubleValue]; + CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude]; + dv.location = location; [self.navigationController pushViewController:dv animated:YES]; /* //--------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/Classes/Tabs/detailsView.h b/Classes/Tabs/detailsView.h index 476f4f8..bf90987 100644 --- a/Classes/Tabs/detailsView.h +++ b/Classes/Tabs/detailsView.h @@ -8,9 +8,9 @@ #import #import - +#import "DiscoverUser.h" @interface detailsView : UIViewController @property (strong, nonatomic) CLLocation *location; - +@property (strong, nonatomic) DiscoverUser *discoverUser; @end diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m index 9dd33ca..a49d49d 100644 --- a/Classes/Tabs/detailsView.m +++ b/Classes/Tabs/detailsView.m @@ -12,6 +12,11 @@ @interface detailsView () @property MKMapView *mapView; +@property UIView *mapContainerView; +@property UIView *pokeContainerView; +@property UIView *chatContainerView; +@property UIButton *poke; +@property UIButton *chat; @end @@ -22,47 +27,168 @@ @implementation detailsView -(void)viewDidLoad { [super viewDidLoad]; - self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext; - - UIButton *poke_button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; - [self.view addSubview:poke_button]; - [poke_button setTitle:@"Poke" forState:UIControlStateNormal]; - [poke_button sizeToFit]; - poke_button.center = CGPointMake(100,300); - - UIButton *chat_button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; - [self.view addSubview:chat_button]; - [chat_button setTitle:@"Chat" forState:UIControlStateNormal]; - [chat_button sizeToFit]; - chat_button.center = CGPointMake(300,300); - - //MKAnnotationView *map_view = [[MKAnnotationView alloc] init]; - _mapView = [[MKMapView alloc] initWithFrame:CGRectMake(20, 20, 200, 200)]; - [self.view addSubview:self.mapView]; + [self loadView]; + + //self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext; + + _poke = [UIButton buttonWithType:UIButtonTypeRoundedRect]; + [self.poke setTitle:@"Poke" forState:UIControlStateNormal]; + [self.poke setBackgroundColor:[UIColor greenColor]]; + self.poke.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; + + _chat = [UIButton buttonWithType:UIButtonTypeRoundedRect]; + [self.chat setTitle:@"Chat" forState:UIControlStateNormal]; + [self.chat setBackgroundColor:[UIColor greenColor]]; + self.chat.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; + + self.chatContainerView = [[UIView alloc] initWithFrame:CGRectZero]; + self.chatContainerView.translatesAutoresizingMaskIntoConstraints = NO; + self.pokeContainerView = [[UIView alloc] initWithFrame:CGRectZero]; + self.pokeContainerView.translatesAutoresizingMaskIntoConstraints = NO; + + [self.chatContainerView addSubview:self.chat]; + [self.pokeContainerView addSubview:self.poke]; + + [self.view addSubview:self.chatContainerView]; + [self.view addSubview:self.pokeContainerView]; + + + + self.mapContainerView = [[UIView alloc] initWithFrame:CGRectZero]; + self.mapContainerView.translatesAutoresizingMaskIntoConstraints = NO; + + _mapView = [[MKMapView alloc] initWithFrame:self.mapContainerView.frame]; + //self.mapView.delegate = self; + self.mapView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; + [self.mapContainerView addSubview:self.mapView]; + MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(self.location.coordinate, 1000, 1000); [self.mapView setRegion:region animated:NO]; MKPointAnnotation *pa = [[MKPointAnnotation alloc] init]; pa.coordinate = location.coordinate; [self.mapView addAnnotation:pa]; + //self.mapView.layer.cornerRadius = 5; + //self.mapView.layer.masksToBounds = YES; + + [self.view addSubview:self.mapContainerView]; + // Width constraint, half of parent view width + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.mapContainerView + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeWidth + multiplier:1.0 + constant:0]]; /* - NSDictionary *viewsDictionary = @{@"mapView":self.mapView}; + // Height constraint, half of parent view height + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.mapContainerView + attribute:NSLayoutAttributeHeight + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeHeight + multiplier:0.5 + constant:0]]; + */ + // Center horizontally + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.mapContainerView + attribute:NSLayoutAttributeCenterX + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeCenterX + multiplier:1.0 + constant:0.0]]; + /* + // Center vertically + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.mapContainerView + attribute:NSLayoutAttributeCenterY + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeCenterY + multiplier:1.0 + constant:0.0]]; + */ + + NSDictionary *viewsDictionary = @{@"mapView":self.mapContainerView, @"poke_view":self.pokeContainerView, @"chat_view":self.chatContainerView}; - NSArray *constraint_POS_V = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[mapView]-50-|" + NSArray *constraint_POS_V = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-80-[mapView]-100-|" options:0 metrics:nil views:viewsDictionary]; + + NSArray *constraint_POS_V_button1 = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[mapView]-20-[poke_view]" + options:0 + metrics:nil + views:viewsDictionary]; + + NSArray *constraint_POS_V_button2 = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[mapView]-20-[chat_view]" + options:0 + metrics:nil + views:viewsDictionary]; + + NSArray *constraint_POS_H_button1 = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[poke_view]" + options:0 + metrics:nil + views:viewsDictionary]; + NSArray *constraint_POS_H_button2 = [NSLayoutConstraint constraintsWithVisualFormat:@"H:[poke_view]-20-[chat_view]" + options:0 + metrics:nil + views:viewsDictionary]; + NSArray *constraint_POS_H_button3 = [NSLayoutConstraint constraintsWithVisualFormat:@"H:[chat_view]-20-|" + options:0 + metrics:nil + views:viewsDictionary]; + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.pokeContainerView + attribute:NSLayoutAttributeHeight + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeHeight + multiplier:0.1 + constant:0.0]]; + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.chatContainerView + attribute:NSLayoutAttributeHeight + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeHeight + multiplier:0.1 + constant:0.0]]; + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.chatContainerView + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:self.pokeContainerView + attribute:NSLayoutAttributeWidth + multiplier:1.0 + constant:0.0]]; + /* NSArray *constraint_POS_H = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[mapView]-10-|" options:0 metrics:nil views:viewsDictionary]; - - [self.view addConstraints:constraint_POS_H]; - [self.view addConstraints:constraint_POS_V]; */ + //[self.view addConstraints:constraint_POS_H]; + [self.view addConstraints:constraint_POS_V]; + [self.view addConstraints:constraint_POS_H_button1]; + [self.view addConstraints:constraint_POS_H_button2]; + [self.view addConstraints:constraint_POS_H_button3]; + [self.view addConstraints:constraint_POS_V_button1]; + [self.view addConstraints:constraint_POS_V_button2]; + + } +-(void)loadView +{ + CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame]; + UIView *contentView = [[UIView alloc] initWithFrame:applicationFrame]; + contentView.backgroundColor = [UIColor whiteColor]; + self.view = contentView; + + +} diff --git a/app.xcodeproj/project.pbxproj b/app.xcodeproj/project.pbxproj index 91a940d..45541fb 100755 --- a/app.xcodeproj/project.pbxproj +++ b/app.xcodeproj/project.pbxproj @@ -131,7 +131,6 @@ DE31A2DD1AF7152800FD8DE2 /* CoreDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2DC1AF7152800FD8DE2 /* CoreDataTableViewController.m */; }; DE31A2E31AF7321700FD8DE2 /* AppDelegate+MOC.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2E21AF7321700FD8DE2 /* AppDelegate+MOC.m */; }; DE31A2E61AF7357400FD8DE2 /* DiscoversView+MOC.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2E51AF7357400FD8DE2 /* DiscoversView+MOC.m */; }; - DE4AA4811AC9B4FE008309D0 /* BTLEPeripheralViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE4AA4801AC9B4FE008309D0 /* BTLEPeripheralViewController.m */; }; DE6DA8251ABF54CE007A683B /* DiscoversView.m in Sources */ = {isa = PBXBuildFile; fileRef = DE6DA8241ABF54CE007A683B /* DiscoversView.m */; }; DEB34C2D1AF0A7DF000A42B8 /* detailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */; }; DEB4AE931AF6E48300ED6A77 /* CurrentUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB4AE921AF6E48300ED6A77 /* CurrentUser.m */; }; @@ -372,8 +371,6 @@ DE31A2E51AF7357400FD8DE2 /* DiscoversView+MOC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "DiscoversView+MOC.m"; sourceTree = ""; }; DE31A2E71AF74D2700FD8DE2 /* PhotoDatabaseAvailability.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PhotoDatabaseAvailability.h; sourceTree = ""; }; DE31A2EA1AF8689100FD8DE2 /* DatabaseAvailability.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DatabaseAvailability.h; sourceTree = ""; }; - DE4AA47F1AC9B4FE008309D0 /* BTLEPeripheralViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BTLEPeripheralViewController.h; sourceTree = ""; }; - DE4AA4801AC9B4FE008309D0 /* BTLEPeripheralViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BTLEPeripheralViewController.m; sourceTree = ""; }; DE4AA4831AC9B582008309D0 /* TransferService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransferService.h; sourceTree = ""; }; DE6DA8231ABF54CE007A683B /* DiscoversView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoversView.h; sourceTree = ""; }; DE6DA8241ABF54CE007A683B /* DiscoversView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoversView.m; sourceTree = ""; }; @@ -986,8 +983,6 @@ DEBB7B4A1AE37599009CD940 /* DiscoverUser.m */, DEB34C2B1AF0A7DF000A42B8 /* detailsView.h */, DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */, - DE4AA47F1AC9B4FE008309D0 /* BTLEPeripheralViewController.h */, - DE4AA4801AC9B4FE008309D0 /* BTLEPeripheralViewController.m */, DE31A2DB1AF7152800FD8DE2 /* CoreDataTableViewController.h */, DE31A2DC1AF7152800FD8DE2 /* CoreDataTableViewController.m */, DE4AA4831AC9B582008309D0 /* TransferService.h */, @@ -1166,7 +1161,6 @@ 292339A61AA38E0F00A47A39 /* UIColor+JSQMessages.m in Sources */, 292338D61AA350A400A47A39 /* pushnotification.m in Sources */, 292339C81AA38E0F00A47A39 /* JSQMessagesMediaPlaceholderView.m in Sources */, - DE4AA4811AC9B4FE008309D0 /* BTLEPeripheralViewController.m in Sources */, DE31A2E31AF7321700FD8DE2 /* AppDelegate+MOC.m in Sources */, DE1C96E01AE37BB400610AF7 /* DiscoverUser+bluechat.m in Sources */, DE31A2DD1AF7152800FD8DE2 /* CoreDataTableViewController.m in Sources */, diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 712ccd8e0d95b767e63f02231636303e92e7481c..5d9f75d0b30f867d7c492db5795c36173522d498 100644 GIT binary patch delta 27895 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 delta 26886 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 From c9c1da50d6862898a5ec5aafba744acc017b582a Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Sun, 10 May 2015 23:21:08 -0700 Subject: [PATCH 06/33] add image and label in detail view --- Classes/Tabs/detailsView.m | 131 +++++++++++++++++- .../UserInterfaceState.xcuserstate | Bin 66447 -> 66507 bytes 2 files changed, 130 insertions(+), 1 deletion(-) diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m index a49d49d..e624ae8 100644 --- a/Classes/Tabs/detailsView.m +++ b/Classes/Tabs/detailsView.m @@ -10,13 +10,29 @@ #import #import "DiscoverUser.h" +#import + +#import + +#import "ProgressHUD.h" + +#import "AppConstant.h" +#import "messages.h" +#import "utilities.h" + +#import "ChatView.h" + @interface detailsView () @property MKMapView *mapView; @property UIView *mapContainerView; @property UIView *pokeContainerView; @property UIView *chatContainerView; +@property UIView *imageContainerView; +@property UIView *labelContainerView; @property UIButton *poke; @property UIButton *chat; +@property PFImageView *imageUser; +@property UILabel *label; @end @@ -28,6 +44,27 @@ @implementation detailsView -(void)viewDidLoad { [super viewDidLoad]; [self loadView]; + [self loadUser]; + + + self.imageUser.layer.cornerRadius = self.imageUser.frame.size.width / 2; + self.imageUser.layer.masksToBounds = YES; + [self.imageUser setBackgroundColor:[UIColor grayColor]]; + self.imageUser.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; + self.imageContainerView = [[UIView alloc] initWithFrame:CGRectZero]; + self.imageContainerView.translatesAutoresizingMaskIntoConstraints = NO; + [self.imageContainerView addSubview:self.imageUser]; + [self.view addSubview:self.imageContainerView]; + + self.label = [[UILabel alloc] init]; + [self.label setBackgroundColor:[UIColor redColor]]; + //self.label.text = @"testing"; + self.label.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; + self.labelContainerView = [[UIView alloc] initWithFrame:CGRectZero]; + self.labelContainerView.translatesAutoresizingMaskIntoConstraints = NO; + [self.labelContainerView addSubview:self.label]; + [self.view addSubview:self.labelContainerView]; + //self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext; @@ -109,7 +146,61 @@ -(void)viewDidLoad { constant:0.0]]; */ - NSDictionary *viewsDictionary = @{@"mapView":self.mapContainerView, @"poke_view":self.pokeContainerView, @"chat_view":self.chatContainerView}; + NSDictionary *viewsDictionary = @{@"mapView":self.mapContainerView, @"poke_view":self.pokeContainerView, @"chat_view":self.chatContainerView, @"imageView":self.imageContainerView, @"labelView":self.labelContainerView}; + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.imageContainerView + attribute:NSLayoutAttributeHeight + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeHeight + multiplier:0.2 + constant:0.0]]; + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.imageContainerView + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeWidth + multiplier:0.2 + constant:0.0]]; + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.labelContainerView + attribute:NSLayoutAttributeHeight + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeHeight + multiplier:0.1 + constant:0.0]]; + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.labelContainerView + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeWidth + multiplier:0.6 + constant:0.0]]; + + + NSArray *constraint_POS_V_image = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[imageView]" + options:0 + metrics:nil + views:viewsDictionary]; + + NSArray *constraint_POS_H_image = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[imageView]" + options:0 + metrics:nil + views:viewsDictionary]; + + NSArray *constraint_POS_V_label = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[labelView]" + options:0 + metrics:nil + views:viewsDictionary]; + + NSArray *constraint_POS_H_label = [NSLayoutConstraint constraintsWithVisualFormat:@"H:[imageView]-10-[labelView]" + options:0 + metrics:nil + views:viewsDictionary]; + NSArray *constraint_POS_V = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-80-[mapView]-100-|" options:0 @@ -171,12 +262,17 @@ -(void)viewDidLoad { */ //[self.view addConstraints:constraint_POS_H]; [self.view addConstraints:constraint_POS_V]; + [self.view addConstraints:constraint_POS_V_image]; + [self.view addConstraints:constraint_POS_H_image]; + [self.view addConstraints:constraint_POS_V_label]; + [self.view addConstraints:constraint_POS_H_label]; [self.view addConstraints:constraint_POS_H_button1]; [self.view addConstraints:constraint_POS_H_button2]; [self.view addConstraints:constraint_POS_H_button3]; [self.view addConstraints:constraint_POS_V_button1]; [self.view addConstraints:constraint_POS_V_button2]; + [self.chat addTarget:self action:@selector(actionChat) forControlEvents:UIControlEventTouchUpInside]; } @@ -190,6 +286,39 @@ -(void)loadView } +-(void)actionChat +{ + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:self.discoverUser.userName]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + PFUser *user = [objects firstObject]; + //CreateMessageItem([PFUser currentUser], discoverId, discover[PF_GROUPS_NAME]); + NSString *discoverId = StartPrivateChat([PFUser currentUser], user); + //--------------------------------------------------------------------------------------------------------------------------------------------- + ChatView *chatView = [[ChatView alloc] initWith:discoverId]; + chatView.hidesBottomBarWhenPushed = YES; + [self.navigationController pushViewController:chatView animated:YES]; + } + }]; + + //NSString *discoverId = discover.objectId; + //--------------------------------------------------------------------------------------------------------------------------------------------- + +} + +- (void)loadUser +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + PFUser *user = [PFUser currentUser]; + + [self.imageUser setFile:user[PF_USER_PICTURE]]; + [self.imageUser loadInBackground]; + + self.label.text = user[PF_USER_FULLNAME]; +} @end diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 5d9f75d0b30f867d7c492db5795c36173522d498..56d095e711f9a886077a4ed8f8bf435a2b638242 100644 GIT binary patch delta 26349 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 V<)s$?BQEZ*b{+Ru|L@qX{{YtdXeR&w From ee21d505b653af52f2bb1567cfa479631dd509f5 Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Fri, 22 May 2015 23:41:14 -0700 Subject: [PATCH 07/33] contact and core data update add contact and contact detail view, add currentUser and contacts to core data --- Classes/Tabs/03_Profile/ProfileView.m | 128 ++++- Classes/Tabs/03_Profile/ProfileView.xib | 96 ++++ Classes/Tabs/Contacts.h | 23 + Classes/Tabs/Contacts.m | 22 + Classes/Tabs/ContactsView.h | 15 + Classes/Tabs/ContactsView.m | 130 +++++ Classes/Tabs/CurrentUser.h | 36 +- Classes/Tabs/CurrentUser.m | 33 +- Classes/Tabs/DiscoverUser.h | 9 +- Classes/Tabs/DiscoverUser.m | 9 +- Classes/Tabs/DiscoversView.m | 18 +- Classes/Tabs/contactDetailsVC.h | 14 + Classes/Tabs/contactDetailsVC.m | 102 ++++ Classes/Tabs/detailsView.h | 1 + Classes/Tabs/detailsView.m | 62 +- Classes/Tabs/test.h | 13 - Classes/Tabs/test.m | 530 ------------------ Classes/User/LoginView.m | 108 ++++ Classes/User/RegisterView.m | 107 ++++ Classes/User/RegisterView.xib | 1 + Classes/Utilities/general/utilities.m | 16 + .../Discover.xcdatamodel/contents | 26 +- app.xcodeproj/project.pbxproj | 54 +- .../UserInterfaceState.xcuserstate | Bin 66507 -> 70224 bytes app/AppConstant.h | 6 + app/AppDelegate.h | 6 + app/AppDelegate.m | 8 +- app/DatabaseAvailability.h | 3 +- 28 files changed, 960 insertions(+), 616 deletions(-) create mode 100644 Classes/Tabs/Contacts.h create mode 100644 Classes/Tabs/Contacts.m create mode 100644 Classes/Tabs/ContactsView.h create mode 100644 Classes/Tabs/ContactsView.m create mode 100644 Classes/Tabs/contactDetailsVC.h create mode 100644 Classes/Tabs/contactDetailsVC.m delete mode 100644 Classes/Tabs/test.h delete mode 100644 Classes/Tabs/test.m diff --git a/Classes/Tabs/03_Profile/ProfileView.m b/Classes/Tabs/03_Profile/ProfileView.m index 5b84e88..22d167c 100755 --- a/Classes/Tabs/03_Profile/ProfileView.m +++ b/Classes/Tabs/03_Profile/ProfileView.m @@ -22,15 +22,29 @@ #import "ProfileView.h" #import "DatabaseAvailability.h" //------------------------------------------------------------------------------------------------------------------------------------------------- -@interface ProfileView() +@interface ProfileView() @property (strong, nonatomic) IBOutlet UIView *viewHeader; @property (strong, nonatomic) IBOutlet PFImageView *imageUser; @property (strong, nonatomic) IBOutlet UITableViewCell *cellName; + +@property (strong, nonatomic) IBOutlet UITableViewCell *cellSex; +@property (strong, nonatomic) IBOutlet UITableViewCell *cellDate; +@property (strong, nonatomic) IBOutlet UITableViewCell *cellInterest; +@property (strong, nonatomic) IBOutlet UITableViewCell *cellSelfDescription; + +@property (strong, nonatomic) NSArray *sexArray; + + @property (strong, nonatomic) IBOutlet UITableViewCell *cellButton; @property (strong, nonatomic) IBOutlet UITextField *fieldName; +@property (strong, nonatomic) IBOutlet UITextField *fieldSex; +@property (strong, nonatomic) IBOutlet UITextField *fieldInterest; +@property (strong, nonatomic) IBOutlet UITextField *fieldSelfDescription; +@property (strong, nonatomic) IBOutlet UITextField *fieldDate; + @end //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -38,8 +52,9 @@ @interface ProfileView() @implementation ProfileView @synthesize viewHeader, imageUser; -@synthesize cellName, cellButton; -@synthesize fieldName; +@synthesize cellName, cellButton, cellSex, cellDate, cellInterest, cellSelfDescription; +@synthesize fieldName, fieldDate, fieldInterest, fieldSelfDescription, fieldSex; + //------------------------------------------------------------------------------------------------------------------------------------------------- - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil @@ -70,6 +85,21 @@ - (void)viewDidLoad //--------------------------------------------------------------------------------------------------------------------------------------------- imageUser.layer.cornerRadius = imageUser.frame.size.width / 2; imageUser.layer.masksToBounds = YES; + + //setup sex picker + UIPickerView *sexPicker = [[UIPickerView alloc] init]; + //[sexPicker numberOfRowsInComponent:1]; + [sexPicker setDataSource:self]; + [sexPicker setDelegate:self]; + sexPicker.showsSelectionIndicator = YES; + [fieldSex setInputView:sexPicker]; + self.sexArray = [[NSArray alloc] initWithObjects:@"Male",@"Female",@"Unknown",nil]; + + //setup date picker + UIDatePicker *datePicker = [[UIDatePicker alloc] init]; + datePicker.datePickerMode = UIDatePickerModeDate; + [datePicker addTarget:self action:@selector(updateDateField:) forControlEvents:UIControlEventValueChanged]; + [fieldDate setInputView:datePicker]; } //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -93,6 +123,41 @@ - (void)dismissKeyboard [self.view endEditing:YES]; } +#pragma mark - Picker view +-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component +{ + return 3; +} + +-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView +{ + return 1; +} + +-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component +{ + return [self.sexArray objectAtIndex:row]; +} + +-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component +{ + NSLog(@"Selected Row %ld", (long)row); + switch (row) { + case 0: + self.fieldSex.text = @"Male"; + break; + case 1: + self.fieldSex.text = @"Female"; + break; + case 2: + self.fieldSex.text = @"Unknown"; + break; + + default: + break; + } +} + #pragma mark - Backend actions //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -105,18 +170,30 @@ - (void)loadUser [imageUser loadInBackground]; fieldName.text = user[PF_USER_FULLNAME]; -} + fieldSex.text = user[PF_USER_SEX]; + fieldDate.text = user[PF_USER_BIRTHDAY]; + fieldInterest.text = user[PF_USER_INTEREST]; + fieldSelfDescription.text = user[PF_USER_SELF_DESCRIPTION]; + } //------------------------------------------------------------------------------------------------------------------------------------------------- - (void)saveUser //------------------------------------------------------------------------------------------------------------------------------------------------- { NSString *fullname = fieldName.text; + NSString *sex = fieldSex.text; + NSString *interest = fieldInterest.text; + NSString *selfDescription = fieldSelfDescription.text; + NSString *birthday = fieldDate.text; if ([fullname length] != 0) { PFUser *user = [PFUser currentUser]; user[PF_USER_FULLNAME] = fullname; user[PF_USER_FULLNAME_LOWER] = [fullname lowercaseString]; + user[PF_USER_SEX] = sex; + user[PF_USER_INTEREST] = interest; + user[PF_USER_SELF_DESCRIPTION] = selfDescription; + user[PF_USER_BIRTHDAY] = birthday; [user saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { if (error == nil) @@ -129,6 +206,7 @@ - (void)saveUser else [ProgressHUD showError:@"Name field must be set."]; } + #pragma mark - User actions //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -181,6 +259,14 @@ - (IBAction)actionSave:(id)sender [self saveUser]; } + +-(void)updateDateField:(id)sender +{ + UIDatePicker *picker = (UIDatePicker *)self.fieldDate.inputView; + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + dateFormatter.dateFormat = @"dd-MMM-yyyy"; + self.fieldDate.text = [NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:picker.date]]; +} #pragma mark - UIImagePickerControllerDelegate //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -223,7 +309,7 @@ - (void)imagePickerController:(UIImagePickerController *)picker didFinishPicking - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView //------------------------------------------------------------------------------------------------------------------------------------------------- { - return 2; + return 6; } //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -238,8 +324,38 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N //------------------------------------------------------------------------------------------------------------------------------------------------- { if (indexPath.section == 0) return cellName; - if (indexPath.section == 1) return cellButton; + if (indexPath.section == 1) return cellSex; + if (indexPath.section == 2) return cellDate; + if (indexPath.section == 3) return cellInterest; + if (indexPath.section == 4) return cellSelfDescription; + if (indexPath.section == 5) return cellButton; return nil; } +-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section +{ + NSString *sectionName; + switch (section) { + case 0: + sectionName = NSLocalizedString(@"Name", @"user Name"); + break; + case 1: + sectionName = NSLocalizedString(@"Sex", @"sex"); + break; + case 2: + sectionName = NSLocalizedString(@"Birthday", @"birthday"); + break; + case 3: + sectionName = NSLocalizedString(@"Interest", @"interest"); + break; + case 4: + sectionName = NSLocalizedString(@"Self Description", @"selfDescription"); + break; + default: + sectionName = @""; + break; + } + return sectionName; +} + @end diff --git a/Classes/Tabs/03_Profile/ProfileView.xib b/Classes/Tabs/03_Profile/ProfileView.xib index d01027d..fc0df1b 100755 --- a/Classes/Tabs/03_Profile/ProfileView.xib +++ b/Classes/Tabs/03_Profile/ProfileView.xib @@ -9,8 +9,16 @@ + + + + + + + + @@ -101,6 +109,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Classes/Tabs/Contacts.h b/Classes/Tabs/Contacts.h new file mode 100644 index 0000000..7cd9b50 --- /dev/null +++ b/Classes/Tabs/Contacts.h @@ -0,0 +1,23 @@ +// +// Contacts.h +// app +// +// Created by kiddjacky on 5/17/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import +#import + + +@interface Contacts : NSManagedObject + +@property (nonatomic, retain) NSString * userName; +@property (nonatomic, retain) NSString * userFullName; +@property (nonatomic, retain) NSDecimalNumber * age; +@property (nonatomic, retain) NSString * sex; +@property (nonatomic, retain) NSString * interest; +@property (nonatomic, retain) NSString * selfDescription; +@property (nonatomic, retain) id thumbnail; + +@end diff --git a/Classes/Tabs/Contacts.m b/Classes/Tabs/Contacts.m new file mode 100644 index 0000000..4e93b68 --- /dev/null +++ b/Classes/Tabs/Contacts.m @@ -0,0 +1,22 @@ +// +// Contacts.m +// app +// +// Created by kiddjacky on 5/17/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "Contacts.h" + + +@implementation Contacts + +@dynamic userName; +@dynamic userFullName; +@dynamic age; +@dynamic sex; +@dynamic interest; +@dynamic selfDescription; +@dynamic thumbnail; + +@end diff --git a/Classes/Tabs/ContactsView.h b/Classes/Tabs/ContactsView.h new file mode 100644 index 0000000..2712391 --- /dev/null +++ b/Classes/Tabs/ContactsView.h @@ -0,0 +1,15 @@ +// +// ContactsView.h +// app +// +// Created by kiddjacky on 5/16/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import +#import "CoreDataTableViewController.h" + +@interface ContactsView : CoreDataTableViewController +@property (nonatomic, strong) NSManagedObjectContext *managedObjectContext; + +@end diff --git a/Classes/Tabs/ContactsView.m b/Classes/Tabs/ContactsView.m new file mode 100644 index 0000000..d69be88 --- /dev/null +++ b/Classes/Tabs/ContactsView.m @@ -0,0 +1,130 @@ +// +// ContactsView.m +// app +// +// Created by kiddjacky on 5/16/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "ContactsView.h" +#import +#import "ProgressHUD.h" +#import "AppConstant.h" +#import "DatabaseAvailability.h" +#import "utilities.h" + +#import "Contacts.h" +#import "contactDetailsVC.h" + +@implementation ContactsView + +//------------------------------------------------------------------------------------------------------------------------------------------------- +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + [[NSNotificationCenter defaultCenter] addObserverForName:DatabaseAvailabilityNotification + object:nil + queue:nil + usingBlock:^(NSNotification *note) { + NSLog(@"Get Contact database notification"); + self.managedObjectContext = note.userInfo[DatabaseAvailabilityContext]; + }]; + if (self) + { + [self.tabBarItem setImage:[UIImage imageNamed:@"tab_discover"]]; + self.tabBarItem.title = @"Contacts"; + } + return self; +} + +- (void)setManagedObjectContext:(NSManagedObjectContext *)managedObjectContext +{ + _managedObjectContext = managedObjectContext; + + NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Contacts"]; + request.predicate = nil; + request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"userFullName" + ascending:YES + selector:@selector(localizedStandardCompare:)]]; + + + //NSLog(@"Discover set managed object context %@", managedObjectContext); + + + self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request + managedObjectContext:managedObjectContext + sectionNameKeyPath:nil + cacheName:nil]; + + + +} + +-(void)viewDidLoad +{ + [super viewDidLoad]; + self.title = @"Contacts"; + self.tableView.tableFooterView = [[UIView alloc] init]; + + + +} + +//------------------------------------------------------------------------------------------------------------------------------------------------- +- (void)viewDidAppear:(BOOL)animated +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + [super viewDidAppear:animated]; + //--------------------------------------------------------------------------------------------------------------------------------------------- + if ([PFUser currentUser] != nil) + { + [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_READY object:nil]; + //[self loadContacts]; + } + else LoginUser(self); +} + + +#pragma mark - table view + + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; + if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"]; + NSLog(@"update contacts view"); + Contacts *contact = [self.fetchedResultsController objectAtIndexPath:indexPath]; + cell.textLabel.text = contact.userFullName; + cell.detailTextLabel.text = contact.selfDescription; + /* + cell.imageView.image = [UIImage imageWithData:contact.thumbnail]; + if (!cell.imageView.image) { + dispatch_queue_t q = dispatch_queue_create("Thumbnail Contact Photo", 0); + dispatch_async(q, ^{ + NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:contact.thumbnailURL]]; + [self.managedObjectContext performBlock:^{ + contact.thumbnail = imageData; + dispatch_async(dispatch_get_main_queue(), ^{ + [cell setNeedsLayout]; + }); + }]; + }); + } + */ + + return cell; + +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + Contacts *contact = [self.fetchedResultsController objectAtIndexPath:indexPath]; + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + contactDetailsVC *ivc = [[contactDetailsVC alloc] init]; + ivc.contact = contact; + [self.navigationController pushViewController:ivc animated:YES]; +} + + +@end diff --git a/Classes/Tabs/CurrentUser.h b/Classes/Tabs/CurrentUser.h index 8da9586..7c650ad 100644 --- a/Classes/Tabs/CurrentUser.h +++ b/Classes/Tabs/CurrentUser.h @@ -2,17 +2,41 @@ // CurrentUser.h // app // -// Created by kiddjacky on 5/3/15. +// Created by kiddjacky on 5/17/15. // Copyright (c) 2015 KZ. All rights reserved. // #import +#import -@interface CurrentUser : NSObject { - NSString *userName; -} +@class Contacts, DiscoverUser; -@property(nonatomic, retain)NSString *userName; -+(CurrentUser*) getInstance; +@interface CurrentUser : NSManagedObject + +@property (nonatomic, retain) NSDecimalNumber * age; +@property (nonatomic, retain) NSDate * birthday; +@property (nonatomic, retain) NSString * interest; +@property (nonatomic, retain) NSString * selfDescription; +@property (nonatomic, retain) NSString * sex; +@property (nonatomic, retain) NSString * userFullName; +@property (nonatomic, retain) NSString * userName; +@property (nonatomic, retain) id thumbnail; +@property (nonatomic, retain) id picture; +@property (nonatomic, retain) id contactList; +@property (nonatomic, retain) NSSet *contacts; +@property (nonatomic, retain) NSSet *discovers; +@end + +@interface CurrentUser (CoreDataGeneratedAccessors) + +- (void)addContactsObject:(Contacts *)value; +- (void)removeContactsObject:(Contacts *)value; +- (void)addContacts:(NSSet *)values; +- (void)removeContacts:(NSSet *)values; + +- (void)addDiscoversObject:(DiscoverUser *)value; +- (void)removeDiscoversObject:(DiscoverUser *)value; +- (void)addDiscovers:(NSSet *)values; +- (void)removeDiscovers:(NSSet *)values; @end diff --git a/Classes/Tabs/CurrentUser.m b/Classes/Tabs/CurrentUser.m index 1c42117..c508191 100644 --- a/Classes/Tabs/CurrentUser.m +++ b/Classes/Tabs/CurrentUser.m @@ -2,29 +2,28 @@ // CurrentUser.m // app // -// Created by kiddjacky on 5/3/15. +// Created by kiddjacky on 5/17/15. // Copyright (c) 2015 KZ. All rights reserved. // #import "CurrentUser.h" +#import "Contacts.h" +#import "DiscoverUser.h" -@implementation CurrentUser - -@synthesize userName; -static CurrentUser *instance = nil; - -+(CurrentUser *) getInstance -{ - @synchronized(self) - { - if(instance==nil) - { - instance = [CurrentUser new]; - } - } - return instance; -} +@implementation CurrentUser +@dynamic age; +@dynamic birthday; +@dynamic interest; +@dynamic selfDescription; +@dynamic sex; +@dynamic userFullName; +@dynamic userName; +@dynamic thumbnail; +@dynamic picture; +@dynamic contactList; +@dynamic contacts; +@dynamic discovers; @end diff --git a/Classes/Tabs/DiscoverUser.h b/Classes/Tabs/DiscoverUser.h index 7d9a482..8ed8793 100644 --- a/Classes/Tabs/DiscoverUser.h +++ b/Classes/Tabs/DiscoverUser.h @@ -2,7 +2,7 @@ // DiscoverUser.h // app // -// Created by kiddjacky on 4/18/15. +// Created by kiddjacky on 5/17/15. // Copyright (c) 2015 KZ. All rights reserved. // @@ -12,9 +12,10 @@ @interface DiscoverUser : NSManagedObject -@property (nonatomic, retain) NSString * userName; -@property (nonatomic, retain) NSDate * timeMeet; -@property (nonatomic, retain) NSNumber * longitude; @property (nonatomic, retain) NSNumber * latitude; +@property (nonatomic, retain) NSNumber * longitude; +@property (nonatomic, retain) NSDate * timeMeet; +@property (nonatomic, retain) NSString * userName; +@property (nonatomic, retain) id thumbnail; @end diff --git a/Classes/Tabs/DiscoverUser.m b/Classes/Tabs/DiscoverUser.m index 3ab7a3e..185fe5d 100644 --- a/Classes/Tabs/DiscoverUser.m +++ b/Classes/Tabs/DiscoverUser.m @@ -2,7 +2,7 @@ // DiscoverUser.m // app // -// Created by kiddjacky on 4/18/15. +// Created by kiddjacky on 5/17/15. // Copyright (c) 2015 KZ. All rights reserved. // @@ -11,9 +11,10 @@ @implementation DiscoverUser -@dynamic userName; -@dynamic timeMeet; -@dynamic longitude; @dynamic latitude; +@dynamic longitude; +@dynamic timeMeet; +@dynamic userName; +@dynamic thumbnail; @end diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index 27fe5c7..7ed6400 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -57,6 +57,15 @@ - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil [self.tabBarItem setImage:[UIImage imageNamed:@"tab_discover"]]; self.tabBarItem.title = @"Discovers"; } + + [[NSNotificationCenter defaultCenter] addObserverForName:DatabaseAvailabilityNotification + object:nil + queue:nil + usingBlock:^(NSNotification *note) { + NSLog(@"Get database notification"); + self.managedObjectContext = note.userInfo[DatabaseAvailabilityContext]; + }]; + return self; } @@ -102,13 +111,7 @@ - (void)viewDidLoad geocoder = [[CLGeocoder alloc] init]; - [[NSNotificationCenter defaultCenter] addObserverForName:DatabaseAvailabilityNotification - object:nil - queue:nil - usingBlock:^(NSNotification *note) { - NSLog(@"Get database notification"); - self.managedObjectContext = note.userInfo[DatabaseAvailabilityContext]; - }]; + //setup observer before ask the appdelegate to post [[NSNotificationCenter defaultCenter] postNotificationName:DiscoverViewReady object:nil]; @@ -268,6 +271,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath CLLocationDegrees latitude = [discoverUser.latitude doubleValue]; CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude]; dv.location = location; + dv.context = self.managedObjectContext; [self.navigationController pushViewController:dv animated:YES]; /* //--------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/Classes/Tabs/contactDetailsVC.h b/Classes/Tabs/contactDetailsVC.h new file mode 100644 index 0000000..4c038f7 --- /dev/null +++ b/Classes/Tabs/contactDetailsVC.h @@ -0,0 +1,14 @@ +// +// contactDetailsVC.h +// app +// +// Created by kiddjacky on 5/16/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import +#import "Contacts.h" + +@interface contactDetailsVC : UIViewController +@property (strong, nonatomic) Contacts *contact; +@end diff --git a/Classes/Tabs/contactDetailsVC.m b/Classes/Tabs/contactDetailsVC.m new file mode 100644 index 0000000..47c089c --- /dev/null +++ b/Classes/Tabs/contactDetailsVC.m @@ -0,0 +1,102 @@ +// +// contactDetailsVC.m +// app +// +// Created by kiddjacky on 5/16/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "contactDetailsVC.h" +#import + +#import + +#import "ProgressHUD.h" + +#import "AppConstant.h" +#import "messages.h" +#import "utilities.h" + +#import "ChatView.h" +#import "Contacts.h" + +@interface contactDetailsVC () +@property UIButton *chat; +@property UILabel *userFullName; +@property UILabel *age; +@property UILabel *interest; +@property UILabel *selfDescription; + +@property UIView *chatContainerView; +@end + + +@implementation contactDetailsVC + +-(void)viewDidLoad { + [super viewDidLoad]; + [self loadView]; + + _chat = [UIButton buttonWithType:UIButtonTypeRoundedRect]; + [self.chat setTitle:@"Chat" forState:UIControlStateNormal]; + [self.chat setBackgroundColor:[UIColor greenColor]]; + self.chat.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; + + self.chatContainerView = [[UIView alloc] initWithFrame:CGRectZero]; + self.chatContainerView.translatesAutoresizingMaskIntoConstraints = NO; + + [self.chatContainerView addSubview:self.chat]; + [self.view addSubview:self.chatContainerView]; + + NSDictionary *viewsDictionary = @{@"chat_view":self.chatContainerView}; + + NSArray *constraint_POS_V_chat = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-100-[chat_view]-100-|" + options:0 + metrics:nil + views:viewsDictionary]; + + NSArray *constraint_POS_H_chat = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[chat_view]-|" + options:0 + metrics:nil + views:viewsDictionary]; + [self.view addConstraints:constraint_POS_V_chat]; + [self.view addConstraints:constraint_POS_H_chat]; + + + [self.chat addTarget:self action:@selector(actionChat) forControlEvents:UIControlEventTouchUpInside]; + +} + +-(void)loadView +{ + CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame]; + UIView *contentView = [[UIView alloc] initWithFrame:applicationFrame]; + contentView.backgroundColor = [UIColor whiteColor]; + self.view = contentView; + + +} + +-(void)actionChat +{ + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:self.contact.userName]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + PFUser *user = [objects firstObject]; + //CreateMessageItem([PFUser currentUser], discoverId, discover[PF_GROUPS_NAME]); + NSString *discoverId = StartPrivateChat([PFUser currentUser], user); + //--------------------------------------------------------------------------------------------------------------------------------------------- + ChatView *chatView = [[ChatView alloc] initWith:discoverId]; + chatView.hidesBottomBarWhenPushed = YES; + [self.navigationController pushViewController:chatView animated:YES]; + } + }]; + + //NSString *discoverId = discover.objectId; + //--------------------------------------------------------------------------------------------------------------------------------------------- + +} +@end diff --git a/Classes/Tabs/detailsView.h b/Classes/Tabs/detailsView.h index bf90987..1236080 100644 --- a/Classes/Tabs/detailsView.h +++ b/Classes/Tabs/detailsView.h @@ -11,6 +11,7 @@ #import "DiscoverUser.h" @interface detailsView : UIViewController +@property (strong, nonatomic) NSManagedObjectContext *context; @property (strong, nonatomic) CLLocation *location; @property (strong, nonatomic) DiscoverUser *discoverUser; @end diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m index e624ae8..d33b9ec 100644 --- a/Classes/Tabs/detailsView.m +++ b/Classes/Tabs/detailsView.m @@ -21,6 +21,8 @@ #import "utilities.h" #import "ChatView.h" +#import "Contacts.h" +#import "DatabaseAvailability.h" @interface detailsView () @property MKMapView *mapView; @@ -58,7 +60,7 @@ -(void)viewDidLoad { self.label = [[UILabel alloc] init]; [self.label setBackgroundColor:[UIColor redColor]]; - //self.label.text = @"testing"; + self.label.text = @"testing"; self.label.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; self.labelContainerView = [[UIView alloc] initWithFrame:CGRectZero]; self.labelContainerView.translatesAutoresizingMaskIntoConstraints = NO; @@ -69,7 +71,7 @@ -(void)viewDidLoad { //self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext; _poke = [UIButton buttonWithType:UIButtonTypeRoundedRect]; - [self.poke setTitle:@"Poke" forState:UIControlStateNormal]; + [self.poke setTitle:@"Add" forState:UIControlStateNormal]; [self.poke setBackgroundColor:[UIColor greenColor]]; self.poke.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; @@ -273,6 +275,7 @@ -(void)viewDidLoad { [self.view addConstraints:constraint_POS_V_button2]; [self.chat addTarget:self action:@selector(actionChat) forControlEvents:UIControlEventTouchUpInside]; + [self.poke addTarget:self action:@selector(actionAdd) forControlEvents:UIControlEventTouchUpInside]; } @@ -286,6 +289,61 @@ -(void)loadView } +-(void)actionAdd { + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + NSLog(@"discover user to be added is %@",self.discoverUser.userName); + [query whereKey:PF_USER_USERNAME equalTo:self.discoverUser.userName]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + NSLog(@"add discover user as contact!"); + PFUser *user = [objects firstObject]; + NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Contacts"]; + request.predicate = [NSPredicate predicateWithFormat:@"userName = %@", user[PF_USER_USERNAME]]; + NSError *error; + NSArray *matches = [self.context executeFetchRequest:request error:&error]; + Contacts *contact = nil; + + if (error) { + NSLog(@"request error!"); + } + else if ([matches count]>=1) { + //they are already friend? + NSLog(@"is this user in the contact list?"); + contact = [matches firstObject]; + NSLog(@"the name of contact is %@", user.username); + + } + else { + + contact = [NSEntityDescription insertNewObjectForEntityForName:@"Contacts" + inManagedObjectContext:self.context]; + contact.userName = user.username; + contact.userFullName = user[PF_USER_FULLNAME]; + contact.sex = user[PF_USER_SEX]; + contact.age = user[PF_USER_AGE]; + contact.interest = user[PF_USER_INTEREST]; + contact.selfDescription = user[PF_USER_SELF_DESCRIPTION]; + contact.thumbnail = user[PF_USER_THUMBNAIL]; + + NSError *error=nil; + + if (![self.context save:&error]) { + NSLog(@"Couldn't save %@", [error localizedDescription]); + } + + NSLog(@"Added!"); + //setup notification to other view controller that the context is avaiable. + NSDictionary *userInfo = self.context ? @{DatabaseAvailabilityContext : self.context } : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + } + + } + }]; + +} + -(void)actionChat { PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; diff --git a/Classes/Tabs/test.h b/Classes/Tabs/test.h deleted file mode 100644 index e063b25..0000000 --- a/Classes/Tabs/test.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// test.h -// app -// -// Created by kiddjacky on 4/18/15. -// Copyright (c) 2015 KZ. All rights reserved. -// - -#import - -@interface test : UITableViewController - -@end diff --git a/Classes/Tabs/test.m b/Classes/Tabs/test.m deleted file mode 100644 index 50bba31..0000000 --- a/Classes/Tabs/test.m +++ /dev/null @@ -1,530 +0,0 @@ -// -// test.m -// app -// -// Created by kiddjacky on 4/18/15. -// Copyright (c) 2015 KZ. All rights reserved. -// - -#import "test.h" - -#import -#import "TransferService.h" -#import -#import "ProgressHUD.h" - -#import "AppConstant.h" -#import "messages.h" -#import "utilities.h" - -#import "GroupsView.h" -#import "ChatView.h" -#import -#import "TransferService.h" - -@interface test() -@property (strong, nonatomic) IBOutlet UITextView *textView; -@property (strong, nonatomic) IBOutlet UISwitch *advertisingSwitch; -@property (strong, nonatomic) CBPeripheralManager *peripheralManager; -@property (strong, nonatomic) CBMutableCharacteristic *transferCharacteristic; -@property (strong, nonatomic) NSData *dataToSend; -@property (nonatomic, readwrite) NSInteger sendDataIndex; -////////////Central Manager -@property (strong, nonatomic) CBCentralManager *centralManager; -@property (strong, nonatomic) CBPeripheral *discoveredPeripheral; -@property (strong, nonatomic) NSMutableData *data; -@property (strong, nonatomic) IBOutlet UITextView *central_textview; - -@property (retain) NSTimer *switchTimer; - -@end - - -#define NOTIFY_MTU 20 - - -//------------------------------------------------------------------------------------------------------------------------------------------------- -@interface test() -{ - NSMutableArray *discovers; -} -@end -//------------------------------------------------------------------------------------------------------------------------------------------------- - -@implementation test - -//------------------------------------------------------------------------------------------------------------------------------------------------- -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) - { - [self.tabBarItem setImage:[UIImage imageNamed:@"tab_discover"]]; - self.tabBarItem.title = @"Discovers"; - } - return self; -} - -//------------------------------------------------------------------------------------------------------------------------------------------------- -- (void)viewDidLoad -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - [super viewDidLoad]; - self.title = @"Groups"; - //--------------------------------------------------------------------------------------------------------------------------------------------- - /*self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"New" style:UIBarButtonItemStylePlain target:self - action:@selector(actionNew)];*/ - //--------------------------------------------------------------------------------------------------------------------------------------------- - self.tableView.tableFooterView = [[UIView alloc] init]; - - //--------------------------------------------------------------------------------------------------------------------------------------------- - discovers = [[NSMutableArray alloc] init]; - - // Start up the CBPeripheralManager - _peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil]; - - - // Start up the CBCentralManager - _centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; - - // And somewhere to store the incoming data - _data = [[NSMutableData alloc] init]; -} - -//------------------------------------------------------------------------------------------------------------------------------------------------- -- (void)viewDidAppear:(BOOL)animated -//------------------------------------------------------------------------------------------------------------------------------------------------- -{ - [super viewDidAppear:animated]; - //--------------------------------------------------------------------------------------------------------------------------------------------- - if ([PFUser currentUser] != nil) - { - //[self loadGroups]; - } - else LoginUser(self); -} - -- (void)btle_seq -{ - [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] }]; - - self.switchTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(btle_switch_mode:) userInfo:nil repeats:YES]; - - -} - -#pragma mark - Central Methods - - - -/** centralManagerDidUpdateState is a required protocol method. - * Usually, you'd check for other states to make sure the current device supports LE, is powered on, etc. - * In this instance, we're just using it to wait for CBCentralManagerStatePoweredOn, which indicates - * the Central is ready to be used. - */ -- (void)centralManagerDidUpdateState:(CBCentralManager *)central -{ - if (central.state != CBCentralManagerStatePoweredOn) { - // In a real app, you'd deal with all the states correctly - return; - } - - // The state must be CBCentralManagerStatePoweredOn... - - // ... so start scanning - [self scan]; - -} - - -/** Scan for peripherals - specifically for our service's 128bit CBUUID - */ -- (void)scan -{ - [self.centralManager scanForPeripheralsWithServices:@[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] - options:@{ CBCentralManagerScanOptionAllowDuplicatesKey : @YES }]; - - NSLog(@"Scanning started"); -} - - -/** This callback comes whenever a peripheral that is advertising the TRANSFER_SERVICE_UUID is discovered. - * We check the RSSI, to make sure it's close enough that we're interested in it, and if it is, - * we start the connection process - */ -- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI -{ - // Reject any where the value is above reasonable range - if (RSSI.integerValue > -15) { - return; - } - - // Reject if the signal strength is too low to be close enough (Close is around -22dB) - if (RSSI.integerValue < -35) { - return; - } - - NSLog(@"Discovered %@ at %@", peripheral.name, RSSI); - - // Ok, it's in range - have we already seen it? - if (self.discoveredPeripheral != peripheral) { - - // Save a local copy of the peripheral, so CoreBluetooth doesn't get rid of it - self.discoveredPeripheral = peripheral; - - // And connect - NSLog(@"Connecting to peripheral %@", peripheral); - [self.centralManager connectPeripheral:peripheral options:nil]; - } -} - - -/** If the connection fails for whatever reason, we need to deal with it. - */ -- (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error -{ - NSLog(@"Failed to connect to %@. (%@)", peripheral, [error localizedDescription]); - [self cleanup]; -} - - -/** We've connected to the peripheral, now we need to discover the services and characteristics to find the 'transfer' characteristic. - */ -- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral -{ - NSLog(@"Peripheral Connected"); - - // Stop scanning - [self.centralManager stopScan]; - NSLog(@"Scanning stopped"); - - // Clear the data that we may already have - [self.data setLength:0]; - - // Make sure we get the discovery callbacks - peripheral.delegate = self; - - // Search only for services that match our UUID - [peripheral discoverServices:@[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]]]; -} - - -/** The Transfer Service was discovered - */ -- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error -{ - if (error) { - NSLog(@"Error discovering services: %@", [error localizedDescription]); - [self cleanup]; - return; - } - - // Discover the characteristic we want... - - // Loop through the newly filled peripheral.services array, just in case there's more than one. - for (CBService *service in peripheral.services) { - [peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]] forService:service]; - } -} - - -/** The Transfer characteristic was discovered. - * Once this has been found, we want to subscribe to it, which lets the peripheral know we want the data it contains - */ -- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error -{ - // Deal with errors (if any) - if (error) { - NSLog(@"Error discovering characteristics: %@", [error localizedDescription]); - [self cleanup]; - return; - } - - // Again, we loop through the array, just in case. - for (CBCharacteristic *characteristic in service.characteristics) { - - // And check if it's the right one - if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { - - // If it is, subscribe to it - [peripheral setNotifyValue:YES forCharacteristic:characteristic]; - } - } - - // Once this is complete, we just need to wait for the data to come in. -} - - -/** This callback lets us know more data has arrived via notification on the characteristic - */ -- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error -{ - if (error) { - NSLog(@"Error discovering characteristics: %@", [error localizedDescription]); - return; - } - - NSString *stringFromData = [[NSString alloc] initWithData:characteristic.value encoding:NSUTF8StringEncoding]; - - // Have we got everything we need? - if ([stringFromData isEqualToString:@"EOM"]) { - - // We have, so show the data, - [self.central_textview setText:[[NSString alloc] initWithData:self.data encoding:NSUTF8StringEncoding]]; - - // Cancel our subscription to the characteristic - [peripheral setNotifyValue:NO forCharacteristic:characteristic]; - - // and disconnect from the peripehral - [self.centralManager cancelPeripheralConnection:peripheral]; - } - - // Otherwise, just add the data on to what we already have - [self.data appendData:characteristic.value]; - - // Log it - NSLog(@"Received: %@", stringFromData); -} - - -/** The peripheral letting us know whether our subscribe/unsubscribe happened or not - */ -- (void)peripheral:(CBPeripheral *)peripheral didUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error -{ - if (error) { - NSLog(@"Error changing notification state: %@", error.localizedDescription); - } - - // Exit if it's not the transfer characteristic - if (![characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { - return; - } - - // Notification has started - if (characteristic.isNotifying) { - NSLog(@"Notification began on %@", characteristic); - } - - // Notification has stopped - else { - // so disconnect from the peripheral - NSLog(@"Notification stopped on %@. Disconnecting", characteristic); - [self.centralManager cancelPeripheralConnection:peripheral]; - } -} - - -/** Once the disconnection happens, we need to clean up our local copy of the peripheral - */ -- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error -{ - NSLog(@"Peripheral Disconnected"); - self.discoveredPeripheral = nil; - - // We're disconnected, so start scanning again - [self scan]; -} - - -/** Call this when things either go wrong, or you're done with the connection. - * This cancels any subscriptions if there are any, or straight disconnects if not. - * (didUpdateNotificationStateForCharacteristic will cancel the connection if a subscription is involved) - */ -- (void)cleanup -{ - // Don't do anything if we're not connected - if (!self.discoveredPeripheral.isConnected) { - return; - } - - // See if we are subscribed to a characteristic on the peripheral - if (self.discoveredPeripheral.services != nil) { - for (CBService *service in self.discoveredPeripheral.services) { - if (service.characteristics != nil) { - for (CBCharacteristic *characteristic in service.characteristics) { - if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { - if (characteristic.isNotifying) { - // It is notifying, so unsubscribe - [self.discoveredPeripheral setNotifyValue:NO forCharacteristic:characteristic]; - - // And we're done. - return; - } - } - } - } - } - } - - // If we've got this far, we're connected, but we're not subscribed, so we just disconnect - [self.centralManager cancelPeripheralConnection:self.discoveredPeripheral]; -} - - - - -#pragma mark - Peripheral Methods - - - -/** Required protocol method. A full app should take care of all the possible states, - * but we're just waiting for to know when the CBPeripheralManager is ready - */ -- (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral -{ - // Opt out from any other state - if (peripheral.state != CBPeripheralManagerStatePoweredOn) { - return; - } - - // We're in CBPeripheralManagerStatePoweredOn state... - NSLog(@"self.peripheralManager powered on."); - - // ... so build our service. - - // Start with the CBMutableCharacteristic - self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID] - properties:CBCharacteristicPropertyNotify - value:nil - permissions:CBAttributePermissionsReadable]; - - // Then the service - CBMutableService *transferService = [[CBMutableService alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID] - primary:YES]; - - // Add the characteristic to the service - transferService.characteristics = @[self.transferCharacteristic]; - - // And add it to the peripheral manager - [self.peripheralManager addService:transferService]; -} - - -/** Catch when someone subscribes to our characteristic, then start sending them data - */ -- (void)peripheralManager:(CBPeripheralManager *)peripheral central:(CBCentral *)central didSubscribeToCharacteristic:(CBCharacteristic *)characteristic -{ - NSLog(@"Central subscribed to characteristic"); - - // Get the data - self.dataToSend = [self.textView.text dataUsingEncoding:NSUTF8StringEncoding]; - - // Reset the index - self.sendDataIndex = 0; - - // Start sending - [self sendData]; -} - - -/** Recognise when the central unsubscribes - */ -- (void)peripheralManager:(CBPeripheralManager *)peripheral central:(CBCentral *)central didUnsubscribeFromCharacteristic:(CBCharacteristic *)characteristic -{ - NSLog(@"Central unsubscribed from characteristic"); -} - - -/** Sends the next amount of data to the connected central - */ -- (void)sendData -{ - // First up, check if we're meant to be sending an EOM - static BOOL sendingEOM = NO; - - if (sendingEOM) { - - // send it - BOOL didSend = [self.peripheralManager updateValue:[@"EOM" dataUsingEncoding:NSUTF8StringEncoding] forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; - - // Did it send? - if (didSend) { - - // It did, so mark it as sent - sendingEOM = NO; - - NSLog(@"Sent: EOM"); - } - - // It didn't send, so we'll exit and wait for peripheralManagerIsReadyToUpdateSubscribers to call sendData again - return; - } - - // We're not sending an EOM, so we're sending data - - // Is there any left to send? - - if (self.sendDataIndex >= self.dataToSend.length) { - - // No data left. Do nothing - return; - } - - // There's data left, so send until the callback fails, or we're done. - - BOOL didSend = YES; - - while (didSend) { - - // Make the next chunk - - // Work out how big it should be - NSInteger amountToSend = self.dataToSend.length - self.sendDataIndex; - - // Can't be longer than 20 bytes - if (amountToSend > NOTIFY_MTU) amountToSend = NOTIFY_MTU; - - // Copy out the data we want - NSData *chunk = [NSData dataWithBytes:self.dataToSend.bytes+self.sendDataIndex length:amountToSend]; - - // Send it - didSend = [self.peripheralManager updateValue:chunk forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; - - // If it didn't work, drop out and wait for the callback - if (!didSend) { - return; - } - - NSString *stringFromData = [[NSString alloc] initWithData:chunk encoding:NSUTF8StringEncoding]; - NSLog(@"Sent: %@", stringFromData); - - // It did send, so update our index - self.sendDataIndex += amountToSend; - - // Was it the last one? - if (self.sendDataIndex >= self.dataToSend.length) { - - // It was - send an EOM - - // Set this so if the send fails, we'll send it next time - sendingEOM = YES; - - // Send it - BOOL eomSent = [self.peripheralManager updateValue:[@"EOM" dataUsingEncoding:NSUTF8StringEncoding] forCharacteristic:self.transferCharacteristic onSubscribedCentrals:nil]; - - if (eomSent) { - // It sent, we're all done - sendingEOM = NO; - - NSLog(@"Sent: EOM"); - } - - return; - } - } -} - - -/** This callback comes in when the PeripheralManager is ready to send the next chunk of data. - * This is to ensure that packets will arrive in the order they are sent - */ -- (void)peripheralManagerIsReadyToUpdateSubscribers:(CBPeripheralManager *)peripheral -{ - // Start sending again - [self sendData]; -} - - -@end - diff --git a/Classes/User/LoginView.m b/Classes/User/LoginView.m index 03f30fb..2751b1e 100755 --- a/Classes/User/LoginView.m +++ b/Classes/User/LoginView.m @@ -17,6 +17,11 @@ #import "LoginView.h" #import "DataBaseAvailability.h" +#import "utilities.h" +#import "AppDelegate.h" +#import "DiscoverUser.h" +#import "CurrentUser.h" +#import "Contacts.h" //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -81,6 +86,13 @@ - (IBAction)actionLogin:(id)sender { ParsePushUserAssign(); [ProgressHUD showSuccess:[NSString stringWithFormat:@"Welcome back %@!", user[PF_USER_FULLNAME]]]; + NSManagedObjectContext *context=((AppDelegate *) [UIApplication sharedApplication].delegate).DiscoverDatabaseContext; + [self loadUserDatabase:user.username fromContext:context]; + //post notification + //setup notification to other view controller that the context is avaiable. + NSDictionary *userInfo = context ? @{DatabaseAvailabilityContext : context } : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + [self dismissViewControllerAnimated:YES completion:nil]; } else [ProgressHUD showError:error.userInfo[@"error"]]; @@ -130,4 +142,100 @@ - (BOOL)textFieldShouldReturn:(UITextField *)textField return YES; } +-(void) loadUserDatabase:(NSString *)userName fromContext:(NSManagedObjectContext *)context +{ + NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"CurrentUser"]; + request.predicate = nil; + NSError *error; + NSArray *matches = [context executeFetchRequest:request error:&error]; + + //delete all existing database + //[request release]; + for(NSManagedObject *user in matches) { + [context deleteObject:user]; + } + + NSFetchRequest *dis_request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; + request.predicate = nil; + NSError *dis_error; + NSArray *dis_matches = [context executeFetchRequest:dis_request error:&dis_error]; + + //[request release]; + for(NSManagedObject *user in dis_matches) { + [context deleteObject:user]; + } + + NSFetchRequest *con_request = [NSFetchRequest fetchRequestWithEntityName:@"Contacts"]; + request.predicate = nil; + NSError *con_error; + NSArray *con_matches = [context executeFetchRequest:con_request error:&con_error]; + + //[request release]; + for(NSManagedObject *user in con_matches) { + [context deleteObject:user]; + } + + NSError *saveError = nil; + [context save:&saveError]; + + //load new database + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:userName]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + NSLog(@"setup the current user"); + PFUser *user = [objects firstObject]; + CurrentUser *current_user = [NSEntityDescription + insertNewObjectForEntityForName:@"CurrentUser" + inManagedObjectContext:context]; + current_user.userName = user.username; + current_user.userFullName = user[PF_USER_FULLNAME]; + current_user.sex = user[PF_USER_SEX]; + current_user.birthday = user[PF_USER_BIRTHDAY]; + current_user.interest = user[PF_USER_INTEREST]; + current_user.selfDescription = user[PF_USER_SELF_DESCRIPTION]; + current_user.thumbnail = user[PF_USER_THUMBNAIL]; + current_user.contactList = user[PF_USER_CONTACTS]; + + + //load contacts + for (NSString * contact_name in current_user.contactList) { + NSLog(@"setup the contact %@", contact_name); + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:contact_name]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + PFUser *user = [objects firstObject]; + Contacts *contact = [NSEntityDescription + insertNewObjectForEntityForName:@"Contacts" + inManagedObjectContext:context]; + contact.userName = user.username; + contact.userFullName = user[PF_USER_FULLNAME]; + contact.sex = user[PF_USER_SEX]; + contact.age = user[PF_USER_AGE]; + contact.interest = user[PF_USER_INTEREST]; + contact.selfDescription = user[PF_USER_SELF_DESCRIPTION]; + contact.thumbnail = user[PF_USER_THUMBNAIL]; + + } + }]; + + } + //load discovers + //loadDiscover function + + //SAVE CONTEXT + NSError *contactSaveError = nil; + [context save:&contactSaveError]; + + + } + }]; +} + + @end diff --git a/Classes/User/RegisterView.m b/Classes/User/RegisterView.m index d084765..171c5d5 100755 --- a/Classes/User/RegisterView.m +++ b/Classes/User/RegisterView.m @@ -17,6 +17,11 @@ #import "RegisterView.h" #import "DatabaseAvailability.h" +#import "utilities.h" +#import "AppDelegate.h" +#import "DiscoverUser.h" +#import "CurrentUser.h" +#import "Contacts.h" //------------------------------------------------------------------------------------------------------------------------------------------------- @interface RegisterView() @@ -92,6 +97,13 @@ - (IBAction)actionRegister:(id)sender { ParsePushUserAssign(); [ProgressHUD showSuccess:@"Succeed."]; + NSManagedObjectContext *context=((AppDelegate *) [UIApplication sharedApplication].delegate).DiscoverDatabaseContext; + [self loadUserDatabase:user.username fromContext:context]; + //post notification + //setup notification to other view controller that the context is avaiable. + NSDictionary *userInfo = context ? @{DatabaseAvailabilityContext : context } : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + [self dismissViewControllerAnimated:YES completion:nil]; } else [ProgressHUD showError:error.userInfo[@"error"]]; @@ -146,4 +158,99 @@ - (BOOL)textFieldShouldReturn:(UITextField *)textField return YES; } +-(void) loadUserDatabase:(NSString *)userName fromContext:(NSManagedObjectContext *)context +{ + NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"CurrentUser"]; + request.predicate = nil; + NSError *error; + NSArray *matches = [context executeFetchRequest:request error:&error]; + + //delete all existing database + //[request release]; + for(NSManagedObject *user in matches) { + [context deleteObject:user]; + } + + NSFetchRequest *dis_request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; + request.predicate = nil; + NSError *dis_error; + NSArray *dis_matches = [context executeFetchRequest:dis_request error:&dis_error]; + + //[request release]; + for(NSManagedObject *user in dis_matches) { + [context deleteObject:user]; + } + + NSFetchRequest *con_request = [NSFetchRequest fetchRequestWithEntityName:@"Contacts"]; + request.predicate = nil; + NSError *con_error; + NSArray *con_matches = [context executeFetchRequest:con_request error:&con_error]; + + //[request release]; + for(NSManagedObject *user in con_matches) { + [context deleteObject:user]; + } + + NSError *saveError = nil; + [context save:&saveError]; + + //load new database + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:userName]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + NSLog(@"setup the current user"); + PFUser *user = [objects firstObject]; + CurrentUser *current_user = [NSEntityDescription + insertNewObjectForEntityForName:@"CurrentUser" + inManagedObjectContext:context]; + current_user.userName = user.username; + current_user.userFullName = user[PF_USER_FULLNAME]; + current_user.sex = user[PF_USER_SEX]; + current_user.birthday = user[PF_USER_BIRTHDAY]; + current_user.interest = user[PF_USER_INTEREST]; + current_user.selfDescription = user[PF_USER_SELF_DESCRIPTION]; + current_user.thumbnail = user[PF_USER_THUMBNAIL]; + current_user.contactList = user[PF_USER_CONTACTS]; + + + //load contacts + for (NSString * contact_name in current_user.contactList) { + NSLog(@"setup the contact %@", contact_name); + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:contact_name]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + PFUser *user = [objects firstObject]; + Contacts *contact = [NSEntityDescription + insertNewObjectForEntityForName:@"Contacts" + inManagedObjectContext:context]; + contact.userName = user.username; + contact.userFullName = user[PF_USER_FULLNAME]; + contact.sex = user[PF_USER_SEX]; + contact.age = user[PF_USER_AGE]; + contact.interest = user[PF_USER_INTEREST]; + contact.selfDescription = user[PF_USER_SELF_DESCRIPTION]; + contact.thumbnail = user[PF_USER_THUMBNAIL]; + + } + }]; + + } + //load discovers + //loadDiscover function + + //SAVE CONTEXT + NSError *contactSaveError = nil; + [context save:&contactSaveError]; + + + } + }]; +} + @end diff --git a/Classes/User/RegisterView.xib b/Classes/User/RegisterView.xib index 8527525..b6e05bd 100755 --- a/Classes/User/RegisterView.xib +++ b/Classes/User/RegisterView.xib @@ -1,6 +1,7 @@ + diff --git a/Classes/Utilities/general/utilities.m b/Classes/Utilities/general/utilities.m index 0dd5053..6e31061 100755 --- a/Classes/Utilities/general/utilities.m +++ b/Classes/Utilities/general/utilities.m @@ -13,6 +13,21 @@ #import "WelcomeView.h" #import "NavigationController.h" + +//for load user +#import + +#import + +#import "ProgressHUD.h" + +#import "AppConstant.h" +#import "DiscoverUser.h" +#import "CurrentUser.h" +#import "Contacts.h" +#import "DatabaseAvailability.h" + + //------------------------------------------------------------------------------------------------------------------------------------------------- void LoginUser(id target) //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -21,6 +36,7 @@ void LoginUser(id target) [target presentViewController:navigationController animated:YES completion:nil]; } + //------------------------------------------------------------------------------------------------------------------------------------------------- void PostNotification(NSString *notification) //------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/Discover.xcdatamodeld/Discover.xcdatamodel/contents b/Discover.xcdatamodeld/Discover.xcdatamodel/contents index 7bf9832..3684683 100644 --- a/Discover.xcdatamodeld/Discover.xcdatamodel/contents +++ b/Discover.xcdatamodeld/Discover.xcdatamodel/contents @@ -1,16 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + - - + + + \ No newline at end of file diff --git a/app.xcodeproj/project.pbxproj b/app.xcodeproj/project.pbxproj index 45541fb..68670d4 100755 --- a/app.xcodeproj/project.pbxproj +++ b/app.xcodeproj/project.pbxproj @@ -126,17 +126,19 @@ 29EB241619E9292500D7AA97 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 29EB241519E9292500D7AA97 /* Images.xcassets */; }; 29EB241919E9292500D7AA97 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 29EB241719E9292500D7AA97 /* LaunchScreen.xib */; }; DE1C96E01AE37BB400610AF7 /* DiscoverUser+bluechat.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */; }; - DE1C96E51AE37F7B00610AF7 /* test.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1C96E41AE37F7B00610AF7 /* test.m */; }; DE1C96EA1AE73D1100610AF7 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE1C96E91AE73D1100610AF7 /* CoreBluetooth.framework */; }; DE31A2DD1AF7152800FD8DE2 /* CoreDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2DC1AF7152800FD8DE2 /* CoreDataTableViewController.m */; }; DE31A2E31AF7321700FD8DE2 /* AppDelegate+MOC.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2E21AF7321700FD8DE2 /* AppDelegate+MOC.m */; }; DE31A2E61AF7357400FD8DE2 /* DiscoversView+MOC.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2E51AF7357400FD8DE2 /* DiscoversView+MOC.m */; }; DE6DA8251ABF54CE007A683B /* DiscoversView.m in Sources */ = {isa = PBXBuildFile; fileRef = DE6DA8241ABF54CE007A683B /* DiscoversView.m */; }; DEB34C2D1AF0A7DF000A42B8 /* detailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */; }; - DEB4AE931AF6E48300ED6A77 /* CurrentUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB4AE921AF6E48300ED6A77 /* CurrentUser.m */; }; DEBB7B351AE2FD21009CD940 /* tab_discovers.png in Resources */ = {isa = PBXBuildFile; fileRef = DEBB7B341AE2FD21009CD940 /* tab_discovers.png */; }; DEBB7B481AE3753C009CD940 /* Discover.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */; }; - DEBB7B4B1AE37599009CD940 /* DiscoverUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEBB7B4A1AE37599009CD940 /* DiscoverUser.m */; }; + DEE855401B081778000AA5AC /* ContactsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8553F1B081778000AA5AC /* ContactsView.m */; }; + DEE855461B08232E000AA5AC /* contactDetailsVC.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE855451B08232E000AA5AC /* contactDetailsVC.m */; }; + DEE855491B09BE92000AA5AC /* CurrentUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE855481B09BE92000AA5AC /* CurrentUser.m */; }; + DEE8554C1B09BE93000AA5AC /* Contacts.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8554B1B09BE93000AA5AC /* Contacts.m */; }; + DEE8554F1B09BE93000AA5AC /* DiscoverUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8554E1B09BE93000AA5AC /* DiscoverUser.m */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -359,8 +361,6 @@ 29EB254F19E92ACD00D7AA97 /* AppConstant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppConstant.h; sourceTree = ""; }; DE1C96DE1AE37BB400610AF7 /* DiscoverUser+bluechat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DiscoverUser+bluechat.h"; sourceTree = ""; }; DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "DiscoverUser+bluechat.m"; sourceTree = ""; }; - DE1C96E31AE37F7B00610AF7 /* test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = test.h; sourceTree = ""; }; - DE1C96E41AE37F7B00610AF7 /* test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = test.m; sourceTree = ""; }; DE1C96E61AE47D7400610AF7 /* app.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = app.entitlements; sourceTree = ""; }; DE1C96E91AE73D1100610AF7 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; }; DE31A2DB1AF7152800FD8DE2 /* CoreDataTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreDataTableViewController.h; sourceTree = ""; }; @@ -376,12 +376,18 @@ DE6DA8241ABF54CE007A683B /* DiscoversView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoversView.m; sourceTree = ""; }; DEB34C2B1AF0A7DF000A42B8 /* detailsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = detailsView.h; sourceTree = ""; }; DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = detailsView.m; sourceTree = ""; }; - DEB4AE911AF6E48300ED6A77 /* CurrentUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CurrentUser.h; sourceTree = ""; }; - DEB4AE921AF6E48300ED6A77 /* CurrentUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CurrentUser.m; sourceTree = ""; }; DEBB7B341AE2FD21009CD940 /* tab_discovers.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tab_discovers.png; sourceTree = ""; }; DEBB7B471AE3753C009CD940 /* Discover.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Discover.xcdatamodel; sourceTree = ""; }; - DEBB7B491AE37599009CD940 /* DiscoverUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoverUser.h; sourceTree = ""; }; - DEBB7B4A1AE37599009CD940 /* DiscoverUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoverUser.m; sourceTree = ""; }; + DEE8553E1B081778000AA5AC /* ContactsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactsView.h; sourceTree = ""; }; + DEE8553F1B081778000AA5AC /* ContactsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactsView.m; sourceTree = ""; }; + DEE855441B08232E000AA5AC /* contactDetailsVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = contactDetailsVC.h; sourceTree = ""; }; + DEE855451B08232E000AA5AC /* contactDetailsVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = contactDetailsVC.m; sourceTree = ""; }; + DEE855471B09BE92000AA5AC /* CurrentUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CurrentUser.h; sourceTree = ""; }; + DEE855481B09BE92000AA5AC /* CurrentUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CurrentUser.m; sourceTree = ""; }; + DEE8554A1B09BE93000AA5AC /* Contacts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Contacts.h; sourceTree = ""; }; + DEE8554B1B09BE93000AA5AC /* Contacts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Contacts.m; sourceTree = ""; }; + DEE8554D1B09BE93000AA5AC /* DiscoverUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoverUser.h; sourceTree = ""; }; + DEE8554E1B09BE93000AA5AC /* DiscoverUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoverUser.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -445,7 +451,7 @@ 292338921AA350A400A47A39 /* Tabs */ = { isa = PBXGroup; children = ( - DE1C96E21AE37F2B00610AF7 /* 05_test */, + DE1C96E21AE37F2B00610AF7 /* 05_Contacts */, DE6DA81F1ABF5453007A683B /* 04_Discovers */, 292338931AA350A400A47A39 /* 01_Groups */, 292338961AA350A400A47A39 /* 02_Messages */, @@ -957,13 +963,17 @@ path = Frameworks; sourceTree = ""; }; - DE1C96E21AE37F2B00610AF7 /* 05_test */ = { + DE1C96E21AE37F2B00610AF7 /* 05_Contacts */ = { isa = PBXGroup; children = ( - DE1C96E31AE37F7B00610AF7 /* test.h */, - DE1C96E41AE37F7B00610AF7 /* test.m */, + DEE8553E1B081778000AA5AC /* ContactsView.h */, + DEE8553F1B081778000AA5AC /* ContactsView.m */, + DEE8554A1B09BE93000AA5AC /* Contacts.h */, + DEE8554B1B09BE93000AA5AC /* Contacts.m */, + DEE855441B08232E000AA5AC /* contactDetailsVC.h */, + DEE855451B08232E000AA5AC /* contactDetailsVC.m */, ); - name = 05_test; + name = 05_Contacts; sourceTree = ""; }; DE6DA81F1ABF5453007A683B /* 04_Discovers */ = { @@ -971,16 +981,16 @@ children = ( DE6DA8231ABF54CE007A683B /* DiscoversView.h */, DE6DA8241ABF54CE007A683B /* DiscoversView.m */, + DEE8554D1B09BE93000AA5AC /* DiscoverUser.h */, + DEE8554E1B09BE93000AA5AC /* DiscoverUser.m */, DE31A2E71AF74D2700FD8DE2 /* PhotoDatabaseAvailability.h */, DE31A2E41AF7357400FD8DE2 /* DiscoversView+MOC.h */, DE31A2E51AF7357400FD8DE2 /* DiscoversView+MOC.m */, + DEE855471B09BE92000AA5AC /* CurrentUser.h */, + DEE855481B09BE92000AA5AC /* CurrentUser.m */, DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */, DE1C96DE1AE37BB400610AF7 /* DiscoverUser+bluechat.h */, - DEB4AE911AF6E48300ED6A77 /* CurrentUser.h */, - DEB4AE921AF6E48300ED6A77 /* CurrentUser.m */, DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */, - DEBB7B491AE37599009CD940 /* DiscoverUser.h */, - DEBB7B4A1AE37599009CD940 /* DiscoverUser.m */, DEB34C2B1AF0A7DF000A42B8 /* detailsView.h */, DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */, DE31A2DB1AF7152800FD8DE2 /* CoreDataTableViewController.h */, @@ -1113,7 +1123,9 @@ 292339B41AA38E0F00A47A39 /* JSQMessagesCollectionViewLayoutAttributes.m in Sources */, 292339BD1AA38E0F00A47A39 /* JSQMessagesCollectionView.m in Sources */, 292339271AA38DBD00A47A39 /* AFNetworkReachabilityManager.m in Sources */, + DEE8554F1B09BE93000AA5AC /* DiscoverUser.m in Sources */, 292D2EFA1A84497A00CEC270 /* JSQSystemSoundPlayer.m in Sources */, + DEE855491B09BE92000AA5AC /* CurrentUser.m in Sources */, 292339BE1AA38E0F00A47A39 /* JSQMessagesCollectionViewCell.m in Sources */, 292339241AA38DBD00A47A39 /* AFHTTPRequestOperation.m in Sources */, 292338D71AA350A400A47A39 /* camera.m in Sources */, @@ -1121,6 +1133,7 @@ 292339B91AA38E0F00A47A39 /* JSQMessagesBubbleImage.m in Sources */, 292339311AA38DBD00A47A39 /* UIImageView+AFNetworking.m in Sources */, 292339A91AA38E0F00A47A39 /* UIView+JSQMessages.m in Sources */, + DEE855461B08232E000AA5AC /* contactDetailsVC.m in Sources */, 2923392C1AA38DBD00A47A39 /* AFURLSessionManager.m in Sources */, 292339AD1AA38E0F00A47A39 /* JSQMessagesAvatarImageFactory.m in Sources */, 292339301AA38DBD00A47A39 /* UIButton+AFNetworking.m in Sources */, @@ -1128,7 +1141,6 @@ 292338CB1AA350A400A47A39 /* MessagesView.m in Sources */, 292339BB1AA38E0F00A47A39 /* JSQVideoMediaItem.m in Sources */, 2923392D1AA38DBD00A47A39 /* AFNetworkActivityIndicatorManager.m in Sources */, - DEB4AE931AF6E48300ED6A77 /* CurrentUser.m in Sources */, 292338CD1AA350A400A47A39 /* ProfileView.m in Sources */, 292338D31AA350A400A47A39 /* WelcomeView.m in Sources */, 29EB240E19E9292500D7AA97 /* AppDelegate.m in Sources */, @@ -1151,6 +1163,7 @@ 292339B31AA38E0F00A47A39 /* JSQMessagesCollectionViewFlowLayoutInvalidationContext.m in Sources */, DEB34C2D1AF0A7DF000A42B8 /* detailsView.m in Sources */, 292339C91AA38E0F00A47A39 /* JSQMessagesToolbarContentView.m in Sources */, + DEE855401B081778000AA5AC /* ContactsView.m in Sources */, 292339B11AA38E0F00A47A39 /* JSQMessagesToolbarButtonFactory.m in Sources */, 2923392E1AA38DBD00A47A39 /* UIActivityIndicatorView+AFNetworking.m in Sources */, 2923392B1AA38DBD00A47A39 /* AFURLResponseSerialization.m in Sources */, @@ -1169,6 +1182,7 @@ 292339C11AA38E0F00A47A39 /* JSQMessagesCollectionViewCellOutgoing.m in Sources */, 292339AB1AA38E0F00A47A39 /* JSQMessagesViewController.m in Sources */, 292339291AA38DBD00A47A39 /* AFURLConnectionOperation.m in Sources */, + DEE8554C1B09BE93000AA5AC /* Contacts.m in Sources */, 292339AF1AA38E0F00A47A39 /* JSQMessagesMediaViewBubbleImageMasker.m in Sources */, 292339B01AA38E0F00A47A39 /* JSQMessagesTimestampFormatter.m in Sources */, DE31A2E61AF7357400FD8DE2 /* DiscoversView+MOC.m in Sources */, @@ -1177,11 +1191,9 @@ 292339C31AA38E0F00A47A39 /* JSQMessagesComposerTextView.m in Sources */, 292338C51AA350A400A47A39 /* SelectSingleView.m in Sources */, 292339AE1AA38E0F00A47A39 /* JSQMessagesBubbleImageFactory.m in Sources */, - DE1C96E51AE37F7B00610AF7 /* test.m in Sources */, 292339B81AA38E0F00A47A39 /* JSQMessagesAvatarImage.m in Sources */, 2923392A1AA38DBD00A47A39 /* AFURLRequestSerialization.m in Sources */, 292339A51AA38E0F00A47A39 /* NSString+JSQMessages.m in Sources */, - DEBB7B4B1AE37599009CD940 /* DiscoverUser.m in Sources */, 292339CB1AA38E0F00A47A39 /* JSQMessagesTypingIndicatorFooterView.m in Sources */, 292339B71AA38E0F00A47A39 /* JSQMessage.m in Sources */, 292338D11AA350A400A47A39 /* RegisterView.m in Sources */, diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 56d095e711f9a886077a4ed8f8bf435a2b638242..cf68833f51eae42b3d2f6b213ca2980e3eae3e70 100644 GIT binary patch literal 70224 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 literal 66507 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 //------------------------------------------------------------------------------------------------------------------------------------------------- +@property (strong, nonatomic) NSManagedObjectContext *DiscoverDatabaseContext; + + @property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) UITabBarController *tabBarController; + @property (strong, nonatomic) GroupsView *groupsView; @property (strong, nonatomic) MessagesView *messagesView; @property (strong, nonatomic) ProfileView *profileView; @property (strong, nonatomic) DiscoversView *discoversView; +@property (strong, nonatomic) ContactsView *contactsView; @end diff --git a/app/AppDelegate.m b/app/AppDelegate.m index a98f828..8a5eec1 100755 --- a/app/AppDelegate.m +++ b/app/AppDelegate.m @@ -27,6 +27,7 @@ #import "TransferService.h" #import #import "DiscoverUser.h" +#import "Contacts.h" #import "DatabaseAvailability.h" #import "AppDelegate+MOC.h" @@ -46,8 +47,7 @@ @interface AppDelegate () Date: Sun, 24 May 2015 14:11:57 -0700 Subject: [PATCH 08/33] added image display for detail view. need debug --- Classes/Tabs/detailsView.m | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m index d33b9ec..d8d8674 100644 --- a/Classes/Tabs/detailsView.m +++ b/Classes/Tabs/detailsView.m @@ -33,7 +33,7 @@ @interface detailsView () @property UIView *labelContainerView; @property UIButton *poke; @property UIButton *chat; -@property PFImageView *imageUser; +@property (nonatomic, strong) PFImageView *imageUser; @property UILabel *label; @end @@ -45,22 +45,24 @@ @implementation detailsView -(void)viewDidLoad { [super viewDidLoad]; + self.imageUser = [[PFImageView alloc] init]; [self loadView]; [self loadUser]; self.imageUser.layer.cornerRadius = self.imageUser.frame.size.width / 2; self.imageUser.layer.masksToBounds = YES; - [self.imageUser setBackgroundColor:[UIColor grayColor]]; +// [self.imageUser setBackgroundColor:[UIColor grayColor]]; self.imageUser.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; self.imageContainerView = [[UIView alloc] initWithFrame:CGRectZero]; self.imageContainerView.translatesAutoresizingMaskIntoConstraints = NO; [self.imageContainerView addSubview:self.imageUser]; [self.view addSubview:self.imageContainerView]; - + self.label = [[UILabel alloc] init]; - [self.label setBackgroundColor:[UIColor redColor]]; - self.label.text = @"testing"; + // [self.label setBackgroundColor:[UIColor redColor]]; + self.label.text = self.discoverUser.userName; + NSLog(@"text label = %@", self.label.text); self.label.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; self.labelContainerView = [[UIView alloc] initWithFrame:CGRectZero]; self.labelContainerView.translatesAutoresizingMaskIntoConstraints = NO; @@ -367,15 +369,33 @@ -(void)actionChat } + + - (void)loadUser //------------------------------------------------------------------------------------------------------------------------------------------------- { - PFUser *user = [PFUser currentUser]; - [self.imageUser setFile:user[PF_USER_PICTURE]]; - [self.imageUser loadInBackground]; + + // PFUser *user = [PFUser currentUser]; + + + // self.label.text = user[PF_USER_FULLNAME]; + NSLog(@"debug = %@", self.discoverUser.userName); + + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:self.discoverUser.userName]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + NSLog(@"debug 2 = %@ objects count = %lu" , self.discoverUser.userName, (unsigned long)[objects count]); + PFUser *user = [objects firstObject]; + //CreateMessageItem([PFUser currentUser], discoverId, discover[PF_GROUPS_NAME]); + [self.imageUser loadInBackground]; + [self.imageUser setFile:user[PF_USER_PICTURE]]; + } + }]; - self.label.text = user[PF_USER_FULLNAME]; } From 29a21a9b7ab9d7ff59d0426cd97a53ff5e41cbb8 Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Sun, 24 May 2015 15:34:30 -0700 Subject: [PATCH 09/33] store contact list into parse add contact list and retrieve after login. --- Classes/Tabs/CurrentUser.h | 6 +- Classes/Tabs/CurrentUser.m | 4 +- Classes/Tabs/DiscoversView.m | 8 +- Classes/Tabs/detailsView.m | 24 ++++++ Classes/User/LoginView.h | 2 +- Classes/User/LoginView.m | 70 ++++++++++-------- Classes/User/RegisterView.m | 30 +------- .../Discover.xcdatamodel/contents | 2 +- app.xcodeproj/project.pbxproj | 12 +-- .../UserInterfaceState.xcuserstate | Bin 70224 -> 70135 bytes app/AppDelegate.m | 24 +++++- 11 files changed, 107 insertions(+), 75 deletions(-) diff --git a/Classes/Tabs/CurrentUser.h b/Classes/Tabs/CurrentUser.h index 7c650ad..ff80de0 100644 --- a/Classes/Tabs/CurrentUser.h +++ b/Classes/Tabs/CurrentUser.h @@ -2,7 +2,7 @@ // CurrentUser.h // app // -// Created by kiddjacky on 5/17/15. +// Created by kiddjacky on 5/24/15. // Copyright (c) 2015 KZ. All rights reserved. // @@ -18,11 +18,11 @@ @property (nonatomic, retain) NSString * interest; @property (nonatomic, retain) NSString * selfDescription; @property (nonatomic, retain) NSString * sex; -@property (nonatomic, retain) NSString * userFullName; @property (nonatomic, retain) NSString * userName; @property (nonatomic, retain) id thumbnail; @property (nonatomic, retain) id picture; -@property (nonatomic, retain) id contactList; +@property (nonatomic, retain) NSData * contactList; +@property (nonatomic, retain) NSString * userFullName; @property (nonatomic, retain) NSSet *contacts; @property (nonatomic, retain) NSSet *discovers; @end diff --git a/Classes/Tabs/CurrentUser.m b/Classes/Tabs/CurrentUser.m index c508191..71106ce 100644 --- a/Classes/Tabs/CurrentUser.m +++ b/Classes/Tabs/CurrentUser.m @@ -2,7 +2,7 @@ // CurrentUser.m // app // -// Created by kiddjacky on 5/17/15. +// Created by kiddjacky on 5/24/15. // Copyright (c) 2015 KZ. All rights reserved. // @@ -18,11 +18,11 @@ @implementation CurrentUser @dynamic interest; @dynamic selfDescription; @dynamic sex; -@dynamic userFullName; @dynamic userName; @dynamic thumbnail; @dynamic picture; @dynamic contactList; +@dynamic userFullName; @dynamic contacts; @dynamic discovers; diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index 7ed6400..0ed5628 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -74,14 +74,16 @@ - (void)setManagedObjectContext:(NSManagedObjectContext *)managedObjectContext { _managedObjectContext = managedObjectContext; + + NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; request.predicate = nil; + + request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"timeMeet" - ascending:NO - selector:@selector(localizedStandardCompare:)]]; + ascending:NO]]; - //NSLog(@"Discover set managed object context %@", managedObjectContext); self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m index d8d8674..f03de3a 100644 --- a/Classes/Tabs/detailsView.m +++ b/Classes/Tabs/detailsView.m @@ -22,6 +22,7 @@ #import "ChatView.h" #import "Contacts.h" +#import "CurrentUser.h" #import "DatabaseAvailability.h" @interface detailsView () @@ -306,6 +307,7 @@ -(void)actionAdd { NSError *error; NSArray *matches = [self.context executeFetchRequest:request error:&error]; Contacts *contact = nil; + CurrentUser *currentUser = nil; if (error) { NSLog(@"request error!"); @@ -329,8 +331,12 @@ -(void)actionAdd { contact.selfDescription = user[PF_USER_SELF_DESCRIPTION]; contact.thumbnail = user[PF_USER_THUMBNAIL]; + + NSError *error=nil; + + if (![self.context save:&error]) { NSLog(@"Couldn't save %@", [error localizedDescription]); } @@ -339,6 +345,24 @@ -(void)actionAdd { //setup notification to other view controller that the context is avaiable. NSDictionary *userInfo = self.context ? @{DatabaseAvailabilityContext : self.context } : nil; [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + + + //add contact to current user contact list + PFUser *user = [PFUser currentUser]; + NSLog(@"original contact list is %@", user[PF_USER_CONTACTS]); + NSMutableArray *contactList = [[NSMutableArray alloc] init]; + [contactList addObject:contact.userName]; + [contactList addObjectsFromArray:user[PF_USER_CONTACTS]]; + NSLog(@"now contact list is %@", contactList); + user[PF_USER_CONTACTS] = contactList; + [user saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) + { + if (error == nil) + { + [ProgressHUD showSuccess:@"Add Contact!"]; + } + else [ProgressHUD showError:@"Network error."]; + }]; } } diff --git a/Classes/User/LoginView.h b/Classes/User/LoginView.h index 8127f9e..f10c5bc 100755 --- a/Classes/User/LoginView.h +++ b/Classes/User/LoginView.h @@ -14,5 +14,5 @@ //------------------------------------------------------------------------------------------------------------------------------------------------- @interface LoginView : UITableViewController //------------------------------------------------------------------------------------------------------------------------------------------------- - +@property (nonatomic, strong) NSManagedObjectContext *managedObjectContext; @end diff --git a/Classes/User/LoginView.m b/Classes/User/LoginView.m index 2751b1e..c1b7395 100755 --- a/Classes/User/LoginView.m +++ b/Classes/User/LoginView.m @@ -42,6 +42,22 @@ @implementation LoginView @synthesize cellEmail, cellPassword, cellButton; @synthesize fieldEmail, fieldPassword; +//------------------------------------------------------------------------------------------------------------------------------------------------- +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + + + return self; +} + +- (void)setManagedObjectContext:(NSManagedObjectContext *)managedObjectContext +{ + _managedObjectContext = managedObjectContext; + +} + //------------------------------------------------------------------------------------------------------------------------------------------------- - (void)viewDidLoad //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -86,11 +102,12 @@ - (IBAction)actionLogin:(id)sender { ParsePushUserAssign(); [ProgressHUD showSuccess:[NSString stringWithFormat:@"Welcome back %@!", user[PF_USER_FULLNAME]]]; - NSManagedObjectContext *context=((AppDelegate *) [UIApplication sharedApplication].delegate).DiscoverDatabaseContext; - [self loadUserDatabase:user.username fromContext:context]; + AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; + self.managedObjectContext = appDelegate.DiscoverDatabaseContext; + [self loadUserDatabase]; //post notification //setup notification to other view controller that the context is avaiable. - NSDictionary *userInfo = context ? @{DatabaseAvailabilityContext : context } : nil; + NSDictionary *userInfo = self.managedObjectContext ? @{DatabaseAvailabilityContext : self.managedObjectContext } : nil; [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; [self dismissViewControllerAnimated:YES completion:nil]; @@ -142,66 +159,63 @@ - (BOOL)textFieldShouldReturn:(UITextField *)textField return YES; } --(void) loadUserDatabase:(NSString *)userName fromContext:(NSManagedObjectContext *)context +-(void) loadUserDatabase { NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"CurrentUser"]; request.predicate = nil; NSError *error; - NSArray *matches = [context executeFetchRequest:request error:&error]; + NSArray *matches = [self.managedObjectContext executeFetchRequest:request error:&error]; //delete all existing database //[request release]; for(NSManagedObject *user in matches) { - [context deleteObject:user]; + [self.managedObjectContext deleteObject:user]; } NSFetchRequest *dis_request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; request.predicate = nil; NSError *dis_error; - NSArray *dis_matches = [context executeFetchRequest:dis_request error:&dis_error]; + NSArray *dis_matches = [self.managedObjectContext executeFetchRequest:dis_request error:&dis_error]; //[request release]; for(NSManagedObject *user in dis_matches) { - [context deleteObject:user]; + [self.managedObjectContext deleteObject:user]; } NSFetchRequest *con_request = [NSFetchRequest fetchRequestWithEntityName:@"Contacts"]; request.predicate = nil; NSError *con_error; - NSArray *con_matches = [context executeFetchRequest:con_request error:&con_error]; + NSArray *con_matches = [self.managedObjectContext executeFetchRequest:con_request error:&con_error]; //[request release]; for(NSManagedObject *user in con_matches) { - [context deleteObject:user]; + [self.managedObjectContext deleteObject:user]; } NSError *saveError = nil; - [context save:&saveError]; + [self.managedObjectContext save:&saveError]; //load new database - PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; - [query whereKey:PF_USER_USERNAME equalTo:userName]; - [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) - { - if ([objects count] != 0) - { - NSLog(@"setup the current user"); - PFUser *user = [objects firstObject]; - CurrentUser *current_user = [NSEntityDescription + CurrentUser *current_user = nil; + NSLog(@"setup the current user after login"); + PFUser *user = [PFUser currentUser]; + NSLog(@"setup setp1 load currentUser %@", user.username); + current_user = [NSEntityDescription insertNewObjectForEntityForName:@"CurrentUser" - inManagedObjectContext:context]; - current_user.userName = user.username; + inManagedObjectContext:self.managedObjectContext]; + current_user.userName = user[PF_USER_USERNAME]; current_user.userFullName = user[PF_USER_FULLNAME]; current_user.sex = user[PF_USER_SEX]; current_user.birthday = user[PF_USER_BIRTHDAY]; current_user.interest = user[PF_USER_INTEREST]; current_user.selfDescription = user[PF_USER_SELF_DESCRIPTION]; current_user.thumbnail = user[PF_USER_THUMBNAIL]; - current_user.contactList = user[PF_USER_CONTACTS]; + //current_user.contactList = user[PF_USER_CONTACTS]; + //NSLog(@"user name is %@, contact list is %@", current_user.userName, current_user.contactList); //load contacts - for (NSString * contact_name in current_user.contactList) { + for (NSString * contact_name in user[PF_USER_CONTACTS]) { NSLog(@"setup the contact %@", contact_name); PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; [query whereKey:PF_USER_USERNAME equalTo:contact_name]; @@ -212,7 +226,7 @@ -(void) loadUserDatabase:(NSString *)userName fromContext:(NSManagedObjectContex PFUser *user = [objects firstObject]; Contacts *contact = [NSEntityDescription insertNewObjectForEntityForName:@"Contacts" - inManagedObjectContext:context]; + inManagedObjectContext:self.managedObjectContext]; contact.userName = user.username; contact.userFullName = user[PF_USER_FULLNAME]; contact.sex = user[PF_USER_SEX]; @@ -230,11 +244,9 @@ -(void) loadUserDatabase:(NSString *)userName fromContext:(NSManagedObjectContex //SAVE CONTEXT NSError *contactSaveError = nil; - [context save:&contactSaveError]; - + [self.managedObjectContext save:&contactSaveError]; - } - }]; + } diff --git a/Classes/User/RegisterView.m b/Classes/User/RegisterView.m index 171c5d5..203c389 100755 --- a/Classes/User/RegisterView.m +++ b/Classes/User/RegisterView.m @@ -201,7 +201,7 @@ -(void) loadUserDatabase:(NSString *)userName fromContext:(NSManagedObjectContex { if ([objects count] != 0) { - NSLog(@"setup the current user"); + NSLog(@"setup the current user after register"); PFUser *user = [objects firstObject]; CurrentUser *current_user = [NSEntityDescription insertNewObjectForEntityForName:@"CurrentUser" @@ -216,34 +216,6 @@ -(void) loadUserDatabase:(NSString *)userName fromContext:(NSManagedObjectContex current_user.contactList = user[PF_USER_CONTACTS]; - //load contacts - for (NSString * contact_name in current_user.contactList) { - NSLog(@"setup the contact %@", contact_name); - PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; - [query whereKey:PF_USER_USERNAME equalTo:contact_name]; - [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) - { - if ([objects count] != 0) - { - PFUser *user = [objects firstObject]; - Contacts *contact = [NSEntityDescription - insertNewObjectForEntityForName:@"Contacts" - inManagedObjectContext:context]; - contact.userName = user.username; - contact.userFullName = user[PF_USER_FULLNAME]; - contact.sex = user[PF_USER_SEX]; - contact.age = user[PF_USER_AGE]; - contact.interest = user[PF_USER_INTEREST]; - contact.selfDescription = user[PF_USER_SELF_DESCRIPTION]; - contact.thumbnail = user[PF_USER_THUMBNAIL]; - - } - }]; - - } - //load discovers - //loadDiscover function - //SAVE CONTEXT NSError *contactSaveError = nil; [context save:&contactSaveError]; diff --git a/Discover.xcdatamodeld/Discover.xcdatamodel/contents b/Discover.xcdatamodeld/Discover.xcdatamodel/contents index 3684683..3e9b43c 100644 --- a/Discover.xcdatamodeld/Discover.xcdatamodel/contents +++ b/Discover.xcdatamodeld/Discover.xcdatamodel/contents @@ -12,7 +12,7 @@ - + diff --git a/app.xcodeproj/project.pbxproj b/app.xcodeproj/project.pbxproj index 68670d4..e7a7210 100755 --- a/app.xcodeproj/project.pbxproj +++ b/app.xcodeproj/project.pbxproj @@ -136,9 +136,9 @@ DEBB7B481AE3753C009CD940 /* Discover.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */; }; DEE855401B081778000AA5AC /* ContactsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8553F1B081778000AA5AC /* ContactsView.m */; }; DEE855461B08232E000AA5AC /* contactDetailsVC.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE855451B08232E000AA5AC /* contactDetailsVC.m */; }; - DEE855491B09BE92000AA5AC /* CurrentUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE855481B09BE92000AA5AC /* CurrentUser.m */; }; DEE8554C1B09BE93000AA5AC /* Contacts.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8554B1B09BE93000AA5AC /* Contacts.m */; }; DEE8554F1B09BE93000AA5AC /* DiscoverUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8554E1B09BE93000AA5AC /* DiscoverUser.m */; }; + DEE855521B12817C000AA5AC /* CurrentUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE855511B12817C000AA5AC /* CurrentUser.m */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -382,12 +382,12 @@ DEE8553F1B081778000AA5AC /* ContactsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactsView.m; sourceTree = ""; }; DEE855441B08232E000AA5AC /* contactDetailsVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = contactDetailsVC.h; sourceTree = ""; }; DEE855451B08232E000AA5AC /* contactDetailsVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = contactDetailsVC.m; sourceTree = ""; }; - DEE855471B09BE92000AA5AC /* CurrentUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CurrentUser.h; sourceTree = ""; }; - DEE855481B09BE92000AA5AC /* CurrentUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CurrentUser.m; sourceTree = ""; }; DEE8554A1B09BE93000AA5AC /* Contacts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Contacts.h; sourceTree = ""; }; DEE8554B1B09BE93000AA5AC /* Contacts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Contacts.m; sourceTree = ""; }; DEE8554D1B09BE93000AA5AC /* DiscoverUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoverUser.h; sourceTree = ""; }; DEE8554E1B09BE93000AA5AC /* DiscoverUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoverUser.m; sourceTree = ""; }; + DEE855501B12817C000AA5AC /* CurrentUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CurrentUser.h; sourceTree = ""; }; + DEE855511B12817C000AA5AC /* CurrentUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CurrentUser.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -986,8 +986,8 @@ DE31A2E71AF74D2700FD8DE2 /* PhotoDatabaseAvailability.h */, DE31A2E41AF7357400FD8DE2 /* DiscoversView+MOC.h */, DE31A2E51AF7357400FD8DE2 /* DiscoversView+MOC.m */, - DEE855471B09BE92000AA5AC /* CurrentUser.h */, - DEE855481B09BE92000AA5AC /* CurrentUser.m */, + DEE855501B12817C000AA5AC /* CurrentUser.h */, + DEE855511B12817C000AA5AC /* CurrentUser.m */, DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */, DE1C96DE1AE37BB400610AF7 /* DiscoverUser+bluechat.h */, DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */, @@ -1118,6 +1118,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + DEE855521B12817C000AA5AC /* CurrentUser.m in Sources */, 292338F61AA374C300A47A39 /* SelectMultipleView.m in Sources */, 292338C71AA350A400A47A39 /* AddressBookView.m in Sources */, 292339B41AA38E0F00A47A39 /* JSQMessagesCollectionViewLayoutAttributes.m in Sources */, @@ -1125,7 +1126,6 @@ 292339271AA38DBD00A47A39 /* AFNetworkReachabilityManager.m in Sources */, DEE8554F1B09BE93000AA5AC /* DiscoverUser.m in Sources */, 292D2EFA1A84497A00CEC270 /* JSQSystemSoundPlayer.m in Sources */, - DEE855491B09BE92000AA5AC /* CurrentUser.m in Sources */, 292339BE1AA38E0F00A47A39 /* JSQMessagesCollectionViewCell.m in Sources */, 292339241AA38DBD00A47A39 /* AFHTTPRequestOperation.m in Sources */, 292338D71AA350A400A47A39 /* camera.m in Sources */, diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index cf68833f51eae42b3d2f6b213ca2980e3eae3e70..eca8a090dad91c322f2dd9721e82c3922cb9d0d1 100644 GIT binary patch delta 35975 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 delta 35994 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 Date: Sun, 24 May 2015 15:39:57 -0700 Subject: [PATCH 10/33] fix detail view --- Classes/Tabs/detailsView.m | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m index d8d8674..b911023 100644 --- a/Classes/Tabs/detailsView.m +++ b/Classes/Tabs/detailsView.m @@ -13,6 +13,7 @@ #import #import +#import #import "ProgressHUD.h" @@ -33,7 +34,7 @@ @interface detailsView () @property UIView *labelContainerView; @property UIButton *poke; @property UIButton *chat; -@property (nonatomic, strong) PFImageView *imageUser; +@property PFImageView *imageUser; @property UILabel *label; @end @@ -62,6 +63,7 @@ -(void)viewDidLoad { self.label = [[UILabel alloc] init]; // [self.label setBackgroundColor:[UIColor redColor]]; self.label.text = self.discoverUser.userName; + [self.label setFont:[UIFont fontWithName:@"System" size:30]]; NSLog(@"text label = %@", self.label.text); self.label.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; self.labelContainerView = [[UIView alloc] initWithFrame:CGRectZero]; @@ -72,14 +74,19 @@ -(void)viewDidLoad { //self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext; - _poke = [UIButton buttonWithType:UIButtonTypeRoundedRect]; + _poke = [UIButton buttonWithType:UIButtonTypeCustom]; + self.poke.layer.cornerRadius = 10; + self.poke.clipsToBounds = YES; [self.poke setTitle:@"Add" forState:UIControlStateNormal]; - [self.poke setBackgroundColor:[UIColor greenColor]]; + [self.poke setBackgroundColor:[UIColor blueColor]]; + self.poke.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; - _chat = [UIButton buttonWithType:UIButtonTypeRoundedRect]; + _chat = [UIButton buttonWithType:UIButtonTypeCustom]; + self.chat.layer.cornerRadius = 10; + self.chat.clipsToBounds = YES; [self.chat setTitle:@"Chat" forState:UIControlStateNormal]; - [self.chat setBackgroundColor:[UIColor greenColor]]; + [self.chat setBackgroundColor:[UIColor blueColor]]; self.chat.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; self.chatContainerView = [[UIView alloc] initWithFrame:CGRectZero]; @@ -391,8 +398,9 @@ - (void)loadUser NSLog(@"debug 2 = %@ objects count = %lu" , self.discoverUser.userName, (unsigned long)[objects count]); PFUser *user = [objects firstObject]; //CreateMessageItem([PFUser currentUser], discoverId, discover[PF_GROUPS_NAME]); - [self.imageUser loadInBackground]; + [self.imageUser setFile:user[PF_USER_PICTURE]]; + [self.imageUser loadInBackground]; } }]; From 5fdde95e6d135b87cdbd18b8b0153bba9afdac0c Mon Sep 17 00:00:00 2001 From: dandanlau Date: Sun, 24 May 2015 17:13:50 -0700 Subject: [PATCH 11/33] fixed title view layout --- Classes/Tabs/detailsView.m | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m index afa8167..03338ca 100644 --- a/Classes/Tabs/detailsView.m +++ b/Classes/Tabs/detailsView.m @@ -52,7 +52,9 @@ -(void)viewDidLoad { [self loadUser]; - self.imageUser.layer.cornerRadius = self.imageUser.frame.size.width / 2; + + NSLog(@"corner radius = %f", self.imageUser.frame.size.width / 2); +// self.imageUser.layer.cornerRadius = 10; self.imageUser.layer.masksToBounds = YES; // [self.imageUser setBackgroundColor:[UIColor grayColor]]; self.imageUser.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; @@ -127,9 +129,9 @@ -(void)viewDidLoad { relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeWidth - multiplier:1.0 + multiplier:0.5 constant:0]]; - /* + // Height constraint, half of parent view height [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.mapContainerView attribute:NSLayoutAttributeHeight @@ -138,14 +140,14 @@ -(void)viewDidLoad { attribute:NSLayoutAttributeHeight multiplier:0.5 constant:0]]; - */ + // Center horizontally [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.mapContainerView attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX - multiplier:1.0 + multiplier:1 constant:0.0]]; /* // Center vertically @@ -214,7 +216,7 @@ -(void)viewDidLoad { views:viewsDictionary]; - NSArray *constraint_POS_V = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-80-[mapView]-100-|" + NSArray *constraint_POS_V = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-100-[mapView]-100-|" options:0 metrics:nil views:viewsDictionary]; @@ -422,7 +424,7 @@ - (void)loadUser NSLog(@"debug 2 = %@ objects count = %lu" , self.discoverUser.userName, (unsigned long)[objects count]); PFUser *user = [objects firstObject]; //CreateMessageItem([PFUser currentUser], discoverId, discover[PF_GROUPS_NAME]); - + self.imageUser.layer.cornerRadius = self.imageUser.frame.size.width / 2; [self.imageUser setFile:user[PF_USER_PICTURE]]; [self.imageUser loadInBackground]; } From b5206603f35b76f8eefb658cb61bc7da4eda1e18 Mon Sep 17 00:00:00 2001 From: dandanlau Date: Tue, 2 Jun 2015 02:17:39 -0700 Subject: [PATCH 12/33] added icons, changed contactDetailsVC.m but not complete --- Resources/Images/tabbar/contact-icon.png | Bin 0 -> 792 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Resources/Images/tabbar/contact-icon.png diff --git a/Resources/Images/tabbar/contact-icon.png b/Resources/Images/tabbar/contact-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..eba5e4c57899b5d5e133ca8061fc47fe7739f247 GIT binary patch literal 792 zcmV+z1LypSP)T`&Ut%JRrtfjeM0sH1@2daw;_20rx=<)lY#r83K<3`@jIt*8r-)O7Km-O^O#QpaSd&_=?OWP|&!pr@?K_ zB!9W)Q^79q9E<@!8YAE^SQPN_B{u>-?xdIC0hkYtn9HZ9n#D>`12$?vi3O~Zdf&LV zF9N8#o&+xtN}wo-y};gTOB)ExN%u#nM*R-U~~I@wYkja2tTRJ5x+N=jGUE< zI01R)_G_+XwliR+SFe$9j+#kYVD7|Ad2MR-?${aN$oj)5b@$%y}Z!#@%=ogu6e$+&vDd+geO{YNDwCHr3e8$?JkG-xvToC{NIHn>Pp5S z+{@opFHoE1fzkNJS=*yB4<8;x`6`!M#FZ@WQd%uh53O-lqG06_&;MOYX_>C&{DSQ_ zx1aM82Ir-N=K#MWl_Ag5uI0X^Ed7rOlkKX0nGZz?1#ooCAtvQ`Pk7`XlV-CP0e=9x WPR0>?%i3-L0000 Date: Tue, 2 Jun 2015 02:32:21 -0700 Subject: [PATCH 13/33] recheckin --- .../AppIcon.appiconset/0058.png | Bin 5391 -> 0 bytes .../AppIcon.appiconset/0080.png | Bin 6766 -> 0 bytes .../AppIcon.appiconset/0087.png | Bin 9441 -> 0 bytes .../AppIcon.appiconset/0120-1.png | Bin 10615 -> 0 bytes .../AppIcon.appiconset/0120.png | Bin 10615 -> 0 bytes .../AppIcon.appiconset/Contents.json | 12 +++++------ .../AppIcon.appiconset/Whale_preview-1.png | Bin 0 -> 20798 bytes .../AppIcon.appiconset/Whale_preview-2.png | Bin 0 -> 20798 bytes .../AppIcon.appiconset/Whale_preview-3.png | Bin 0 -> 77060 bytes .../AppIcon.appiconset/Whale_preview-4.png | Bin 0 -> 20798 bytes .../AppIcon.appiconset/Whale_preview-5.png | Bin 0 -> 77060 bytes .../Whale_preview_120-1.png | Bin 0 -> 39752 bytes .../AppIcon.appiconset/Whale_preview_120.png | Bin 0 -> 39752 bytes .../AppIcon.appiconset/Whale_preview_180.png | Bin 0 -> 39752 bytes .../Image.imageset/Contents.json | 20 ++++++++++++++++++ 15 files changed, 26 insertions(+), 6 deletions(-) delete mode 100755 app/Images.xcassets/AppIcon.appiconset/0058.png delete mode 100755 app/Images.xcassets/AppIcon.appiconset/0080.png delete mode 100755 app/Images.xcassets/AppIcon.appiconset/0087.png delete mode 100755 app/Images.xcassets/AppIcon.appiconset/0120-1.png delete mode 100755 app/Images.xcassets/AppIcon.appiconset/0120.png create mode 100644 app/Images.xcassets/AppIcon.appiconset/Whale_preview-1.png create mode 100644 app/Images.xcassets/AppIcon.appiconset/Whale_preview-2.png create mode 100644 app/Images.xcassets/AppIcon.appiconset/Whale_preview-3.png create mode 100644 app/Images.xcassets/AppIcon.appiconset/Whale_preview-4.png create mode 100644 app/Images.xcassets/AppIcon.appiconset/Whale_preview-5.png create mode 100644 app/Images.xcassets/AppIcon.appiconset/Whale_preview_120-1.png create mode 100644 app/Images.xcassets/AppIcon.appiconset/Whale_preview_120.png create mode 100644 app/Images.xcassets/AppIcon.appiconset/Whale_preview_180.png create mode 100644 app/Images.xcassets/Image.imageset/Contents.json diff --git a/app/Images.xcassets/AppIcon.appiconset/0058.png b/app/Images.xcassets/AppIcon.appiconset/0058.png deleted file mode 100755 index 9823ef36125f8406d41f132f9a30d1c7e2f8d516..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5391 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 diff --git a/app/Images.xcassets/AppIcon.appiconset/0080.png b/app/Images.xcassets/AppIcon.appiconset/0080.png deleted file mode 100755 index be5dedfaccff31b910484d4be5985f03843bfbd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6766 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 a>v{xBJ{zsR{QHH0k(XAHs(EYn{{I1!9IGk- diff --git a/app/Images.xcassets/AppIcon.appiconset/0087.png b/app/Images.xcassets/AppIcon.appiconset/0087.png deleted file mode 100755 index 39b8449f2ec57597437ea3aa8dc987cbfdabf210..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9441 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 TUXtTKKO!i~s>xJHS%myA-Y7tT diff --git a/app/Images.xcassets/AppIcon.appiconset/0120-1.png b/app/Images.xcassets/AppIcon.appiconset/0120-1.png deleted file mode 100755 index aa970a1b9332e0659e0ff9837ffe50eaca4152d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10615 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 diff --git a/app/Images.xcassets/AppIcon.appiconset/0120.png b/app/Images.xcassets/AppIcon.appiconset/0120.png deleted file mode 100755 index aa970a1b9332e0659e0ff9837ffe50eaca4152d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10615 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 diff --git a/app/Images.xcassets/AppIcon.appiconset/Contents.json b/app/Images.xcassets/AppIcon.appiconset/Contents.json index 7c5a47b..4b72981 100755 --- a/app/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/app/Images.xcassets/AppIcon.appiconset/Contents.json @@ -3,37 +3,37 @@ { "size" : "29x29", "idiom" : "iphone", - "filename" : "0058.png", + "filename" : "Whale_preview_120-1.png", "scale" : "2x" }, { "size" : "29x29", "idiom" : "iphone", - "filename" : "0087.png", + "filename" : "Whale_preview-1.png", "scale" : "3x" }, { "size" : "40x40", "idiom" : "iphone", - "filename" : "0080.png", + "filename" : "Whale_preview-2.png", "scale" : "2x" }, { "size" : "40x40", "idiom" : "iphone", - "filename" : "0120-1.png", + "filename" : "Whale_preview-3.png", "scale" : "3x" }, { "size" : "60x60", "idiom" : "iphone", - "filename" : "0120.png", + "filename" : "Whale_preview-4.png", "scale" : "2x" }, { "size" : "60x60", "idiom" : "iphone", - "filename" : "0180.png", + "filename" : "Whale_preview_180.png", "scale" : "3x" } ], diff --git a/app/Images.xcassets/AppIcon.appiconset/Whale_preview-1.png b/app/Images.xcassets/AppIcon.appiconset/Whale_preview-1.png new file mode 100644 index 0000000000000000000000000000000000000000..721cd6fdfed125fb61c5a09bcffce12183b51064 GIT binary patch literal 20798 zcmY(o1yo!?vn@=3KyV1|1PJbfy9L+a?(R0Y1Ofzi9o!+f6WoKl4nDXK?!0{W-v9pZ zowfRO_wMT2UA=16IkhT6MM)YBnFtvM1_n)5M)Lc=-s?Z@6T-hYpE>s|3=G_*jf8}X ztb_!GimQ{QjlBg73~x+~#<~+&9Y-X>NxukBB(E+O9XF~*Lrt%Zn5b$9K{l!QNSvr` zVws_6#KVzDZHc>i&Osyh4%P|v0WPQ>ku2UzoCtN`uKw&pqpX@3?gDj@ko&5rb<$mM zg>!X{TD!qeYeG#R-+`y_#SE9|uvR7{U6#;zFqHL7T-iDBpKz$<|L(H`}hB)Ex6nfaLL&$y2&@GR40 zR{M{#%KH?T6SpqZ2YPh1PZPJ(9=BlVIXsUUSZ&uPJHSfSwf{g!6Nn4#9Mb<9akxbL-;OadoToIOK_lGA^C;ebjs z#nP?P=$G$FOx<)h+c~qszHR{CN#WOXY3I$kp|M}Sn1P3@$M91++9j5TdvBqPu}0`_ zn2XE}>bt@blAU=&qUTGcL#@nwTaYiVdK?CTSRC=UL^FhjUu_B3juKTrvxqZ6V{Rh5 z!c7eMQ}fjosTQ52l70lSUpe!P`%%yNwQE0cl*Namc9A-(s=>i2B&*DSPbP>cH9@yH z^WF>UcNs`Wt6a+9lCqiF#ybB=0&>R=Jsm!vpih)APmc~#*r0Yw=%SfupK4fMYZ(-DlbF_?~5fqk+562&)FzmPR^P6^l zhw}zTw|q67;9tVF(WX5_EDrz53nrIM*-REm!QDgI>u~kdO9KOCAJiW-A5Pje0(^qjIb=H8O*LbLW}SWX)#D z=1(^STf92Fm=UsiIu{o1>Ue8{b>Wmg;(CdNGxIh$yh+&2%7@9AfalR0bR5|SveI$q zD587^v0P+GtXflYTM<2|S`V5Pvft8?t)p>k+$hrdxqpxQe3|wZ_4iq|!aplJ%W{cX z`NMjlmb|pb8BkHCUwhLVpaW3kQ}M2s7dmE{KBlO>py)0jFYCQ$uDkZ3zTQOOy}{qm z;h|h{hugBl$a`**Sq%5wX~_Mc&zr}y7J50UOdasy()Rft8fZY+0dnL5VO(|{KfoJ9 zAePs;dzNkx`I~M8=aCnD9T*p{&rRE5|3Uzgvy6@#49sWu|FjPqmgN7U!v`H3b!~TT zMFoB{CkGZ2b0<>^7B2_qf6_28f?oXph7K0)CKO%{_Kt4+UP6@rCBgr1{2!Q=lH$Ka z-0g%YwG~w;B%E9=D7aWSS=cCrktrxB1YON7`M*m_{m=G)Ga*WAcXwxgR#s0>PZm!A zi<7GrD?1+_A1fOND+dSjKM7_xZ%20%FJ?zKs{dB<|LKvma5HnYadx+Ha-{f=UK3L% z4|gF-%Ks4k@AKd1bhokm|Ct=!{>Q9;2D1KVg_WI!jrD(Z|Jy3~ACzC&)yCo<^MCXU zvkU&0H504=0f5`u@!~D0U|AqcDRTx>2^?$ET7+Il@RtE+~6h>B3Ox^3lf{lWqE`2G>?6a*-p;sdxHOm=`o*>L4%Ml4S-n z7w*&#NA5`UI{?Ul7MvEPBVG4#TJx1#|B)+Qf-*$8o7x>ls*$Zoi6L&b2v|9eorcU? z;Lxj^! z9i{KS=^Y$TBOj{qmdGwaw4a5MQY)1#ly7|NRCIDhGW_@ES|0_2B<}r$82X#GR;n8&&dfV1j4bBZl5tY`^HWSy zi;s(H=s4k}KfCkOY;76&5yp+iN}3tY9C1qDN`uF1o|bE-d1y`@Wmls_mzU`O7<7vZ z$eR0;e+U;2h#4`nXTn2S+hrdt>8RTi7<#Y@lU-%)8#+9Lr`VPI`>CG<^ZVUF0{{c#gi@Hb491n9g!U=}BRjPJ8GZ zBp+0Gm;No7p_kx1uHtqN2ME>5ZN$Tp#=gyhPjzwa!;kvP&+OQ`ETE&54C*}|bX=s0 zrsJ-bH zo^S`toM8-Lb1~A^ctQ3J*q5HwqX!?CbYad{)|-q`_I^W)=%>Xf3L9r7^5I?CS3DVO zp-uoHJ$$bbTQvjzPi!kri=?ec2Kr*nA3tAI43mTS9J1CrTQi>5$8xDZuTIRC*FzsL z6Kd1-cxQW2yJWEe6K%99D^mdliN{0x#s%1p6!!7vo^4S7OOxi(!Qs;26ds)_j-58M zt?j{(=;z=5i_0{JqD;Mveih+I<;Eo=sCR_s5nJYE9NTi%QD{=X>r}#A;**XBQ0Yvh z^@B6W27P(YEz01W55wuq{Cm*Q1{L^I*Tkp~>kfzxUqH>Okb2>QnbsZmo+=i7rQi(G z%DGUR)T?bd|7e=CT*V~=wp1m)KjLfQET}ls*+!;GF<)&OVAAs7KA-ex9h5#1vwaLv z!!CAFB|1@_rj3NWE=Zz?2>0>&_=$%&%uEP7yZC4rerAHd&mY$fZ!F7Wz{yVd8W93H zEC^5WddZ)}3338$iwYhFP5zn8`Qr9!06Mz*?TNWiROn_5CIq-)Of|S+jPs}s?HMa+ z>o%27y}X_&Js+Q}hcWcNIGEby@R&TtN3I#bjOA3lqV{W6l;HfC}mx3O7uQHXssVcDJU}qb2)v`i>Vy=3V-8(7%(LK-N^0hEe*od=kD%*K76Y~r% z%_*bZjdzDI%_W;rA_rw$srw(4{?z@!lMY=@eZK zEQyB2h4Gnd3s`OzWa!;KX!x-3=>EbNSd92qpX}okZmlj$V{n^|boWc*+8V-t$wF4d zgYPj5BiUv=fEe_C$!EzWH(QK`SVt-c(cq%y1((8X7wXVD(HIBFT`33{XDXk*icyX*}vc?dXAy# zGol%%lWdgE`*(qvMuo)n>s7HohmnLguQlZ23%HNKw;k@x*G`Z9rP8!HZ>#90Q17Ee za!+b8A*?Z5p zkFZMB8EspM1$hVn``#Ut1rM;=ZC{o0>%_GhNx`j6%y(zG!r?csE!obP=7&+rZWBk)$7$5 zOFL7ZT(y1|oc85peE4<|5|Wg;iVUf77Q--_ju(up=@u-_t9yq&pPrHwfqKh)-od{4 zYyx6jK5))vYK;)D)PIyb$YvOi2m^JO~|<$2$@m-jUi;{i_74FI1E{ zd04hWiyiCPmKX>(T<}uBQtdPVrrr;QeBi<1z--PqM2_PfL>c$`8|np=x-CmlCW-i_%`j*M_}nMFBxeETqE zjAUwJNMmr<$p@T4bl6`n1s$gGOcnfD{mk8OCb?VG{efmfDsX}P_M1O;E~$_^FExKp zR20DuH}Y6XF+@xzUL7wkPIqD3yp6tD$lz4%5W{#P>N5DjDWexjYGDM+Hg_{zgF4bJ z4)yE9nZfJLV(`Sxsr<<}=z?on&o6T!3=WlLkkDPmfrZq?7&qJf6vuaZ+@+Na(TSn+ zWl_p@ZAGy(z%-2MqV@|RI{bTQ?sBtPP5e*>658$E-FGW1T3j3)6{T2TzAr^32nBUe zzHrtVM|jE5mu8ITQE^`WKj~YR?N_z2FlW_JInlGZ`P4o3Fi z6A+AfY>VLZaI5xPiD~9G+EE1U9~t0amn@LdCchJ<|F!({99hzyx3e|w6Luo;DheO0 zam!_b&hBqx@0V>w93~;>`rp5!G@13xQ&|j5wH%hkz1tr58|Q@0Xq9uue{8i54pO;T zz)tBe5>9UMwumMg=k|tUd-<0NNsL3rK8?$yOhb! z*|lE0=vBYCYNaR%jX4YQ@rPJWF%-?9jcrbb1(a1MtMVsp z-_gi0SeRX+aBnnK#P)w5_1@3$ZJAAfy|#a)p>7uJf4MvzaUah@0=gPx(9@45$h0)y z&t5Gk-V8MS9w&EPHEy7>Pze;Ve8?nNzuhu%pR~G9qHd4TI}Fd69-62kaX6M?=w)cX!Bn%rTY)_-R-=D4wky5AQ*@hDmB8uTRb1(ox?7h7YW+FZK z3clsu+8nHb&g9t^`(|H}Ldz9AIcYHzC|Mz)Gs98)TN9D-G=7)Eoxd(83w)kVJ>ML; z$NQ7=LR`;=T71U|H;I%t`R-x(jdSZX@w$4t;WvGr!^Rs}t4f^oZ}A*9*J7l95zapZ zkgvZ^lRVAZWbP8ML}~A+7QD%d%xm4zqq}W>#=e+?GcZQ_^StIZ1$I*s$Z7Ua;A#lG zp#p`<{|%1OJL;O6%vV!Nmk0?7p$Xy9*M}wiz!j@7{Q}R_4;ke{w)pZZrC&f?0_4*F z_8nT=D2=_`gj;jVmaQuAfl3(i_He0p;n?hrxNc)}GXb0rXwhNlSTPI)gPIHNC~ne1 zAD3OMo$12fKU_=a#heMOV3->JsPTvNgrF5OAWPg|2D9{Vfdk*&l=qsnWqbJ zbyE%H1U%VnOph9^Zvf0ve9v&3@jKf^&*YeWsGwNHIiyYH9vp$*yC0F8?r=~G`Ettg z)%}9QyNb}^|4M?7Ll!9+&<8iPTlq8r2afXCPEBpT>v)B$n=9ct`W08H*rRQd9A74^ zYmBD*o$P`bUKp3SS3=%TgykWQb)2uB-1j{KX9auU&>=WVG0j`vmAor=#`PMZ=L)CC ztGzlXWcV7s5kjN1H?TUo^Ii6mr`x0J?EDC;9S#mIqRZFkUrL>|RbvH$_P)YSd1wVU zed&_?A-jlIl`+9QF>fa%W zP44TeDpIt~oHiTlM_2Q3VQnvelOJ%|i)alQiUEo{#8erz$ng@*wuwm6=DL55H4Xt6 zL`S0vdti6G_xc#DePpg3iUdBUW zBVOKoV@h^r7GGYwNN)z<$QyD69W%@Ng7$WM@@WF5X$<=Hvk zu5)ekUq-+9E{io4D4#KOFP6U`kQU|DjP@f9{mQ>RS(?+(dQWV2`dx~IeQdoyQ~F(5 zhg4%+Fjm(GvAoQm%3-xOmAgt$qHs96xZ@?5ZKOip?pDHf8LW|@m@2}Lv#5*f3^E~r zB?u=xxJD*n8BPD_}5`nC}K>Hs>!#!T`(xQx$ut&Ge+DuT3>eC_UIdvwk%cGf) z$Aog=(eYCkLPWF`AQA4eM}f`FKYcx+Q0^-SW%XBfm*}Ooi|bm2`hu|UP-G!hHqPzm zex~%{F!HT~J@a(9J2Et$OG+|LcBSuS!(Z8Km0vFvN49#3Q@d+!7FbW?sK&DQfAVqN zgeqT1@Ok-Sa3m6(*BnPJ{xEW>vK?L!??L6}O{fz9fr|VObwmIkea8!W|KRScVN3PdchmXc38?KA@;b*cQ01OoaS)qSdS}Pn9>2(yN~cnD${{!`rLh- zx8GK+F9!{9*kR|Li)b7D1^e~CM`yy5Vi_htFo+?(BE`=2DEc=-Ji;m5vETMN&G%qYj& zrqej0#Lm`sAP8L_VQMT8c(3&>sSF^-ip8sGA_;oNN>su|Tj<$S$h1=Iknfa!8g^l- z9Jx(%+@9`|KxjAdlVH#0QT%~j5q#T=kyCY;=7rET{q~3J_hA!$ZoX=0VL7?LV`G;4 zT!$+=bH~%keB-`iCiGGM*CxQ|ar(A#_in80I1fVapBI-p&odoi^oH#JRPA&?uU5F@+hR1qd@QDG6ssMNLg2itPw0%frPL74!!Y-ATE1|uV# z!U^Y>dL@``?oJA;bu2C}R`Zdfv9Po?i0M1B2{nHudZ?LL_ey09~zVixB}YD~o^&y7>33QB-BKSb(x z-waVUTHy)*6lr3Ro4_v_%&+J;681PoKjO2^35xOqDmLpgxX-M)81-gt7-Q<2{TV&D z9N9Be5<%S7SGBr$U%HDQSDGnU)9T&o%kw%iM~4*=nCD8cat2UuzXSg?d3*D*4Xtkx zGAmn&&)JiQz8Z@Rl85nS(?vp1Sf&-WiV*No+xAVG`<#v-Pq!x%C)aO|btW7aOa_Yb z8+yi0owu6TF;0H{C6Gmg!N%sMm3#aShaB&nFFw1s3&7$0QV>`KB$n%}OJP4{WwyBt#WE;Hs^ z)6)*l#@>#baW(sJbdd++RX4eq3^s3u7&4JTytGuJHOrB&9~fh9TDrS)X%sW56Sg0n)dr7{^RT)#mDxja$7+dR^(x;>eX4jeZlY+~!C z@cPIuR&0*M!5D-`-@HpJ6YP?#t_G9y5t0NRdZ7l zuHebhZQ8p@?)zBoQOz|J@0IWX6!*T1%wO-wX=Gg1GV%R+2p4$57?@vjf1v8PZm!$@ zM7Y{`r_piH88(y)WKU7ZG=6TsEJB?N9A9IdW;ZL{)~kKx^zsquik%S^V!mzm8r?`% zYd|DZ-*TAQKf7!Gh7!Rd5^jKWebB$zeMq^nDVb`W6C;xzZCN9wV3F=-{@?>gro{AK z=h{%1KhkyivT40{wMWxwj3Wfy1vFZ}B)D&}=TZtR%lo6<0W@%+Rd;v=8_{Xg_MiKwwCh% ze&2U1UxBKlbIv0n=475}8#EL$VyDooe(Y34l$BrH8QFfVmwwnSXCIDMlIfx7{T6`Rd(v;mycvg-oe-|b#4!F3Ldx79u&qotDt zs)%ILD+?a#Y$gb}ak=6KV4m4jeDdM~D4?vSY6aE3aXD+&RsT0S;H%o*(n%gu=?)9U z%P@O98ajcq8Y+RLp*kjpK#-`3kpx@_TI^Z)>&7^E*8cwe;fT{_Q8ihh;@6Y!uZ`!6D4VhVCDo%Y>F@SW`JA>F z{nn=gN9r7w!6Q9fg(wYGHiNKp9rj&k4$G2+9|zSryhSQ9JvawvO&f0_h^-}FO^MWm zSLa0@E33vXO4u7jBx;YfwR+TKyBrO`9^Bb$S$2?UfgBKl= zk7Jv)X#sE6PiqHC00^y8o!?VR1w24IEHcev4^Ob#@l&FLrl-)(SDS_U!TFgDC8vp8 z<)w8m6l&W;NT65p=skaY=7#V3sn@~R=MD0}icAHaTX?dDA3k1;QPPc!!w1c{)+B3|P}oUKXmg$R}SxmQgLME4Vv1?890}4-?}j#1)8cmEGx|a`628wj{~@0 zh8&ieDb)fn(nCp`XcpIP5c+vesfSG-KA%zcn61ZnW(!%4E&4n^NZii|-ESzPjA7(u z3Sm%&)DZ3RIB^u-^DXZ$p2=o-57NMa3KpB>9gI$tl5*0V8lvPBG+ja`7#IpG{h}49 zV|hsQ|FFA(7nzG+W;_Pm4P)!&f3NUV4rF0uRIH)PIm;R|e5PS++R6aXxybl1Wb(EP zwvcv*C%wWQ3ncG~Ed(EB@yj3*3 z^#W;WME%4ge#=-QKtOOrEo(0hO%?Rws_MiCyw_6E0~kYy41E#;-k&#Tybt^hNK32F z$$W12yl>*VMa(o=42_}7@k8^AGs#E3Gri$tQfeg=c~|uu2SUn%4?}j`9fPIgeJUAn zJ4pLKVIztVE|3TL6wTC<{Eust)4?^*5&mw&UYRaKT8g*nGoO}%NQ2e<{X3VxmPFMh z+5pPSfc)Kg_H!J7U?H>#>|aDfYua##3E1GWnLkfQcleF= zxMs$(CS3Onc71w-6#K4$Eq5)y-%m>Ex?W7#toOI5Y^%B{y2!FSc<;D8ucNSXYQ0~j z)qf!QDZFNRB(;Dl-rU(KL8EDCNVf4MDTC;SFaXL-s}K1c_X8;Y9Mrt~nfyfs-5+UD zVoN9C%+ZNmkK3u9QL~cme#0B&f4bsrxx?dF-=M^gojt;pE#P_C`CGC7X)1d+w)9{( zLd{Pj{0~JwyFEC>_+uTs7zrfgg9|blTef`9@QoL&1-%s6vWsVgGZof|^W(N`tfUON zJ|*A3{C%F3oNhc$QcfC9KHB)14C5kjW}Fi^41UkM4QyXB$HiGKFEtEO+{7V+llkSQ zhrn{(9xJNsV;FX}))j;I{${%Ru;#Dsdpea&Cf?^xPD4^IA+lrRb>6s5G(s(+mV8odexkLHizs5227lAHGr(uO`M}FBu~2Ezq)R%b z#0fNfr!J%c%kqh?I%g#26Z(=Ap%tKo6RyQYTP`!>WU*};%-ZT|K)?dQNYYr)6yW#xB?PQh#!*}hmtQYR1K zg?;H@-~*P6D~ctV0u6?d)B2y3czxf4Y|qb$jG6uYrp+PcijWhNa$vj8Xi#IeYf-Zw@<`L6jir$8p0@3wi0x0ius-HV zNRh?CcPS73RT#E}^?EtSI_aAu)-RoPvFrOma>(&u#}i^e+S=@1y5o!>w@K%isYDu(1-!4E0l zIpq1`JV0MBoauz<_$=?oIdJ^g2es>S#qzz%4K^YXDd~K-NBGLkX|6S-;eM6m@R)J5 zc!qal?dEFi=InZk$12Muj5;Vyf6Wzn9GYl>k0h(@IJ5Y9QbCF$Vhz1#;3vOuY}zkN z_ulfQ4IKqUa$oul-loQzx6S1$f^5D*DdMCQ=EBtMVOh*Q&H3*ixK%oYhIfq*;`4yu zCX4JN+l^@1mEn~G3uM4&0QSg8f0fix(W`=z2Uk;#o~)1nH=;aA90l*_!4$$%Em%s! za?Z__zO;i#z%fg@@N$dbl$6uIb>Gv;$d3Pn$3&8l0R#+UE(0Ot4!M}JwLiY-@_!Wz zF$@vzNkcyDL4~Bif^`j<EJF_Jn*E3Ij%}9}gcS9n&rVuCLTDvu-)r#@ zT|b3jbMVri42G5a4r|UecmM?d7GzZ*H{5$`EsK##D{d+bRtiMMZWjrBK;$!T z&SVd9ly)pNb&vOwY0iE%ygU<&P)D%y=V!27n%yAfB6OppL?bzt&xKB$;HC zfvHxf7CJB2Vk`a0J;>9 z&@=S&odz@;&zg_YG3^wS&iTYUJ1N=_q@QBYCKiULgnpUyaQ5jPfyaW7lRNT3Jm`Zg zY<7J|6xMRBaCbp#6}Eb&&VPFZD}UCAmgOS|kao?R+FxtJ%+uJXrwaRGJLtUQStKiS z@cDlPmU$rEy5D{`vB34H(vICkvMCifZ|x`Zm{-M2{Q4u?qUsoq7;Bhd>YRqrnUdu9 zslYW7I$L`}wl5yYqrDc%LBh92n^61IAMnO23;kyGk6m ziKzrI4o3Aar-_$D1PxYJWv*)kqneq$G%ue6uMyht@PE`0z$sa>D)|rX^|=Y`f^ z%hRD4L3_3<&n}J%daGIVxuYjYxl-%p7c(MgL1QxT#beg;tp z?u0yJ286_5KaZO0e06?XS#OMK?tF&rd_HwjsC4*U#R5_&X#v~obx&GqXsKGBd8w_g z*tB$9a~t?U2i+I`VVatFJ7e;IEK`FlHl;?R`L>`hG9YOyLdP)IOx-wXQ4A-g_tB4a z&B|}%>JY_#G6mFu>8&g46QjUMd!Hk$@jTUk|FW1HniiI0OJep$z72$G$;yvS0Bh$L z;Z_#qZZ*sAH#2T}3y{2^DBsY}4>s71K(?b17%iAU~?8Wb;+2 zkH&aqXdC6Tz%Q#Nf8Md?YytY3nz?~dJ7~X6$|u^*fYxVc^lB7>sb84;pP*}KvEmjX zi*p?*2$?M=#%4{cbrHvD-BJ^voWjbA44nR^Kiv4B#w;e?7-9S^;{uZB%$O+=Cy~IX zqx~U}V?ksj^4m7AVdhscTjho^Hx*+;GG6x`@gP_y%rRrpPYH8Ok=m0ZzqET88S>yd zdpK^cnvkkp#!M8F&j9Er}D7q z##JikwH*h;dw4OYqY{u&9^4#ZVSYVaVSSydd|G;!0_AkaxsEbe?@{s0HYx{((_~+9 z**oS5w0y#kv)6q%aZ;J<^X5D|C0F%@Xs*6(adGl?X8K&7wFh_1Sgzeb&UXC|w)DM{ zkIu+z{X38~Hz-*gUyaZ-R17kG8aS6(+U%a3$#0=Q6w^ zvgU%gFh74eGFN-zI7>J#wmMPYe$~MhweIokaFepxDM|Z&D#cJ$&f)cE_&%IQh`3GM zD1pw~acX2oEaWGVVD;b?*d(0o%onU{U28_GFW)ap*EgDB^HiIBzdgi<<_QyW)f`qA zYIZ``;sYCdH)~VYu*unRE$HE(=hVP)_qCFK`*V6)JLZ%9WGwEBIkA~{? zL~m;Zm5BpxZH|YMN)aZ}xs7$;2%A4OKR-Pwke_QjZ~rTy1Pq^gGFVLU&hGbX(&Rc( zUHUT%DDdQ*<18r+hs65V>R%;qS=;J>0~otqr-o_ zO&xHco*A$o=Ny#apsUp>{YvVf&gsHG=^0gKcFU2Zr!x^pbe7q@ro?#Oy=s0A2tjbY zw*OL%tHVtSAeh4ek)nt^d)}$pSmYDlL*1-TBaHGpj&;+vDE2wb_+~noAc3K!2a0r6|??{5d<{Nf&6(?9q9HFkcPeT1aWGXNtl*UpBQK z`q4^fhOlk0Ve{;lIeIVnS;TKn@$C2JP+AR0F(82O)=9^BOrCLK_jO-|)?#_W#zOtq zO6K~ylz_0;CaP)1-`qdl6O|Q(r-^b&20!6E-3x7?-*utGxpQG@z}^zCi^70?$UMyoy#JMP;;HnaAT{N}cz7{(@GBZCNwP}sA+)&+NVFGI z-v4?@pr>tU;R=0OF-^kmmy*T6L=3t?N(4@SXu@PSp(+a<%|iV8V~9`LOnDcRvkVRNif zp9Eq@!K_qgE4Og_6P&H2wA5Uk$+}RtgCEdP z66rd<5kX5m@zFyPV)bRDO1=5$Bg2ryYg3iYyaqSYeMYOHDXpQ3&e;8jW;jqLT3~xP z4cYrQ)I6byux=q+e8X$53ck0f64?7uv$&_^38wKLAui4BJ5Az#HRfIXb~h3<)9a)U z;H&SS4`OTHJ4PVV@q&N&xE~+|fOIRCxmh8L@o(1ettpG%U(j3)pMkUrfZ1f3iL$#3$3a@T_)qU`T)C zd*y&v?I%BTg(arqBTJuGym^1~LNowE$gQpQnTv6E|FVv5)BbWEOSBC4vI=#o^lWTQ z_Y;I0@A*Ev7&pf}o(?Ux0Qy;c+%x`h((8ZPTrIZBjS2YnY2e`nb@beZ=Om4_A*Ap= zzposi$hE=GG~9VHT6)0_#+zz!3%urB=zgN^^uEw?!$PA8!$VGMGLu!qDA`C7buuytmVs?E%9FWXKXA>Ahk=vNyLN85bHSq^IAix zSs~Z-q8M6woo?659_w5LZH`QXPTq3^lsOVz*o0lF8Wn{|PU>-Tq;TSUcX4A<0HA)gU)BSy1 z6&7^Sp@~OUBCc!9n-58;M&Rin%H9_vcLcWpQ-2}L=jZoYF#bE~MfC05ej3@Z(8b+P zuk6=i)|G}y!6ft{P|V}YRWRd=945KQ6~$`y)&+Xpv6ANVl`zR(iW$YXu*okZf@_a9 z(vUkJpS@!IQ#0lF^|j6KBecgrUB#$J7_R{S&wm3%IV~8@v^yiMXK?_)CwF)husx2R zP6XL79R{EsU;d>c#x7!GS*8$k#^rgU2-&aLRbBN<6U4X(tA!|LIiW-`OA-vF?0tS1 z5<6K`EP=E2A#PE993V7}O#(%&*A31UGlQFn`q~ZY5}n_=C=6ZmJuu!j&fg(=?oz-( zvK}6-j#@J)tR13hFI$LxNtdcWbLskgrBll0u%__@cTOC7^Uo?g>SHxcAZmQ1v^MGf z0?zjH$)HdnQ8JGmMTD0JEXCE@XrEy+DTpxC!skBhy1W>BsoPM{x#zaqbQIOL$3|Os z&WHat%dH&gU^K4EqBC1PcEQ+hJwLf~NuQzrDb27^D>a?JV)~Vq;bqE!VpQjKIwP%!09^Jf zm|56xjyAKWY zPIB4IBO}}&vF~cpu8j(M&ALR3mpfZ3*W@1O?z#Q14I71Q;4D`UCJRqbIdq?|n1OCu z-Sh-~zr`Ok1O)l>9hBF;1P(rvncCjJ5ybGl;H*)fMmc>n-yX60^CIQ$qz0(cyP?_Z zz9ul>q>oebf|6x=OxyR1SpB5*-_@yMvt=5N@W-(FBJUhA$u#uXFqZ3Ie#ulA`lz~0 zm~#|-=kY0+aHoMtp`OM#CK87SRrB2rpLWe?#%KVeKeSx>AWY%nO=P>$x$`2>JCP7zRj#9M;dK1$6_xr zUA2K7FLEv+??!xj7L+yxu#Du#Zk~G(d3WSn32i0cS|o-Zmn=MCt-X_2bepqQ8V&I1 z#gg4(Wq!BtBX!l2@mEXF@Rv(`bd66UCPB}K0m83|B3(je{378S9aV%3J~o>*Z^1OV zKEj>%U=*A6_Q0aPnT9emC~W3qaqi4+LqH_eB&zQ9CAsw*`BZ<@VK^4oHb>Ap>)wtI zd#WD;T_Kfp+BByiG&9KHX#=~$=KDAFg=k`lk6sHJQ8yUBF<5)w%lC{Djg``KEAt?& z=a*=%6|fn`=R<_fxy)u_p1TU$Mjnu~{by)+3-aTV#V)a*;PYcw);qzlAn#KVEt&7~ z%R_0}iW(VMZoPFg;OzuaZDRvaPRxph15)L@t_Qmq`3V|YofUuN@ei+G5>ob^%8~$- zDE0adw+^$=Z)+))f1b)1Q^DUxQF-AG*Y|^t_%EO(ZCc&kigZS&+hab4zMBMoVw*nX zKo0&_p)K%JfQWQg)y})6Yir~&Msx;!z3JyFX1=tm>7G2Xu%E2SiOhypG^q(c zD#|}AMW+NDH?a44wx#q2jDafW2#r-gQ| zxST7+kIh>VKC2+bt$PBs?TkNV%B$U!3Rw>E)CsY~^`@7` z+QE;Io6(#f9#=v&`j(vKy)X}+?ze#kR`JFyAFZ6&%0lwTx!wvK$cH)ee=FpP?iN`^ zF6qXbQfIML7}=%FaT7egnzZe`j2{_sCWUd&-f@jx=CG5YO!8%{Ok`R)@)!_{1> zv6(47z}`9-T5xy2S9^b|p@LpJblsUP)=x}324{N}U_Ub|JY2pgAJ+8KZv7Pc6?OMx z;lX*7`zG{{An1z-ghcr-K4wV3H}iCyN7+CpwLSi90xX%!Lo3;8A%ZYMVjS8rL4DB= zze^)b_NA-5$~D5nt;qa$H8l;DNGERHml|s3guN8$I?G_EVwbj~jO5GB!2Ar^UZ1+w zH02*5m!vs$ki!JK09olNp?I441(%=@os-jw?($Rqi!CaC%-b~ZDk}{jdJ93@(z6bU z{eu#VdaUeeWFm!QSLL!95q_z}Au7fk=@w@WWuc2C+&wG-4(43!-@nEzWN5K8?w75Z zeYb8-V!@707jIWg z9cZ%(g&6#qavZjo3-7R5wjSFZ-tn98DMy^!TZPs~?bqd`Ml=U~#7ry|dUj&}Cw< z?|OLU@#zXn?ZrlAp;Tg+lJ4}Y9$|LEiVJlm0hC{BmQh%3vzV`o;bEIBP0+B~GpaO2 z`RxS5U|?G4hzhtm6`rSuuTx+i>8?v>efewj(~B>pNACC)uEiBpbHt|&ZCpYd+Skzb zm9O!;b^P^B8Z&iYYV66Nj8y&j~d3 z&rga6ry97ax-ETlIvMtDsf^&Y;l;&6B?W^7tHaFVIm*pwM?;)T9=8*Ur;DA6>I->U zK5WE+Xy>@i0TW%&r>__B3vCzv`Wkxshu@>z@-Z|CXUoN=jHb>#6E6$q5Wa0fg{Al= z#-4}K>+@a=UgW@aSe9wmN6{HK9VT8-u;u&b!(pGizCt+2Yl?n}PVS4d?U_xCIm@dq zpULSB{qXeo{2?8(Y%6hzhKs{S9~;Bc7zQ~on(`XV&hk6i(j9~F2pOX{9PpU_Q->dq`$uK7HwR= zhDD$nR#W@LJW|+)1U_HJhgCpp(315_$e>AIz>vV>>+@mN$;?h~C>QXBO=b0cW?PbA z=?rrqAmIqm5rP_8WVVHT%;xBfQ@qx!BgCs7=YjIDwa`|CU+@wAp*|K2cEmIWzx;Oj zb-yL;_~f8__MzP>-|06&J=! zg8dm1kP<(YuC-6~aZ%WBt4uN+(-_ZxJS6o`@ciM5$_lT;9dp8o^v7?0f*!l}yVQ+W zYHJQU953dh-?&Z>;+3KF+zh+#Cq7FL+;jqoBpc^H;?Ku-~UOam49J}+@Z_$g7-jA=D)>96KZeBqq?tzJ> zA25fWZYrS{pM6St8}`|^4vKF>NE`!K*e``cfDu7FIB^mu_?D1Fm2q`~sNh`O0(lK} zpx3tCxt33iPtYq zwihhnVuw_Rim8*pyCkBLWWor11)nBC@w{o`B^xBW=7SY<<8{~2&3C*=^vN@5zd0YL z$@?Bc1*39l`HL?abKiyb5&S^gxN$Y|Xi|S0Ly|Pym*GCEpRQ&f7-XN+pD-TL{w9&t zzJw$flTcSk2mrw|=yda?27Qm)R(_2wYDsW{!e}yFdl-*rNcD0Zb%GNk^hk$?@u?E< zBc;KNP<;_uVfFmv6DkfC{_x^JuX*9Qr|BPj+4)I)(#iw{&Y9 zoo?ShU*3nAl@k&^104xQFhCA?1r88NWqn?jiMB=02=Z#juZQVifADzJ=@KjaEe(|! zz(3N_-rgR&?&m*<(b3OWnc(qo(uyF$Y3x8Baq<$6;MauEl$GaSD5^0qFHB!ZWPD$z=UlvK`-k$PYa8 zX?u8rm6D{^Aag(!7PchI5#z-PVHp0w@}U<>P7xaBP1PaQ7-AdLigNrj|?e(oXDqKm6{Frv^(n~LmEnBuM;Bvl3ZLqx9NzxzYRl54ZwGXR4=8N)&yb&3d4`n^Nufw;k zGF;<&#WNTao0mtP-^12TH{x_u%c917DHxS+R|7Q}Uou=&&qzK-dA&A*AwFaI^RNMk zU!J3Duf0~jjepHG*T{E{5FEGMJN8s|eV-ZT01h`X%w~v4sW(s+@+AXO$to}WktG`0 z*YpOdc5Arc85YOofq!s);0rw4_xYI29n%YZ0!^4%BwqZ$C^oPoiBJ^lQ$e*SG`8bx zC=b)wXQn6cG9thu&-iWq(fcVeZWQD!>9|jOK#6gTAy2%6kAzX?Ed6%LtX}je6 z2n^n^{Rq;jMBEGy$OCy0S?C*YktVi{=OP5pk1 zLKigNjPUG*bnb)KZ}mfK=JR3pC~=AA(HAMhW*+E}OTrlubj@V)$vNZL1SjL@MCV7q zC$qWR4tsh(DwxWDUtcPJ5`0g^1VyQAB*=r0zqsQu2X{K`2rCdJ@@qhh@DdvtNug3+ zR`|~^-iY(j(3fnChAhcCAaT2g*vfBuktF<)xJ%(r7}WxGCmK(ep_Ri zAm`ig_?ah^Reyr`1>%5tM;(eQPl!OjT`a=*GmZH)MyT1rgk3ZnO%U)DDkwbM(EBYV zB&l~tUlOrhqqrl^eu53)d59(SLB?DP{#{%8&>RW=c+v^@RQ`MXKA0fu6C!YwFL8+m zb9~4Ik}SZG)(l5^80QzCm+{fI@Ny!YZeMnH;mA4>j9j*bzhV9jL+qXv-#>-9R@m2~ zIIVq}!l~Tw@u}pQXBcfa;x{b8>WtPp6SNlmE@m$Csx$0Zf~->vx|;Y%wI39LolidA zSNu_|`F^K@)rQi!{%3qpJ*qdXS+DCO<0QUbTlu24hbK6RP^eI~aGiordDR&SY?6`2 zubTMkd{_sEj~fY2Pz1jc+DQb}wbyKu*doo$ht6^DwLrgR_g!C_K7J~o<42h*g0Uw9&NO6HpBD30Cv;`pPozCDJc^r&8K zi}oZsefdxygf#F`y6Tf!?FY#C!1eLYCbRhZ8CDyrOLGv#iw}VUUe7-KE?NwX@FC8) zr6P1JvUH3f&OHlv$SL`J9uM|y`?9I8`ekRa7`2>8#V31(FY9)>l z4s?XwYbr1ED9mKPooY>q@~K*1R&mkV=Sc-eWwg!wT-0CnPwcdD~qZ!!}te$hH27L$1xR@~ESJ zTVUrT!@g6=_!SqeRZjJBEpU|4wUw5V&-ujcKCiD%@q+X0`FMsCd{YIUenmxVmQ`K; zi1+bW-udjUB3z`M{vpC-1UOXb*3v?z^hg?%2@p*oeWHQVLC1V5ectRv)8*u_imP8PbEHDzJj z%pxx$mq??J}G|cQoZ=Iv4eYYtDAU)1-jqKmU_Qr*_1L{}Vjl9e;L* z=U>s6VM{a{X2o3VpBQrOVX)&ByuzNW=yN)mNA>RtR=&^&-#!bwg;4nzB_+z|;p3p& z#CU!&EkT#3C-fl+kLu*5QDFrV^fA%Xsk{L?zN`w~=}M4SS)b;^s?g!I$uHHaKZ0}F zmGH?F2iE6NnE4b|Wyxw^c>+J|hBV&?hgX``tegE|9sGxn(46piIzkx_C(PVtStl9S z5Fiwg&wgfd=VV8`?}R`DDReL=JVx!K7~~m*TV|;HTY(OBL!B& z*#Yf|G8!7jhcH-tYb@fm#c4*d(+P6E4i9FF91yRQj0%g>&w53t5>&U=iudXSnTVer zTO9OtrGn$!Ar#tS87>+thMk@`k09ebG8p*Us}7=OdEY*Za7l&>C;<&{aL~aCi6=!M zc0d%fa{RFwl@)GrBtb49GndjFITZ9e3VmXOr4sSn1}RusqP2Pv>STHKl|lB?v(IEH z!0CVxoe2t*C9ugYXE)^1{xe?TKx+7BDCA{nvnLOB+b zqI73l-pNuLdKH3>IS3va37VpO%*?omxadgr0saJ?9-j+th~c&-XPA%5r5)4u2=y?# zN%|Aob9z*U@d^t``t5a`zwed8c7mMpXxyScMA}iMGFTi>G+us;{y%@TBwW&_7Y6_U N002ovPDHLkV1k^lU%LPR literal 0 HcmV?d00001 diff --git a/app/Images.xcassets/AppIcon.appiconset/Whale_preview-2.png b/app/Images.xcassets/AppIcon.appiconset/Whale_preview-2.png new file mode 100644 index 0000000000000000000000000000000000000000..721cd6fdfed125fb61c5a09bcffce12183b51064 GIT binary patch literal 20798 zcmY(o1yo!?vn@=3KyV1|1PJbfy9L+a?(R0Y1Ofzi9o!+f6WoKl4nDXK?!0{W-v9pZ zowfRO_wMT2UA=16IkhT6MM)YBnFtvM1_n)5M)Lc=-s?Z@6T-hYpE>s|3=G_*jf8}X ztb_!GimQ{QjlBg73~x+~#<~+&9Y-X>NxukBB(E+O9XF~*Lrt%Zn5b$9K{l!QNSvr` zVws_6#KVzDZHc>i&Osyh4%P|v0WPQ>ku2UzoCtN`uKw&pqpX@3?gDj@ko&5rb<$mM zg>!X{TD!qeYeG#R-+`y_#SE9|uvR7{U6#;zFqHL7T-iDBpKz$<|L(H`}hB)Ex6nfaLL&$y2&@GR40 zR{M{#%KH?T6SpqZ2YPh1PZPJ(9=BlVIXsUUSZ&uPJHSfSwf{g!6Nn4#9Mb<9akxbL-;OadoToIOK_lGA^C;ebjs z#nP?P=$G$FOx<)h+c~qszHR{CN#WOXY3I$kp|M}Sn1P3@$M91++9j5TdvBqPu}0`_ zn2XE}>bt@blAU=&qUTGcL#@nwTaYiVdK?CTSRC=UL^FhjUu_B3juKTrvxqZ6V{Rh5 z!c7eMQ}fjosTQ52l70lSUpe!P`%%yNwQE0cl*Namc9A-(s=>i2B&*DSPbP>cH9@yH z^WF>UcNs`Wt6a+9lCqiF#ybB=0&>R=Jsm!vpih)APmc~#*r0Yw=%SfupK4fMYZ(-DlbF_?~5fqk+562&)FzmPR^P6^l zhw}zTw|q67;9tVF(WX5_EDrz53nrIM*-REm!QDgI>u~kdO9KOCAJiW-A5Pje0(^qjIb=H8O*LbLW}SWX)#D z=1(^STf92Fm=UsiIu{o1>Ue8{b>Wmg;(CdNGxIh$yh+&2%7@9AfalR0bR5|SveI$q zD587^v0P+GtXflYTM<2|S`V5Pvft8?t)p>k+$hrdxqpxQe3|wZ_4iq|!aplJ%W{cX z`NMjlmb|pb8BkHCUwhLVpaW3kQ}M2s7dmE{KBlO>py)0jFYCQ$uDkZ3zTQOOy}{qm z;h|h{hugBl$a`**Sq%5wX~_Mc&zr}y7J50UOdasy()Rft8fZY+0dnL5VO(|{KfoJ9 zAePs;dzNkx`I~M8=aCnD9T*p{&rRE5|3Uzgvy6@#49sWu|FjPqmgN7U!v`H3b!~TT zMFoB{CkGZ2b0<>^7B2_qf6_28f?oXph7K0)CKO%{_Kt4+UP6@rCBgr1{2!Q=lH$Ka z-0g%YwG~w;B%E9=D7aWSS=cCrktrxB1YON7`M*m_{m=G)Ga*WAcXwxgR#s0>PZm!A zi<7GrD?1+_A1fOND+dSjKM7_xZ%20%FJ?zKs{dB<|LKvma5HnYadx+Ha-{f=UK3L% z4|gF-%Ks4k@AKd1bhokm|Ct=!{>Q9;2D1KVg_WI!jrD(Z|Jy3~ACzC&)yCo<^MCXU zvkU&0H504=0f5`u@!~D0U|AqcDRTx>2^?$ET7+Il@RtE+~6h>B3Ox^3lf{lWqE`2G>?6a*-p;sdxHOm=`o*>L4%Ml4S-n z7w*&#NA5`UI{?Ul7MvEPBVG4#TJx1#|B)+Qf-*$8o7x>ls*$Zoi6L&b2v|9eorcU? z;Lxj^! z9i{KS=^Y$TBOj{qmdGwaw4a5MQY)1#ly7|NRCIDhGW_@ES|0_2B<}r$82X#GR;n8&&dfV1j4bBZl5tY`^HWSy zi;s(H=s4k}KfCkOY;76&5yp+iN}3tY9C1qDN`uF1o|bE-d1y`@Wmls_mzU`O7<7vZ z$eR0;e+U;2h#4`nXTn2S+hrdt>8RTi7<#Y@lU-%)8#+9Lr`VPI`>CG<^ZVUF0{{c#gi@Hb491n9g!U=}BRjPJ8GZ zBp+0Gm;No7p_kx1uHtqN2ME>5ZN$Tp#=gyhPjzwa!;kvP&+OQ`ETE&54C*}|bX=s0 zrsJ-bH zo^S`toM8-Lb1~A^ctQ3J*q5HwqX!?CbYad{)|-q`_I^W)=%>Xf3L9r7^5I?CS3DVO zp-uoHJ$$bbTQvjzPi!kri=?ec2Kr*nA3tAI43mTS9J1CrTQi>5$8xDZuTIRC*FzsL z6Kd1-cxQW2yJWEe6K%99D^mdliN{0x#s%1p6!!7vo^4S7OOxi(!Qs;26ds)_j-58M zt?j{(=;z=5i_0{JqD;Mveih+I<;Eo=sCR_s5nJYE9NTi%QD{=X>r}#A;**XBQ0Yvh z^@B6W27P(YEz01W55wuq{Cm*Q1{L^I*Tkp~>kfzxUqH>Okb2>QnbsZmo+=i7rQi(G z%DGUR)T?bd|7e=CT*V~=wp1m)KjLfQET}ls*+!;GF<)&OVAAs7KA-ex9h5#1vwaLv z!!CAFB|1@_rj3NWE=Zz?2>0>&_=$%&%uEP7yZC4rerAHd&mY$fZ!F7Wz{yVd8W93H zEC^5WddZ)}3338$iwYhFP5zn8`Qr9!06Mz*?TNWiROn_5CIq-)Of|S+jPs}s?HMa+ z>o%27y}X_&Js+Q}hcWcNIGEby@R&TtN3I#bjOA3lqV{W6l;HfC}mx3O7uQHXssVcDJU}qb2)v`i>Vy=3V-8(7%(LK-N^0hEe*od=kD%*K76Y~r% z%_*bZjdzDI%_W;rA_rw$srw(4{?z@!lMY=@eZK zEQyB2h4Gnd3s`OzWa!;KX!x-3=>EbNSd92qpX}okZmlj$V{n^|boWc*+8V-t$wF4d zgYPj5BiUv=fEe_C$!EzWH(QK`SVt-c(cq%y1((8X7wXVD(HIBFT`33{XDXk*icyX*}vc?dXAy# zGol%%lWdgE`*(qvMuo)n>s7HohmnLguQlZ23%HNKw;k@x*G`Z9rP8!HZ>#90Q17Ee za!+b8A*?Z5p zkFZMB8EspM1$hVn``#Ut1rM;=ZC{o0>%_GhNx`j6%y(zG!r?csE!obP=7&+rZWBk)$7$5 zOFL7ZT(y1|oc85peE4<|5|Wg;iVUf77Q--_ju(up=@u-_t9yq&pPrHwfqKh)-od{4 zYyx6jK5))vYK;)D)PIyb$YvOi2m^JO~|<$2$@m-jUi;{i_74FI1E{ zd04hWiyiCPmKX>(T<}uBQtdPVrrr;QeBi<1z--PqM2_PfL>c$`8|np=x-CmlCW-i_%`j*M_}nMFBxeETqE zjAUwJNMmr<$p@T4bl6`n1s$gGOcnfD{mk8OCb?VG{efmfDsX}P_M1O;E~$_^FExKp zR20DuH}Y6XF+@xzUL7wkPIqD3yp6tD$lz4%5W{#P>N5DjDWexjYGDM+Hg_{zgF4bJ z4)yE9nZfJLV(`Sxsr<<}=z?on&o6T!3=WlLkkDPmfrZq?7&qJf6vuaZ+@+Na(TSn+ zWl_p@ZAGy(z%-2MqV@|RI{bTQ?sBtPP5e*>658$E-FGW1T3j3)6{T2TzAr^32nBUe zzHrtVM|jE5mu8ITQE^`WKj~YR?N_z2FlW_JInlGZ`P4o3Fi z6A+AfY>VLZaI5xPiD~9G+EE1U9~t0amn@LdCchJ<|F!({99hzyx3e|w6Luo;DheO0 zam!_b&hBqx@0V>w93~;>`rp5!G@13xQ&|j5wH%hkz1tr58|Q@0Xq9uue{8i54pO;T zz)tBe5>9UMwumMg=k|tUd-<0NNsL3rK8?$yOhb! z*|lE0=vBYCYNaR%jX4YQ@rPJWF%-?9jcrbb1(a1MtMVsp z-_gi0SeRX+aBnnK#P)w5_1@3$ZJAAfy|#a)p>7uJf4MvzaUah@0=gPx(9@45$h0)y z&t5Gk-V8MS9w&EPHEy7>Pze;Ve8?nNzuhu%pR~G9qHd4TI}Fd69-62kaX6M?=w)cX!Bn%rTY)_-R-=D4wky5AQ*@hDmB8uTRb1(ox?7h7YW+FZK z3clsu+8nHb&g9t^`(|H}Ldz9AIcYHzC|Mz)Gs98)TN9D-G=7)Eoxd(83w)kVJ>ML; z$NQ7=LR`;=T71U|H;I%t`R-x(jdSZX@w$4t;WvGr!^Rs}t4f^oZ}A*9*J7l95zapZ zkgvZ^lRVAZWbP8ML}~A+7QD%d%xm4zqq}W>#=e+?GcZQ_^StIZ1$I*s$Z7Ua;A#lG zp#p`<{|%1OJL;O6%vV!Nmk0?7p$Xy9*M}wiz!j@7{Q}R_4;ke{w)pZZrC&f?0_4*F z_8nT=D2=_`gj;jVmaQuAfl3(i_He0p;n?hrxNc)}GXb0rXwhNlSTPI)gPIHNC~ne1 zAD3OMo$12fKU_=a#heMOV3->JsPTvNgrF5OAWPg|2D9{Vfdk*&l=qsnWqbJ zbyE%H1U%VnOph9^Zvf0ve9v&3@jKf^&*YeWsGwNHIiyYH9vp$*yC0F8?r=~G`Ettg z)%}9QyNb}^|4M?7Ll!9+&<8iPTlq8r2afXCPEBpT>v)B$n=9ct`W08H*rRQd9A74^ zYmBD*o$P`bUKp3SS3=%TgykWQb)2uB-1j{KX9auU&>=WVG0j`vmAor=#`PMZ=L)CC ztGzlXWcV7s5kjN1H?TUo^Ii6mr`x0J?EDC;9S#mIqRZFkUrL>|RbvH$_P)YSd1wVU zed&_?A-jlIl`+9QF>fa%W zP44TeDpIt~oHiTlM_2Q3VQnvelOJ%|i)alQiUEo{#8erz$ng@*wuwm6=DL55H4Xt6 zL`S0vdti6G_xc#DePpg3iUdBUW zBVOKoV@h^r7GGYwNN)z<$QyD69W%@Ng7$WM@@WF5X$<=Hvk zu5)ekUq-+9E{io4D4#KOFP6U`kQU|DjP@f9{mQ>RS(?+(dQWV2`dx~IeQdoyQ~F(5 zhg4%+Fjm(GvAoQm%3-xOmAgt$qHs96xZ@?5ZKOip?pDHf8LW|@m@2}Lv#5*f3^E~r zB?u=xxJD*n8BPD_}5`nC}K>Hs>!#!T`(xQx$ut&Ge+DuT3>eC_UIdvwk%cGf) z$Aog=(eYCkLPWF`AQA4eM}f`FKYcx+Q0^-SW%XBfm*}Ooi|bm2`hu|UP-G!hHqPzm zex~%{F!HT~J@a(9J2Et$OG+|LcBSuS!(Z8Km0vFvN49#3Q@d+!7FbW?sK&DQfAVqN zgeqT1@Ok-Sa3m6(*BnPJ{xEW>vK?L!??L6}O{fz9fr|VObwmIkea8!W|KRScVN3PdchmXc38?KA@;b*cQ01OoaS)qSdS}Pn9>2(yN~cnD${{!`rLh- zx8GK+F9!{9*kR|Li)b7D1^e~CM`yy5Vi_htFo+?(BE`=2DEc=-Ji;m5vETMN&G%qYj& zrqej0#Lm`sAP8L_VQMT8c(3&>sSF^-ip8sGA_;oNN>su|Tj<$S$h1=Iknfa!8g^l- z9Jx(%+@9`|KxjAdlVH#0QT%~j5q#T=kyCY;=7rET{q~3J_hA!$ZoX=0VL7?LV`G;4 zT!$+=bH~%keB-`iCiGGM*CxQ|ar(A#_in80I1fVapBI-p&odoi^oH#JRPA&?uU5F@+hR1qd@QDG6ssMNLg2itPw0%frPL74!!Y-ATE1|uV# z!U^Y>dL@``?oJA;bu2C}R`Zdfv9Po?i0M1B2{nHudZ?LL_ey09~zVixB}YD~o^&y7>33QB-BKSb(x z-waVUTHy)*6lr3Ro4_v_%&+J;681PoKjO2^35xOqDmLpgxX-M)81-gt7-Q<2{TV&D z9N9Be5<%S7SGBr$U%HDQSDGnU)9T&o%kw%iM~4*=nCD8cat2UuzXSg?d3*D*4Xtkx zGAmn&&)JiQz8Z@Rl85nS(?vp1Sf&-WiV*No+xAVG`<#v-Pq!x%C)aO|btW7aOa_Yb z8+yi0owu6TF;0H{C6Gmg!N%sMm3#aShaB&nFFw1s3&7$0QV>`KB$n%}OJP4{WwyBt#WE;Hs^ z)6)*l#@>#baW(sJbdd++RX4eq3^s3u7&4JTytGuJHOrB&9~fh9TDrS)X%sW56Sg0n)dr7{^RT)#mDxja$7+dR^(x;>eX4jeZlY+~!C z@cPIuR&0*M!5D-`-@HpJ6YP?#t_G9y5t0NRdZ7l zuHebhZQ8p@?)zBoQOz|J@0IWX6!*T1%wO-wX=Gg1GV%R+2p4$57?@vjf1v8PZm!$@ zM7Y{`r_piH88(y)WKU7ZG=6TsEJB?N9A9IdW;ZL{)~kKx^zsquik%S^V!mzm8r?`% zYd|DZ-*TAQKf7!Gh7!Rd5^jKWebB$zeMq^nDVb`W6C;xzZCN9wV3F=-{@?>gro{AK z=h{%1KhkyivT40{wMWxwj3Wfy1vFZ}B)D&}=TZtR%lo6<0W@%+Rd;v=8_{Xg_MiKwwCh% ze&2U1UxBKlbIv0n=475}8#EL$VyDooe(Y34l$BrH8QFfVmwwnSXCIDMlIfx7{T6`Rd(v;mycvg-oe-|b#4!F3Ldx79u&qotDt zs)%ILD+?a#Y$gb}ak=6KV4m4jeDdM~D4?vSY6aE3aXD+&RsT0S;H%o*(n%gu=?)9U z%P@O98ajcq8Y+RLp*kjpK#-`3kpx@_TI^Z)>&7^E*8cwe;fT{_Q8ihh;@6Y!uZ`!6D4VhVCDo%Y>F@SW`JA>F z{nn=gN9r7w!6Q9fg(wYGHiNKp9rj&k4$G2+9|zSryhSQ9JvawvO&f0_h^-}FO^MWm zSLa0@E33vXO4u7jBx;YfwR+TKyBrO`9^Bb$S$2?UfgBKl= zk7Jv)X#sE6PiqHC00^y8o!?VR1w24IEHcev4^Ob#@l&FLrl-)(SDS_U!TFgDC8vp8 z<)w8m6l&W;NT65p=skaY=7#V3sn@~R=MD0}icAHaTX?dDA3k1;QPPc!!w1c{)+B3|P}oUKXmg$R}SxmQgLME4Vv1?890}4-?}j#1)8cmEGx|a`628wj{~@0 zh8&ieDb)fn(nCp`XcpIP5c+vesfSG-KA%zcn61ZnW(!%4E&4n^NZii|-ESzPjA7(u z3Sm%&)DZ3RIB^u-^DXZ$p2=o-57NMa3KpB>9gI$tl5*0V8lvPBG+ja`7#IpG{h}49 zV|hsQ|FFA(7nzG+W;_Pm4P)!&f3NUV4rF0uRIH)PIm;R|e5PS++R6aXxybl1Wb(EP zwvcv*C%wWQ3ncG~Ed(EB@yj3*3 z^#W;WME%4ge#=-QKtOOrEo(0hO%?Rws_MiCyw_6E0~kYy41E#;-k&#Tybt^hNK32F z$$W12yl>*VMa(o=42_}7@k8^AGs#E3Gri$tQfeg=c~|uu2SUn%4?}j`9fPIgeJUAn zJ4pLKVIztVE|3TL6wTC<{Eust)4?^*5&mw&UYRaKT8g*nGoO}%NQ2e<{X3VxmPFMh z+5pPSfc)Kg_H!J7U?H>#>|aDfYua##3E1GWnLkfQcleF= zxMs$(CS3Onc71w-6#K4$Eq5)y-%m>Ex?W7#toOI5Y^%B{y2!FSc<;D8ucNSXYQ0~j z)qf!QDZFNRB(;Dl-rU(KL8EDCNVf4MDTC;SFaXL-s}K1c_X8;Y9Mrt~nfyfs-5+UD zVoN9C%+ZNmkK3u9QL~cme#0B&f4bsrxx?dF-=M^gojt;pE#P_C`CGC7X)1d+w)9{( zLd{Pj{0~JwyFEC>_+uTs7zrfgg9|blTef`9@QoL&1-%s6vWsVgGZof|^W(N`tfUON zJ|*A3{C%F3oNhc$QcfC9KHB)14C5kjW}Fi^41UkM4QyXB$HiGKFEtEO+{7V+llkSQ zhrn{(9xJNsV;FX}))j;I{${%Ru;#Dsdpea&Cf?^xPD4^IA+lrRb>6s5G(s(+mV8odexkLHizs5227lAHGr(uO`M}FBu~2Ezq)R%b z#0fNfr!J%c%kqh?I%g#26Z(=Ap%tKo6RyQYTP`!>WU*};%-ZT|K)?dQNYYr)6yW#xB?PQh#!*}hmtQYR1K zg?;H@-~*P6D~ctV0u6?d)B2y3czxf4Y|qb$jG6uYrp+PcijWhNa$vj8Xi#IeYf-Zw@<`L6jir$8p0@3wi0x0ius-HV zNRh?CcPS73RT#E}^?EtSI_aAu)-RoPvFrOma>(&u#}i^e+S=@1y5o!>w@K%isYDu(1-!4E0l zIpq1`JV0MBoauz<_$=?oIdJ^g2es>S#qzz%4K^YXDd~K-NBGLkX|6S-;eM6m@R)J5 zc!qal?dEFi=InZk$12Muj5;Vyf6Wzn9GYl>k0h(@IJ5Y9QbCF$Vhz1#;3vOuY}zkN z_ulfQ4IKqUa$oul-loQzx6S1$f^5D*DdMCQ=EBtMVOh*Q&H3*ixK%oYhIfq*;`4yu zCX4JN+l^@1mEn~G3uM4&0QSg8f0fix(W`=z2Uk;#o~)1nH=;aA90l*_!4$$%Em%s! za?Z__zO;i#z%fg@@N$dbl$6uIb>Gv;$d3Pn$3&8l0R#+UE(0Ot4!M}JwLiY-@_!Wz zF$@vzNkcyDL4~Bif^`j<EJF_Jn*E3Ij%}9}gcS9n&rVuCLTDvu-)r#@ zT|b3jbMVri42G5a4r|UecmM?d7GzZ*H{5$`EsK##D{d+bRtiMMZWjrBK;$!T z&SVd9ly)pNb&vOwY0iE%ygU<&P)D%y=V!27n%yAfB6OppL?bzt&xKB$;HC zfvHxf7CJB2Vk`a0J;>9 z&@=S&odz@;&zg_YG3^wS&iTYUJ1N=_q@QBYCKiULgnpUyaQ5jPfyaW7lRNT3Jm`Zg zY<7J|6xMRBaCbp#6}Eb&&VPFZD}UCAmgOS|kao?R+FxtJ%+uJXrwaRGJLtUQStKiS z@cDlPmU$rEy5D{`vB34H(vICkvMCifZ|x`Zm{-M2{Q4u?qUsoq7;Bhd>YRqrnUdu9 zslYW7I$L`}wl5yYqrDc%LBh92n^61IAMnO23;kyGk6m ziKzrI4o3Aar-_$D1PxYJWv*)kqneq$G%ue6uMyht@PE`0z$sa>D)|rX^|=Y`f^ z%hRD4L3_3<&n}J%daGIVxuYjYxl-%p7c(MgL1QxT#beg;tp z?u0yJ286_5KaZO0e06?XS#OMK?tF&rd_HwjsC4*U#R5_&X#v~obx&GqXsKGBd8w_g z*tB$9a~t?U2i+I`VVatFJ7e;IEK`FlHl;?R`L>`hG9YOyLdP)IOx-wXQ4A-g_tB4a z&B|}%>JY_#G6mFu>8&g46QjUMd!Hk$@jTUk|FW1HniiI0OJep$z72$G$;yvS0Bh$L z;Z_#qZZ*sAH#2T}3y{2^DBsY}4>s71K(?b17%iAU~?8Wb;+2 zkH&aqXdC6Tz%Q#Nf8Md?YytY3nz?~dJ7~X6$|u^*fYxVc^lB7>sb84;pP*}KvEmjX zi*p?*2$?M=#%4{cbrHvD-BJ^voWjbA44nR^Kiv4B#w;e?7-9S^;{uZB%$O+=Cy~IX zqx~U}V?ksj^4m7AVdhscTjho^Hx*+;GG6x`@gP_y%rRrpPYH8Ok=m0ZzqET88S>yd zdpK^cnvkkp#!M8F&j9Er}D7q z##JikwH*h;dw4OYqY{u&9^4#ZVSYVaVSSydd|G;!0_AkaxsEbe?@{s0HYx{((_~+9 z**oS5w0y#kv)6q%aZ;J<^X5D|C0F%@Xs*6(adGl?X8K&7wFh_1Sgzeb&UXC|w)DM{ zkIu+z{X38~Hz-*gUyaZ-R17kG8aS6(+U%a3$#0=Q6w^ zvgU%gFh74eGFN-zI7>J#wmMPYe$~MhweIokaFepxDM|Z&D#cJ$&f)cE_&%IQh`3GM zD1pw~acX2oEaWGVVD;b?*d(0o%onU{U28_GFW)ap*EgDB^HiIBzdgi<<_QyW)f`qA zYIZ``;sYCdH)~VYu*unRE$HE(=hVP)_qCFK`*V6)JLZ%9WGwEBIkA~{? zL~m;Zm5BpxZH|YMN)aZ}xs7$;2%A4OKR-Pwke_QjZ~rTy1Pq^gGFVLU&hGbX(&Rc( zUHUT%DDdQ*<18r+hs65V>R%;qS=;J>0~otqr-o_ zO&xHco*A$o=Ny#apsUp>{YvVf&gsHG=^0gKcFU2Zr!x^pbe7q@ro?#Oy=s0A2tjbY zw*OL%tHVtSAeh4ek)nt^d)}$pSmYDlL*1-TBaHGpj&;+vDE2wb_+~noAc3K!2a0r6|??{5d<{Nf&6(?9q9HFkcPeT1aWGXNtl*UpBQK z`q4^fhOlk0Ve{;lIeIVnS;TKn@$C2JP+AR0F(82O)=9^BOrCLK_jO-|)?#_W#zOtq zO6K~ylz_0;CaP)1-`qdl6O|Q(r-^b&20!6E-3x7?-*utGxpQG@z}^zCi^70?$UMyoy#JMP;;HnaAT{N}cz7{(@GBZCNwP}sA+)&+NVFGI z-v4?@pr>tU;R=0OF-^kmmy*T6L=3t?N(4@SXu@PSp(+a<%|iV8V~9`LOnDcRvkVRNif zp9Eq@!K_qgE4Og_6P&H2wA5Uk$+}RtgCEdP z66rd<5kX5m@zFyPV)bRDO1=5$Bg2ryYg3iYyaqSYeMYOHDXpQ3&e;8jW;jqLT3~xP z4cYrQ)I6byux=q+e8X$53ck0f64?7uv$&_^38wKLAui4BJ5Az#HRfIXb~h3<)9a)U z;H&SS4`OTHJ4PVV@q&N&xE~+|fOIRCxmh8L@o(1ettpG%U(j3)pMkUrfZ1f3iL$#3$3a@T_)qU`T)C zd*y&v?I%BTg(arqBTJuGym^1~LNowE$gQpQnTv6E|FVv5)BbWEOSBC4vI=#o^lWTQ z_Y;I0@A*Ev7&pf}o(?Ux0Qy;c+%x`h((8ZPTrIZBjS2YnY2e`nb@beZ=Om4_A*Ap= zzposi$hE=GG~9VHT6)0_#+zz!3%urB=zgN^^uEw?!$PA8!$VGMGLu!qDA`C7buuytmVs?E%9FWXKXA>Ahk=vNyLN85bHSq^IAix zSs~Z-q8M6woo?659_w5LZH`QXPTq3^lsOVz*o0lF8Wn{|PU>-Tq;TSUcX4A<0HA)gU)BSy1 z6&7^Sp@~OUBCc!9n-58;M&Rin%H9_vcLcWpQ-2}L=jZoYF#bE~MfC05ej3@Z(8b+P zuk6=i)|G}y!6ft{P|V}YRWRd=945KQ6~$`y)&+Xpv6ANVl`zR(iW$YXu*okZf@_a9 z(vUkJpS@!IQ#0lF^|j6KBecgrUB#$J7_R{S&wm3%IV~8@v^yiMXK?_)CwF)husx2R zP6XL79R{EsU;d>c#x7!GS*8$k#^rgU2-&aLRbBN<6U4X(tA!|LIiW-`OA-vF?0tS1 z5<6K`EP=E2A#PE993V7}O#(%&*A31UGlQFn`q~ZY5}n_=C=6ZmJuu!j&fg(=?oz-( zvK}6-j#@J)tR13hFI$LxNtdcWbLskgrBll0u%__@cTOC7^Uo?g>SHxcAZmQ1v^MGf z0?zjH$)HdnQ8JGmMTD0JEXCE@XrEy+DTpxC!skBhy1W>BsoPM{x#zaqbQIOL$3|Os z&WHat%dH&gU^K4EqBC1PcEQ+hJwLf~NuQzrDb27^D>a?JV)~Vq;bqE!VpQjKIwP%!09^Jf zm|56xjyAKWY zPIB4IBO}}&vF~cpu8j(M&ALR3mpfZ3*W@1O?z#Q14I71Q;4D`UCJRqbIdq?|n1OCu z-Sh-~zr`Ok1O)l>9hBF;1P(rvncCjJ5ybGl;H*)fMmc>n-yX60^CIQ$qz0(cyP?_Z zz9ul>q>oebf|6x=OxyR1SpB5*-_@yMvt=5N@W-(FBJUhA$u#uXFqZ3Ie#ulA`lz~0 zm~#|-=kY0+aHoMtp`OM#CK87SRrB2rpLWe?#%KVeKeSx>AWY%nO=P>$x$`2>JCP7zRj#9M;dK1$6_xr zUA2K7FLEv+??!xj7L+yxu#Du#Zk~G(d3WSn32i0cS|o-Zmn=MCt-X_2bepqQ8V&I1 z#gg4(Wq!BtBX!l2@mEXF@Rv(`bd66UCPB}K0m83|B3(je{378S9aV%3J~o>*Z^1OV zKEj>%U=*A6_Q0aPnT9emC~W3qaqi4+LqH_eB&zQ9CAsw*`BZ<@VK^4oHb>Ap>)wtI zd#WD;T_Kfp+BByiG&9KHX#=~$=KDAFg=k`lk6sHJQ8yUBF<5)w%lC{Djg``KEAt?& z=a*=%6|fn`=R<_fxy)u_p1TU$Mjnu~{by)+3-aTV#V)a*;PYcw);qzlAn#KVEt&7~ z%R_0}iW(VMZoPFg;OzuaZDRvaPRxph15)L@t_Qmq`3V|YofUuN@ei+G5>ob^%8~$- zDE0adw+^$=Z)+))f1b)1Q^DUxQF-AG*Y|^t_%EO(ZCc&kigZS&+hab4zMBMoVw*nX zKo0&_p)K%JfQWQg)y})6Yir~&Msx;!z3JyFX1=tm>7G2Xu%E2SiOhypG^q(c zD#|}AMW+NDH?a44wx#q2jDafW2#r-gQ| zxST7+kIh>VKC2+bt$PBs?TkNV%B$U!3Rw>E)CsY~^`@7` z+QE;Io6(#f9#=v&`j(vKy)X}+?ze#kR`JFyAFZ6&%0lwTx!wvK$cH)ee=FpP?iN`^ zF6qXbQfIML7}=%FaT7egnzZe`j2{_sCWUd&-f@jx=CG5YO!8%{Ok`R)@)!_{1> zv6(47z}`9-T5xy2S9^b|p@LpJblsUP)=x}324{N}U_Ub|JY2pgAJ+8KZv7Pc6?OMx z;lX*7`zG{{An1z-ghcr-K4wV3H}iCyN7+CpwLSi90xX%!Lo3;8A%ZYMVjS8rL4DB= zze^)b_NA-5$~D5nt;qa$H8l;DNGERHml|s3guN8$I?G_EVwbj~jO5GB!2Ar^UZ1+w zH02*5m!vs$ki!JK09olNp?I441(%=@os-jw?($Rqi!CaC%-b~ZDk}{jdJ93@(z6bU z{eu#VdaUeeWFm!QSLL!95q_z}Au7fk=@w@WWuc2C+&wG-4(43!-@nEzWN5K8?w75Z zeYb8-V!@707jIWg z9cZ%(g&6#qavZjo3-7R5wjSFZ-tn98DMy^!TZPs~?bqd`Ml=U~#7ry|dUj&}Cw< z?|OLU@#zXn?ZrlAp;Tg+lJ4}Y9$|LEiVJlm0hC{BmQh%3vzV`o;bEIBP0+B~GpaO2 z`RxS5U|?G4hzhtm6`rSuuTx+i>8?v>efewj(~B>pNACC)uEiBpbHt|&ZCpYd+Skzb zm9O!;b^P^B8Z&iYYV66Nj8y&j~d3 z&rga6ry97ax-ETlIvMtDsf^&Y;l;&6B?W^7tHaFVIm*pwM?;)T9=8*Ur;DA6>I->U zK5WE+Xy>@i0TW%&r>__B3vCzv`Wkxshu@>z@-Z|CXUoN=jHb>#6E6$q5Wa0fg{Al= z#-4}K>+@a=UgW@aSe9wmN6{HK9VT8-u;u&b!(pGizCt+2Yl?n}PVS4d?U_xCIm@dq zpULSB{qXeo{2?8(Y%6hzhKs{S9~;Bc7zQ~on(`XV&hk6i(j9~F2pOX{9PpU_Q->dq`$uK7HwR= zhDD$nR#W@LJW|+)1U_HJhgCpp(315_$e>AIz>vV>>+@mN$;?h~C>QXBO=b0cW?PbA z=?rrqAmIqm5rP_8WVVHT%;xBfQ@qx!BgCs7=YjIDwa`|CU+@wAp*|K2cEmIWzx;Oj zb-yL;_~f8__MzP>-|06&J=! zg8dm1kP<(YuC-6~aZ%WBt4uN+(-_ZxJS6o`@ciM5$_lT;9dp8o^v7?0f*!l}yVQ+W zYHJQU953dh-?&Z>;+3KF+zh+#Cq7FL+;jqoBpc^H;?Ku-~UOam49J}+@Z_$g7-jA=D)>96KZeBqq?tzJ> zA25fWZYrS{pM6St8}`|^4vKF>NE`!K*e``cfDu7FIB^mu_?D1Fm2q`~sNh`O0(lK} zpx3tCxt33iPtYq zwihhnVuw_Rim8*pyCkBLWWor11)nBC@w{o`B^xBW=7SY<<8{~2&3C*=^vN@5zd0YL z$@?Bc1*39l`HL?abKiyb5&S^gxN$Y|Xi|S0Ly|Pym*GCEpRQ&f7-XN+pD-TL{w9&t zzJw$flTcSk2mrw|=yda?27Qm)R(_2wYDsW{!e}yFdl-*rNcD0Zb%GNk^hk$?@u?E< zBc;KNP<;_uVfFmv6DkfC{_x^JuX*9Qr|BPj+4)I)(#iw{&Y9 zoo?ShU*3nAl@k&^104xQFhCA?1r88NWqn?jiMB=02=Z#juZQVifADzJ=@KjaEe(|! zz(3N_-rgR&?&m*<(b3OWnc(qo(uyF$Y3x8Baq<$6;MauEl$GaSD5^0qFHB!ZWPD$z=UlvK`-k$PYa8 zX?u8rm6D{^Aag(!7PchI5#z-PVHp0w@}U<>P7xaBP1PaQ7-AdLigNrj|?e(oXDqKm6{Frv^(n~LmEnBuM;Bvl3ZLqx9NzxzYRl54ZwGXR4=8N)&yb&3d4`n^Nufw;k zGF;<&#WNTao0mtP-^12TH{x_u%c917DHxS+R|7Q}Uou=&&qzK-dA&A*AwFaI^RNMk zU!J3Duf0~jjepHG*T{E{5FEGMJN8s|eV-ZT01h`X%w~v4sW(s+@+AXO$to}WktG`0 z*YpOdc5Arc85YOofq!s);0rw4_xYI29n%YZ0!^4%BwqZ$C^oPoiBJ^lQ$e*SG`8bx zC=b)wXQn6cG9thu&-iWq(fcVeZWQD!>9|jOK#6gTAy2%6kAzX?Ed6%LtX}je6 z2n^n^{Rq;jMBEGy$OCy0S?C*YktVi{=OP5pk1 zLKigNjPUG*bnb)KZ}mfK=JR3pC~=AA(HAMhW*+E}OTrlubj@V)$vNZL1SjL@MCV7q zC$qWR4tsh(DwxWDUtcPJ5`0g^1VyQAB*=r0zqsQu2X{K`2rCdJ@@qhh@DdvtNug3+ zR`|~^-iY(j(3fnChAhcCAaT2g*vfBuktF<)xJ%(r7}WxGCmK(ep_Ri zAm`ig_?ah^Reyr`1>%5tM;(eQPl!OjT`a=*GmZH)MyT1rgk3ZnO%U)DDkwbM(EBYV zB&l~tUlOrhqqrl^eu53)d59(SLB?DP{#{%8&>RW=c+v^@RQ`MXKA0fu6C!YwFL8+m zb9~4Ik}SZG)(l5^80QzCm+{fI@Ny!YZeMnH;mA4>j9j*bzhV9jL+qXv-#>-9R@m2~ zIIVq}!l~Tw@u}pQXBcfa;x{b8>WtPp6SNlmE@m$Csx$0Zf~->vx|;Y%wI39LolidA zSNu_|`F^K@)rQi!{%3qpJ*qdXS+DCO<0QUbTlu24hbK6RP^eI~aGiordDR&SY?6`2 zubTMkd{_sEj~fY2Pz1jc+DQb}wbyKu*doo$ht6^DwLrgR_g!C_K7J~o<42h*g0Uw9&NO6HpBD30Cv;`pPozCDJc^r&8K zi}oZsefdxygf#F`y6Tf!?FY#C!1eLYCbRhZ8CDyrOLGv#iw}VUUe7-KE?NwX@FC8) zr6P1JvUH3f&OHlv$SL`J9uM|y`?9I8`ekRa7`2>8#V31(FY9)>l z4s?XwYbr1ED9mKPooY>q@~K*1R&mkV=Sc-eWwg!wT-0CnPwcdD~qZ!!}te$hH27L$1xR@~ESJ zTVUrT!@g6=_!SqeRZjJBEpU|4wUw5V&-ujcKCiD%@q+X0`FMsCd{YIUenmxVmQ`K; zi1+bW-udjUB3z`M{vpC-1UOXb*3v?z^hg?%2@p*oeWHQVLC1V5ectRv)8*u_imP8PbEHDzJj z%pxx$mq??J}G|cQoZ=Iv4eYYtDAU)1-jqKmU_Qr*_1L{}Vjl9e;L* z=U>s6VM{a{X2o3VpBQrOVX)&ByuzNW=yN)mNA>RtR=&^&-#!bwg;4nzB_+z|;p3p& z#CU!&EkT#3C-fl+kLu*5QDFrV^fA%Xsk{L?zN`w~=}M4SS)b;^s?g!I$uHHaKZ0}F zmGH?F2iE6NnE4b|Wyxw^c>+J|hBV&?hgX``tegE|9sGxn(46piIzkx_C(PVtStl9S z5Fiwg&wgfd=VV8`?}R`DDReL=JVx!K7~~m*TV|;HTY(OBL!B& z*#Yf|G8!7jhcH-tYb@fm#c4*d(+P6E4i9FF91yRQj0%g>&w53t5>&U=iudXSnTVer zTO9OtrGn$!Ar#tS87>+thMk@`k09ebG8p*Us}7=OdEY*Za7l&>C;<&{aL~aCi6=!M zc0d%fa{RFwl@)GrBtb49GndjFITZ9e3VmXOr4sSn1}RusqP2Pv>STHKl|lB?v(IEH z!0CVxoe2t*C9ugYXE)^1{xe?TKx+7BDCA{nvnLOB+b zqI73l-pNuLdKH3>IS3va37VpO%*?omxadgr0saJ?9-j+th~c&-XPA%5r5)4u2=y?# zN%|Aob9z*U@d^t``t5a`zwed8c7mMpXxyScMA}iMGFTi>G+us;{y%@TBwW&_7Y6_U N002ovPDHLkV1k^lU%LPR literal 0 HcmV?d00001 diff --git a/app/Images.xcassets/AppIcon.appiconset/Whale_preview-3.png b/app/Images.xcassets/AppIcon.appiconset/Whale_preview-3.png new file mode 100644 index 0000000000000000000000000000000000000000..b3501e0f12b850694312d667a502ccb48702eb98 GIT binary patch literal 77060 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Ξ8Njhrv?*EF7u4lu+X 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

}r+Bj&Iep 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 F{}*zBdQ1QS literal 0 HcmV?d00001 diff --git a/app/Images.xcassets/AppIcon.appiconset/Whale_preview-4.png b/app/Images.xcassets/AppIcon.appiconset/Whale_preview-4.png new file mode 100644 index 0000000000000000000000000000000000000000..721cd6fdfed125fb61c5a09bcffce12183b51064 GIT binary patch literal 20798 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 N002ovPDHLkV1k^lU%LPR literal 0 HcmV?d00001 diff --git a/app/Images.xcassets/AppIcon.appiconset/Whale_preview-5.png b/app/Images.xcassets/AppIcon.appiconset/Whale_preview-5.png new file mode 100644 index 0000000000000000000000000000000000000000..b3501e0f12b850694312d667a502ccb48702eb98 GIT binary patch literal 77060 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Ξ8Njhrv?*EF7u4lu+X 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

}r+Bj&Iep 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

#+ekBwg&zcv0~ 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 E0AS-z{r~^~ diff --git a/app/AppDelegate.m b/app/AppDelegate.m index 22b7cdc..3a9bc50 100755 --- a/app/AppDelegate.m +++ b/app/AppDelegate.m @@ -52,6 +52,8 @@ @interface AppDelegate () 5 ) + { + NSLog(@"time meet for the same discover user is more than 5 mins, update location and time"); + discoverUser.timeMeet = [NSDate date]; + double latitude = (double)[self.currentLocation coordinate].latitude; + discoverUser.latitude = [NSNumber numberWithDouble:latitude]; + double longitude = (double)[self.currentLocation coordinate].longitude; + discoverUser.longitude = [NSNumber numberWithDouble:longitude]; + + if (![self.DiscoverDatabaseContext save:&error]) { + NSLog(@"Couldn't save %@", [error localizedDescription]); + } + + //NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); + + //setup notification to other view controller that the context is avaiable. + NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + } + else { + NSLog(@"time meet for the same discover user is too soon to change"); + } + } else { NSLog(@"create new core data"); + + NSFetchRequest *add_request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; + add_request.predicate = nil; + add_request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"timeMeet" + ascending:NO]]; + + NSError *add_error; + NSArray *add_matches = [self.DiscoverDatabaseContext executeFetchRequest:add_request error:&add_error]; + + if ([add_matches count] == DISCOVER_USER_LIMIT) { + NSLog(@"discover user reaching limit, remove the earliest discover user"); + [self.DiscoverDatabaseContext deleteObject:[add_matches lastObject]]; + } + NSManagedObjectContext *context = [self DiscoverDatabaseContext]; DiscoverUser *discoverUser = [NSEntityDescription insertNewObjectForEntityForName:@"DiscoverUser" inManagedObjectContext:context]; discoverUser.userName = userName; @@ -429,13 +473,13 @@ - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeri discoverUser.longitude = [NSNumber numberWithDouble:longitude]; NSError *error=nil; - NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); + NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); - if (![self.DiscoverDatabaseContext save:&error]) { - NSLog(@"Couldn't save %@", [error localizedDescription]); - } + if (![self.DiscoverDatabaseContext save:&error]) { + NSLog(@"Couldn't save %@", [error localizedDescription]); + } - NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); + //NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); //setup notification to other view controller that the context is avaiable. NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; @@ -835,7 +879,7 @@ -(void)btle_switch_mode:(NSTimer *)switchtimer - (void)btle_seq { PFUser *user = [PFUser currentUser]; - [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] , CBAdvertisementDataLocalNameKey : user.username }]; + [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] , CBAdvertisementDataLocalNameKey : user.username }]; NSLog(@"send out advertisment data, user name is %@", user.username); //self.switchTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(btle_switch_mode:) userInfo:nil repeats:YES]; From b7c86d4ec86d895c0b45248cd87f232541fc5634 Mon Sep 17 00:00:00 2001 From: dandanlau Date: Sun, 7 Jun 2015 00:31:48 -0700 Subject: [PATCH 20/33] changed contactDetails to display user data --- Classes/Tabs/contactDetailsVC.h | 3 ++ Classes/Tabs/contactDetailsVC.m | 70 +++++++++++++++++++++++++++++---- 2 files changed, 66 insertions(+), 7 deletions(-) diff --git a/Classes/Tabs/contactDetailsVC.h b/Classes/Tabs/contactDetailsVC.h index 4c038f7..1be7582 100644 --- a/Classes/Tabs/contactDetailsVC.h +++ b/Classes/Tabs/contactDetailsVC.h @@ -8,7 +8,10 @@ #import #import "Contacts.h" +#import "DiscoverUser.h" @interface contactDetailsVC : UIViewController @property (strong, nonatomic) Contacts *contact; +@property (strong, nonatomic) DiscoverUser *discoverUser; + @end diff --git a/Classes/Tabs/contactDetailsVC.m b/Classes/Tabs/contactDetailsVC.m index 7c1321a..34880b1 100644 --- a/Classes/Tabs/contactDetailsVC.m +++ b/Classes/Tabs/contactDetailsVC.m @@ -10,6 +10,7 @@ #import #import #import +#import "DiscoverUser.h" #import "ProgressHUD.h" @@ -37,16 +38,27 @@ @implementation contactDetailsVC -(void)viewDidLoad { [super viewDidLoad]; - [self loadView]; + [self loadView]; + [self loadUser]; self.label = [[UILabel alloc] init]; - // [self.label setBackgroundColor:[UIColor redColor]]; - self.label.text = @"testing"; +// [self.label setBackgroundColor:[UIColor redColor]]; + self.label.lineBreakMode = NSLineBreakByWordWrapping; + self.label.numberOfLines = 10; + NSString *full_name = [NSString stringWithFormat:@"Full name = %@", self.contact.userFullName ]; + NSString *age = [NSString stringWithFormat:@"Age = %@", self.contact.age ]; + NSString *sex = [NSString stringWithFormat:@"Sex = %@", self.contact.sex ]; + NSString *interest = [NSString stringWithFormat:@"interest = %@", self.contact.interest ]; + NSString *self_description = [NSString stringWithFormat:@"self description = %@", self.contact.selfDescription ]; + + self.label.text = [NSString stringWithFormat:@"%@ \r %@ \r %@ \r %@ \r %@", full_name, age, sex, interest, self_description]; [self.label setFont:[UIFont fontWithName:@"System" size:30]]; NSLog(@"text label = %@", self.label.text); self.label.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; - self.labelContainerView = [[UIView alloc] initWithFrame:CGRectZero]; + [self.label sizeToFit]; + self.labelContainerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; self.labelContainerView.translatesAutoresizingMaskIntoConstraints = NO; +// [self.labelContainerView setBackgroundColor:[UIColor blueColor]]; [self.labelContainerView addSubview:self.label]; [self.view addSubview:self.labelContainerView]; @@ -73,21 +85,31 @@ -(void)viewDidLoad { attribute:NSLayoutAttributeHeight multiplier:0.1 constant:0.0]]; + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.labelContainerView + attribute:NSLayoutAttributeHeight + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeHeight + multiplier:0.1 + constant:0.0]]; + + NSArray *constraint_POS_V_label = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[labelView]" options:0 metrics:nil views:viewsDictionary]; - NSArray *constraint_POS_H_label = [NSLayoutConstraint constraintsWithVisualFormat:@"H:[imageView]-10-[labelView]" + NSArray *constraint_POS_H_label = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-50-[labelView]-50-|" options:0 metrics:nil views:viewsDictionary]; + - - NSArray *constraint_POS_V_chat = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-100-[chat_view]-100-|" + NSArray *constraint_POS_V_chat = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[chat_view]-50-|" options:0 metrics:nil views:viewsDictionary]; @@ -98,6 +120,8 @@ -(void)viewDidLoad { views:viewsDictionary]; [self.view addConstraints:constraint_POS_V_chat]; [self.view addConstraints:constraint_POS_H_chat]; + [self.view addConstraints:constraint_POS_V_label]; + [self.view addConstraints:constraint_POS_H_label]; [self.chat addTarget:self action:@selector(actionChat) forControlEvents:UIControlEventTouchUpInside]; @@ -136,4 +160,36 @@ -(void)actionChat //--------------------------------------------------------------------------------------------------------------------------------------------- } + + + +- (void)loadUser +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + + + // PFUser *user = [PFUser currentUser]; + + + // self.label.text = user[PF_USER_FULLNAME]; + NSLog(@"debug = %@", self.contact.userName); + + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:self.contact.userName]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + NSLog(@"debug 2 = %@ objects count = %lu" , self.contact.userName, (unsigned long)[objects count]); + PFUser *user = [objects firstObject]; + //CreateMessageItem([PFUser currentUser], discoverId, discover[PF_GROUPS_NAME]); +// self.imageUser.layer.cornerRadius = self.imageUser.frame.size.width / 2; +// [self.imageUser setFile:user[PF_USER_PICTURE]]; +// [self.imageUser loadInBackground]; + } + }]; + +} + + @end From c51ac16f4829d06102474531762421d4ab10b997 Mon Sep 17 00:00:00 2001 From: dandanlau Date: Sun, 7 Jun 2015 00:32:37 -0700 Subject: [PATCH 21/33] changed prepare segue --- Classes/Tabs/ContactsView.m | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Classes/Tabs/ContactsView.m b/Classes/Tabs/ContactsView.m index 6842e67..c95d355 100644 --- a/Classes/Tabs/ContactsView.m +++ b/Classes/Tabs/ContactsView.m @@ -126,5 +126,28 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath [self.navigationController pushViewController:ivc animated:YES]; } +#pragma mark - Table view delegate +-(void)prepareViewController:(id)vc forSegue:(NSString *)segueIdentifier fromIndexPath:(NSIndexPath *)indexPath +{ + Contacts *user_contact = [self.fetchedResultsController objectAtIndexPath:indexPath]; + if ([vc isKindOfClass:[contactDetailsVC class]]) { + contactDetailsVC *dv = (contactDetailsVC *)vc; + dv.contact = user_contact; + // NSLog(@"debug prepare = %@", dv.discoverUser.userName); + } +} + +-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender +{ + NSIndexPath *indexPath = nil; + if([sender isKindOfClass:[UITableViewCell class]]) { + indexPath = [self.tableView indexPathForCell:sender]; + } + [self prepareViewController:segue.destinationViewController + forSegue:segue.identifier + fromIndexPath:indexPath]; +} + + @end From d118de38f181b46b461a105b36b63829278f08d8 Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Sat, 13 Jun 2015 13:18:50 -0700 Subject: [PATCH 22/33] bluetooth connect no --- .../UserInterfaceState.xcuserstate | Bin 70093 -> 70246 bytes app/AppDelegate.m | 169 ++++++++++-------- 2 files changed, 95 insertions(+), 74 deletions(-) diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 92c94722f3549ba54e755239300717dffa3440f3..da8ffc65e1128d88e6711ef2f48d0f72f49758c0 100644 GIT binary patch delta 32983 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

Im7qt-FQGTCej6mmKMn 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 m1{@aY5mf4}eJ_nz6Ey>sq4=bm=YJ@?+C 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 5 ) + if (minsBetweenDates > 2 ) { - NSLog(@"time meet for the same discover user is more than 5 mins, update location and time"); + NSLog(@"time meet for the same discover user is more than 2 mins, update location and time"); discoverUser.timeMeet = [NSDate date]; double latitude = (double)[self.currentLocation coordinate].latitude; discoverUser.latitude = [NSNumber numberWithDouble:latitude]; double longitude = (double)[self.currentLocation coordinate].longitude; discoverUser.longitude = [NSNumber numberWithDouble:longitude]; - if (![self.DiscoverDatabaseContext save:&error]) { - NSLog(@"Couldn't save %@", [error localizedDescription]); - } - - //NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); + //find the actual full name + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:discoverUser.userName]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + NSLog(@"find pf user full name and thumbnail"); + PFUser *user = [objects firstObject]; + discoverUser.userFullName = user[PF_USER_FULLNAME]; + NSLog(@"found user %@, thumbnail is %@", discoverUser.userFullName, user[PF_USER_THUMBNAIL]); + PFFile *discoverThumbnail = user[PF_USER_THUMBNAIL]; + [discoverThumbnail getDataInBackgroundWithBlock:^(NSData *data, NSError *error) { + NSLog(@"in the block"); + if(!error) { + NSLog(@"no error!"); + discoverUser.thumbnail = data; + [self save_and_post]; + NSLog(@"thumbnail is %@", discoverUser.thumbnail); + } + }]; + //NSLog(@"save thumbnail %@", discoverUser.thumbnail); + [self save_and_post]; + NSLog(@"save and post finished!"); + + } + }]; - //setup notification to other view controller that the context is avaiable. - NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; - [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + [self save_and_post]; } else { NSLog(@"time meet for the same discover user is too soon to change"); @@ -493,7 +513,7 @@ -(void) get_info:(NSString *)userName discoverUser.latitude = [NSNumber numberWithDouble:latitude]; double longitude = (double)[self.currentLocation coordinate].longitude; discoverUser.longitude = [NSNumber numberWithDouble:longitude]; - + NSLog(@"using parse query"); //find the actual full name PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; [query whereKey:PF_USER_USERNAME equalTo:discoverUser.userName]; @@ -501,33 +521,49 @@ -(void) get_info:(NSString *)userName { if ([objects count] != 0) { - + NSLog(@"find pf user full name and thumbnail"); PFUser *user = [objects firstObject]; - NSLog(@"found user %@", user[PF_USER_FULLNAME]); discoverUser.userFullName = user[PF_USER_FULLNAME]; - discoverUser.thumbnail = user[PF_USER_THUMBNAIL]; + NSLog(@"found user %@, thumbnail is %@", discoverUser.userFullName, user[PF_USER_THUMBNAIL]); + PFFile *discoverThumbnail = user[PF_USER_THUMBNAIL]; + [discoverThumbnail getDataInBackgroundWithBlock:^(NSData *data, NSError *error) { + NSLog(@"in the block"); + if(!error) { + NSLog(@"no error!"); + discoverUser.thumbnail = data; + [self save_and_post]; + NSLog(@"thumbnail is %@", discoverUser.thumbnail); + } + }]; + //NSLog(@"save thumbnail %@", discoverUser.thumbnail); + [self save_and_post]; + NSLog(@"save and post finished!"); + } }]; - NSError *error=nil; - - NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); - - if (![self.DiscoverDatabaseContext save:&error]) { - NSLog(@"Couldn't save %@", [error localizedDescription]); - } - - //NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); - - //setup notification to other view controller that the context is avaiable. - NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; - [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; - - NSLog(@"Post database notification!"); + //[self save_and_post]; } } +-(void) save_and_post +{ + NSError *error=nil; + + if (![self.DiscoverDatabaseContext save:&error]) { + NSLog(@"Couldn't save %@", [error localizedDescription]); + } + + //NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); + + //setup notification to other view controller that the context is avaiable. + NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + + NSLog(@"Post database notification!"); +} + /** If the connection fails for whatever reason, we need to deal with it. */ - (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error From 2a22a4e8d7ba80facb79c842dcd77db315dfa24a Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Tue, 7 Jul 2015 22:19:01 -0700 Subject: [PATCH 27/33] contact thumbnail update contact thumbnail --- Classes/Tabs/Contacts.h | 2 +- Classes/Tabs/ContactsView.m | 3 ++ Classes/Tabs/detailsView.m | 40 ++++++++++++------ .../UserInterfaceState.xcuserstate | Bin 71491 -> 71642 bytes 4 files changed, 30 insertions(+), 15 deletions(-) diff --git a/Classes/Tabs/Contacts.h b/Classes/Tabs/Contacts.h index 7cd9b50..1f6aebf 100644 --- a/Classes/Tabs/Contacts.h +++ b/Classes/Tabs/Contacts.h @@ -18,6 +18,6 @@ @property (nonatomic, retain) NSString * sex; @property (nonatomic, retain) NSString * interest; @property (nonatomic, retain) NSString * selfDescription; -@property (nonatomic, retain) id thumbnail; +@property (nonatomic, retain) NSData *thumbnail; @end diff --git a/Classes/Tabs/ContactsView.m b/Classes/Tabs/ContactsView.m index c95d355..1144ebf 100644 --- a/Classes/Tabs/ContactsView.m +++ b/Classes/Tabs/ContactsView.m @@ -97,6 +97,9 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N Contacts *contact = [self.fetchedResultsController objectAtIndexPath:indexPath]; cell.textLabel.text = contact.userFullName; cell.detailTextLabel.text = contact.selfDescription; + if (contact.thumbnail != nil) { + cell.imageView.image = [UIImage imageWithData:contact.thumbnail]; + } /* cell.imageView.image = [UIImage imageWithData:contact.thumbnail]; if (!cell.imageView.image) { diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m index 50bdf3f..10db664 100644 --- a/Classes/Tabs/detailsView.m +++ b/Classes/Tabs/detailsView.m @@ -339,21 +339,17 @@ -(void)actionAdd { contact.interest = user[PF_USER_INTEREST]; contact.selfDescription = user[PF_USER_SELF_DESCRIPTION]; //contact.thumbnail = user[PF_USER_THUMBNAIL]; - + PFFile *contactThumbnail = user[PF_USER_THUMBNAIL]; + [contactThumbnail getDataInBackgroundWithBlock:^(NSData *data, NSError *error) { + + if(!error) { + contact.thumbnail = data; + [self save_and_post]; + } + }]; + + [self save_and_post]; - - NSError *error=nil; - - - - if (![self.context save:&error]) { - NSLog(@"Couldn't save %@", [error localizedDescription]); - } - - NSLog(@"Added!"); - //setup notification to other view controller that the context is avaiable. - NSDictionary *userInfo = self.context ? @{DatabaseAvailabilityContext : self.context } : nil; - [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; //add contact to current user contact list @@ -379,6 +375,22 @@ -(void)actionAdd { } +-(void) save_and_post +{ + NSError *error=nil; + + + + if (![self.context save:&error]) { + NSLog(@"Couldn't save %@", [error localizedDescription]); + } + + NSLog(@"Added!"); + //setup notification to other view controller that the context is avaiable. + NSDictionary *userInfo = self.context ? @{DatabaseAvailabilityContext : self.context } : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; +} + -(void)actionChat { PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 0dbd0ad46f810bd06cb4f36fa1203fd81559f526..4ae252ef1de0c61f81e3b47f88a171fbdf521c14 100644 GIT binary patch delta 18447 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 MUA^(w`*YR*59->4mH+?% From 9544cc5fa8106c74a2607d88f1cb81f8a408b9ea Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Thu, 16 Jul 2015 19:59:22 -0700 Subject: [PATCH 28/33] discover cell update discover cell --- Classes/Tabs/DiscoversView.m | 16 ++--- Classes/Tabs/discoversCell.h | 19 +++++ Classes/Tabs/discoversCell.m | 66 ++++++++++++++++++ Classes/Tabs/discoversCell.xib | 44 ++++++++++++ app.xcodeproj/project.pbxproj | 10 +++ .../UserInterfaceState.xcuserstate | Bin 71642 -> 73894 bytes 6 files changed, 147 insertions(+), 8 deletions(-) create mode 100644 Classes/Tabs/discoversCell.h create mode 100644 Classes/Tabs/discoversCell.m create mode 100644 Classes/Tabs/discoversCell.xib diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index 7f90236..03f0294 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -9,7 +9,7 @@ #import "DiscoversView.h" #import "detailsView.h" #import "DiscoverUser.h" - +#import "discoversCell.h" #import "DatabaseAvailability.h" @@ -142,8 +142,8 @@ -(void) loadDiscovers //load discover people or ibeacon - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath //------------------------------------------------------------------------------------------------------------------------------------------------- { - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; - if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"]; + discoversCell *cell = (discoversCell *)[tableView dequeueReusableCellWithIdentifier:@"discoversCell"]; + if (cell == nil) cell = (discoversCell *)[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"discoversCell"]; NSLog(@"update table view"); DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; @@ -156,7 +156,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:[NSTimeZone localTimeZone].secondsFromGMT]; NSString *localDateString = [df stringFromDate:discoverUser.timeMeet]; - cell.detailTextLabel.text = localDateString; + cell.localDateTime.text = localDateString; /* PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; @@ -181,23 +181,23 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N }]; */ - cell.textLabel.text = discoverUser.userFullName; + cell.userFullName.text = discoverUser.userFullName; if (discoverUser.thumbnail == nil) { - cell.imageView.image = [UIImage imageNamed:@"Whale_preview_120.png"]; + cell.imageUser.image = [UIImage imageNamed:@"Whale_preview_120.png"]; } else { UIImage *image = [UIImage imageWithData:discoverUser.thumbnail]; - cell.imageView.image = image; + cell.imageUser.image = image; } //if (cell.detailTextLabel.text == nil) cell.detailTextLabel.text = [NSString stringWithFormat:@"latitude %+.6f, longtitude %+.6f\n", location.coordinate.latitude, location.coordinate.longitude]; - cell.detailTextLabel.textColor = [UIColor lightGrayColor]; + //cell.detailTextLabel.textColor = [UIColor lightGrayColor]; /* PFQuery *query = [PFQuery queryWithClassName:PF_CHAT_CLASS_NAME]; diff --git a/Classes/Tabs/discoversCell.h b/Classes/Tabs/discoversCell.h new file mode 100644 index 0000000..6cb1acf --- /dev/null +++ b/Classes/Tabs/discoversCell.h @@ -0,0 +1,19 @@ +// +// discoversCell.h +// app +// +// Created by Daniel Lau on 6/27/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import +#import + +@interface discoversCell : UITableViewCell + +- (void)bindData:(PFObject *)discovered_users_; +@property (retain, nonatomic) IBOutlet UIImageView *imageUser; +@property (retain, nonatomic) IBOutlet UILabel *userFullName; +@property (retain, nonatomic) IBOutlet UILabel *localDateTime; + +@end diff --git a/Classes/Tabs/discoversCell.m b/Classes/Tabs/discoversCell.m new file mode 100644 index 0000000..5bbab40 --- /dev/null +++ b/Classes/Tabs/discoversCell.m @@ -0,0 +1,66 @@ +// +// discoversCell.m +// app +// +// Created by Daniel Lau on 6/27/15. +// Copyright (c) 2015 KZ. All rights reserved. +// +#import +#import + +#import "AppConstant.h" +#import "utilities.h" + + +#import "discoversCell.h" + +@interface discoversCell() +{ + PFObject *discovered_users; +} +/* +@property (strong, nonatomic) IBOutlet UIImageView *imageUser; +@property (strong, nonatomic) IBOutlet UILabel *userFullName; +@property (strong, nonatomic) IBOutlet UILabel *localDateTime; +*/ +@end + +@implementation discoversCell + +@synthesize imageUser = _imageUser; +@synthesize userFullName = _userFullName; +@synthesize localDateTime = _localDateTime; + + +- (void)awakeFromNib { + // Initialization code +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +- (void)bindData:(PFObject *)discovered_users_ +//------------------------------------------------------------------------------------------------------------------------------------------------- +{ + /* + discovered_users = discovered_users_; + + imageUser.layer.cornerRadius = imageUser.frame.size.width/2; + imageUser.layer.masksToBounds = YES; + //--------------------------------------------------------------------------------------------------------------------------------------------- + + PFUser *lastUser = discovered_users[PF_MESSAGES_LASTUSER]; + [imageUser setFile:lastUser[PF_USER_PICTURE]]; + [imageUser loadInBackground]; + + userFullName.text = @"test"; + localDateTime.text = @"test"; + */ + +} + + +@end diff --git a/Classes/Tabs/discoversCell.xib b/Classes/Tabs/discoversCell.xib new file mode 100644 index 0000000..57311ac --- /dev/null +++ b/Classes/Tabs/discoversCell.xib @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app.xcodeproj/project.pbxproj b/app.xcodeproj/project.pbxproj index 767e6ad..6067779 100755 --- a/app.xcodeproj/project.pbxproj +++ b/app.xcodeproj/project.pbxproj @@ -137,6 +137,8 @@ DEBB7B351AE2FD21009CD940 /* tab_discovers.png in Resources */ = {isa = PBXBuildFile; fileRef = DEBB7B341AE2FD21009CD940 /* tab_discovers.png */; }; DEBB7B481AE3753C009CD940 /* Discover.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */; }; DEBF53C91B4CDA0D00891128 /* DiscoverUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEBF53C81B4CDA0D00891128 /* DiscoverUser.m */; }; + DEBF53CD1B4CF9C900891128 /* discoversCell.m in Sources */ = {isa = PBXBuildFile; fileRef = DEBF53CB1B4CF9C900891128 /* discoversCell.m */; }; + DEBF53CE1B4CF9C900891128 /* discoversCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = DEBF53CC1B4CF9C900891128 /* discoversCell.xib */; }; DEE855401B081778000AA5AC /* ContactsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8553F1B081778000AA5AC /* ContactsView.m */; }; DEE855461B08232E000AA5AC /* contactDetailsVC.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE855451B08232E000AA5AC /* contactDetailsVC.m */; }; DEE8554C1B09BE93000AA5AC /* Contacts.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8554B1B09BE93000AA5AC /* Contacts.m */; }; @@ -383,6 +385,9 @@ DEBB7B471AE3753C009CD940 /* Discover.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Discover.xcdatamodel; sourceTree = ""; }; DEBF53C71B4CDA0D00891128 /* DiscoverUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoverUser.h; sourceTree = ""; }; DEBF53C81B4CDA0D00891128 /* DiscoverUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoverUser.m; sourceTree = ""; }; + DEBF53CA1B4CF9C900891128 /* discoversCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = discoversCell.h; sourceTree = ""; }; + DEBF53CB1B4CF9C900891128 /* discoversCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = discoversCell.m; sourceTree = ""; }; + DEBF53CC1B4CF9C900891128 /* discoversCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = discoversCell.xib; sourceTree = ""; }; DEE8553E1B081778000AA5AC /* ContactsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactsView.h; sourceTree = ""; }; DEE8553F1B081778000AA5AC /* ContactsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactsView.m; sourceTree = ""; }; DEE855441B08232E000AA5AC /* contactDetailsVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = contactDetailsVC.h; sourceTree = ""; }; @@ -995,6 +1000,9 @@ DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */, DEBF53C71B4CDA0D00891128 /* DiscoverUser.h */, DEBF53C81B4CDA0D00891128 /* DiscoverUser.m */, + DEBF53CA1B4CF9C900891128 /* discoversCell.h */, + DEBF53CB1B4CF9C900891128 /* discoversCell.m */, + DEBF53CC1B4CF9C900891128 /* discoversCell.xib */, DEB34C2B1AF0A7DF000A42B8 /* detailsView.h */, DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */, DE31A2DB1AF7152800FD8DE2 /* CoreDataTableViewController.h */, @@ -1107,6 +1115,7 @@ 689D00E91B1D9BFD003E21F3 /* contact-icon.png in Resources */, 29A531331AAEEF9500263CB1 /* profile_blank@2x.png in Resources */, DEBB7B351AE2FD21009CD940 /* tab_discovers.png in Resources */, + DEBF53CE1B4CF9C900891128 /* discoversCell.xib in Resources */, 29A531311AAEEF9500263CB1 /* messages_blank@2x.png in Resources */, 29A531321AAEEF9500263CB1 /* messages_compose@2x.png in Resources */, 292338FC1AA37C4100A47A39 /* FacebookFriendsView.xib in Resources */, @@ -1183,6 +1192,7 @@ 292339C81AA38E0F00A47A39 /* JSQMessagesMediaPlaceholderView.m in Sources */, DE31A2E31AF7321700FD8DE2 /* AppDelegate+MOC.m in Sources */, DE31A2DD1AF7152800FD8DE2 /* CoreDataTableViewController.m in Sources */, + DEBF53CD1B4CF9C900891128 /* discoversCell.m in Sources */, 292339331AA38DBD00A47A39 /* UIRefreshControl+AFNetworking.m in Sources */, 292339A71AA38E0F00A47A39 /* UIDevice+JSQMessages.m in Sources */, 292339C11AA38E0F00A47A39 /* JSQMessagesCollectionViewCellOutgoing.m in Sources */, diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 4ae252ef1de0c61f81e3b47f88a171fbdf521c14..c3c6631d7e2bf3a87eb3230aa4a81fd54c394197 100644 GIT binary patch literal 73894 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 M5c>biKc8m*AGgUYqyPW_ From 8f74944e5fcc31ea1c74d28ae094731dd87df91d Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Fri, 17 Jul 2015 23:22:12 -0700 Subject: [PATCH 29/33] add refresh control refresh control in discover view --- Classes/Tabs/03_Profile/ProfileView.m | 2 + Classes/Tabs/DiscoversView.m | 47 ++++++++++++++---- .../UserInterfaceState.xcuserstate | Bin 73894 -> 73663 bytes app/AppDelegate.m | 4 ++ 4 files changed, 44 insertions(+), 9 deletions(-) diff --git a/Classes/Tabs/03_Profile/ProfileView.m b/Classes/Tabs/03_Profile/ProfileView.m index 22d167c..ce7dda0 100755 --- a/Classes/Tabs/03_Profile/ProfileView.m +++ b/Classes/Tabs/03_Profile/ProfileView.m @@ -199,8 +199,10 @@ - (void)saveUser if (error == nil) { [ProgressHUD showSuccess:@"Saved."]; + [[NSNotificationCenter defaultCenter] postNotificationName:PFUSER_READY object:nil]; } else [ProgressHUD showError:@"Network error."]; + }]; } else [ProgressHUD showError:@"Name field must be set."]; diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index 03f0294..6dfb05d 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -112,13 +112,41 @@ - (void)viewDidLoad NSLog(@"into Discover view did load"); geocoder = [[CLGeocoder alloc] init]; - + // Initialize the refresh control. + self.refreshControl = [[UIRefreshControl alloc] init]; + self.refreshControl.backgroundColor = [UIColor purpleColor]; + self.refreshControl.tintColor = [UIColor whiteColor]; + [self.refreshControl addTarget:self + action:@selector(reloadData) + forControlEvents:UIControlEventValueChanged]; + //setup observer before ask the appdelegate to post [[NSNotificationCenter defaultCenter] postNotificationName:DiscoverViewReady object:nil]; } + +- (void)reloadData +{ + // Reload table data + [self.tableView reloadData]; + + // End the refreshing + if (self.refreshControl) { + + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:@"MMM d, h:mm a"]; + NSString *title = [NSString stringWithFormat:@"Last update: %@", [formatter stringFromDate:[NSDate date]]]; + NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:[UIColor whiteColor] + forKey:NSForegroundColorAttributeName]; + NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:title attributes:attrsDictionary]; + self.refreshControl.attributedTitle = attributedTitle; + + [self.refreshControl endRefreshing]; + } +} + //------------------------------------------------------------------------------------------------------------------------------------------------- - (void)viewDidAppear:(BOOL)animated //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -142,8 +170,8 @@ -(void) loadDiscovers //load discover people or ibeacon - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath //------------------------------------------------------------------------------------------------------------------------------------------------- { - discoversCell *cell = (discoversCell *)[tableView dequeueReusableCellWithIdentifier:@"discoversCell"]; - if (cell == nil) cell = (discoversCell *)[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"discoversCell"]; + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; + if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"]; NSLog(@"update table view"); DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; @@ -156,9 +184,9 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:[NSTimeZone localTimeZone].secondsFromGMT]; NSString *localDateString = [df stringFromDate:discoverUser.timeMeet]; - cell.localDateTime.text = localDateString; + cell.detailTextLabel.text = localDateString; - /* + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; [query whereKey:PF_USER_USERNAME equalTo:discoverUser.userName]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) @@ -174,15 +202,16 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N NSLog(@"no error!"); UIImage *image = [UIImage imageWithData:data]; NSLog(@"data is %@", data); + //cell.imageView.image = image; dispatch_async(dispatch_get_main_queue(), ^{ cell.imageView.image = image; }); } }]; } }]; - */ - - cell.userFullName.text = discoverUser.userFullName; + + cell.textLabel.text = discoverUser.userFullName; + /* if (discoverUser.thumbnail == nil) { cell.imageUser.image = [UIImage imageNamed:@"Whale_preview_120.png"]; @@ -193,7 +222,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N UIImage *image = [UIImage imageWithData:discoverUser.thumbnail]; cell.imageUser.image = image; } - + */ //if (cell.detailTextLabel.text == nil) cell.detailTextLabel.text = [NSString stringWithFormat:@"latitude %+.6f, longtitude %+.6f\n", location.coordinate.latitude, location.coordinate.longitude]; diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index c3c6631d7e2bf3a87eb3230aa4a81fd54c394197..9087789dde28b1ba0c99ff32aaadf615c0d74364 100644 GIT binary patch delta 22957 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 Z4SgC0{I{HJ(yZD4oIc`z{y!TA{TpSfCzb#J delta 22691 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 y`mOZx^s4l_^!oIl(;L&Dr7t)4X&%} Date: Sat, 18 Jul 2015 11:29:05 -0700 Subject: [PATCH 30/33] discovercell update discover cell, register nib --- Classes/Tabs/DiscoversView.m | 33 ++++--- Classes/Tabs/discoversCell.h | 6 +- Classes/Tabs/discoversCell.m | 2 + Classes/Tabs/discoversCell.xib | 88 +++++++++--------- .../UserInterfaceState.xcuserstate | Bin 73663 -> 73578 bytes 5 files changed, 71 insertions(+), 58 deletions(-) diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index 6dfb05d..08d9a27 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -112,6 +112,7 @@ - (void)viewDidLoad NSLog(@"into Discover view did load"); geocoder = [[CLGeocoder alloc] init]; + [self.tableView registerNib:[UINib nibWithNibName:@"discoversCell" bundle:nil] forCellReuseIdentifier:@"discoversCell"]; // Initialize the refresh control. self.refreshControl = [[UIRefreshControl alloc] init]; self.refreshControl.backgroundColor = [UIColor purpleColor]; @@ -120,7 +121,7 @@ - (void)viewDidLoad action:@selector(reloadData) forControlEvents:UIControlEventValueChanged]; - + //[self.tableView reloadData]; //setup observer before ask the appdelegate to post [[NSNotificationCenter defaultCenter] postNotificationName:DiscoverViewReady object:nil]; @@ -170,8 +171,14 @@ -(void) loadDiscovers //load discover people or ibeacon - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath //------------------------------------------------------------------------------------------------------------------------------------------------- { - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; - if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"]; + //UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; + //if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"]; + discoversCell *cell = (discoversCell *)[tableView dequeueReusableCellWithIdentifier:@"discoversCell" forIndexPath:indexPath]; + if (cell == nil) { + + //cell = [[discoversCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"discoversCell"]; + cell = [tableView dequeueReusableCellWithIdentifier:@"discoversCell" forIndexPath:indexPath]; + } NSLog(@"update table view"); DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; @@ -184,8 +191,12 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:[NSTimeZone localTimeZone].secondsFromGMT]; NSString *localDateString = [df stringFromDate:discoverUser.timeMeet]; - cell.detailTextLabel.text = localDateString; - + //cell.detailTextLabel.text = localDateString; + //cell.textLabel.text = discoverUser.userFullName; + cell.localDateTime.text = localDateString; + cell.userFullName.text = discoverUser.userFullName; + + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; [query whereKey:PF_USER_USERNAME equalTo:discoverUser.userName]; @@ -197,20 +208,20 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N PFUser *user = [objects firstObject]; PFFile *discoverThumbnail = user[PF_USER_THUMBNAIL]; [discoverThumbnail getDataInBackgroundWithBlock:^(NSData *data, NSError *error) { - NSLog(@"in the block"); + //NSLog(@"in the block"); if(!error) { - NSLog(@"no error!"); + //NSLog(@"no error!"); UIImage *image = [UIImage imageWithData:data]; - NSLog(@"data is %@", data); - //cell.imageView.image = image; - dispatch_async(dispatch_get_main_queue(), ^{ cell.imageView.image = image; }); + //NSLog(@"data is %@", data); + cell.imageUser.image = image; + //dispatch_async(dispatch_get_main_queue(), ^{ cell.imageView.image = image; }); } }]; } }]; - cell.textLabel.text = discoverUser.userFullName; + /* if (discoverUser.thumbnail == nil) { diff --git a/Classes/Tabs/discoversCell.h b/Classes/Tabs/discoversCell.h index 6cb1acf..0021100 100644 --- a/Classes/Tabs/discoversCell.h +++ b/Classes/Tabs/discoversCell.h @@ -12,8 +12,8 @@ @interface discoversCell : UITableViewCell - (void)bindData:(PFObject *)discovered_users_; -@property (retain, nonatomic) IBOutlet UIImageView *imageUser; -@property (retain, nonatomic) IBOutlet UILabel *userFullName; -@property (retain, nonatomic) IBOutlet UILabel *localDateTime; +@property (nonatomic, weak) IBOutlet UIImageView *imageUser; +@property (nonatomic, weak) IBOutlet UILabel *userFullName; +@property (nonatomic, weak) IBOutlet UILabel *localDateTime; @end diff --git a/Classes/Tabs/discoversCell.m b/Classes/Tabs/discoversCell.m index 5bbab40..e966036 100644 --- a/Classes/Tabs/discoversCell.m +++ b/Classes/Tabs/discoversCell.m @@ -34,6 +34,8 @@ @implementation discoversCell - (void)awakeFromNib { // Initialization code + // _userFullName.text = @"test1"; + // _localDateTime.text = @"test2"; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { diff --git a/Classes/Tabs/discoversCell.xib b/Classes/Tabs/discoversCell.xib index 57311ac..6cf6510 100644 --- a/Classes/Tabs/discoversCell.xib +++ b/Classes/Tabs/discoversCell.xib @@ -1,44 +1,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 9087789dde28b1ba0c99ff32aaadf615c0d74364..cac60e25f4c35310a41c00fce9d480d033a5bf35 100644 GIT binary patch delta 32618 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∾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 delta 32598 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 From 1b4a868af7ed87da6ec21fa0e0baa4a651d193d0 Mon Sep 17 00:00:00 2001 From: dandanlau Date: Mon, 20 Jul 2015 00:34:42 -0700 Subject: [PATCH 31/33] Removed line between cell, increased height --- Classes/Tabs/DiscoversView.m | 6 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 12599 bytes .../dlau.xcuserdatad/xcschemes/app.xcscheme | 86 ++++++++++++++++++ .../xcschemes/xcschememanagement.plist | 22 +++++ 4 files changed, 114 insertions(+) create mode 100644 app.xcodeproj/project.xcworkspace/xcuserdata/dlau.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 app.xcodeproj/xcuserdata/dlau.xcuserdatad/xcschemes/app.xcscheme create mode 100644 app.xcodeproj/xcuserdata/dlau.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index 08d9a27..e2ce4d1 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -124,6 +124,7 @@ - (void)viewDidLoad //[self.tableView reloadData]; //setup observer before ask the appdelegate to post [[NSNotificationCenter defaultCenter] postNotificationName:DiscoverViewReady object:nil]; + self.tableView.separatorStyle = UITableViewCellSelectionStyleNone; } @@ -167,6 +168,11 @@ -(void) loadDiscovers //load discover people or ibeacon } +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath +{ + return 60.0f; +} + - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath //------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/dlau.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/dlau.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..af45117ba434f0e6bbdf6dbe5a05dd075945dc0c GIT binary patch literal 12599 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 literal 0 HcmV?d00001 diff --git a/app.xcodeproj/xcuserdata/dlau.xcuserdatad/xcschemes/app.xcscheme b/app.xcodeproj/xcuserdata/dlau.xcuserdatad/xcschemes/app.xcscheme new file mode 100644 index 0000000..eb2bfd8 --- /dev/null +++ b/app.xcodeproj/xcuserdata/dlau.xcuserdatad/xcschemes/app.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app.xcodeproj/xcuserdata/dlau.xcuserdatad/xcschemes/xcschememanagement.plist b/app.xcodeproj/xcuserdata/dlau.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..a96fa39 --- /dev/null +++ b/app.xcodeproj/xcuserdata/dlau.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + app.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 29EB240419E9292500D7AA97 + + primary + + + + + From a201c4dee834b9eba641604d22323871d0dcd294 Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Tue, 21 Jul 2015 01:15:27 -0700 Subject: [PATCH 32/33] contact view update update contact view with first user full name letter in section --- Classes/Tabs/Contacts.h | 11 ++-- Classes/Tabs/Contacts.m | 9 ++-- Classes/Tabs/ContactsView.m | 37 ++++++++++++-- Classes/Tabs/CurrentUser.h | 1 + Classes/Tabs/CurrentUser.m | 25 ++++++++++ Classes/Tabs/DiscoversView.m | 47 +++--------------- .../Discover.xcdatamodel/contents | 3 +- app.xcodeproj/project.pbxproj | 16 +++--- .../UserInterfaceState.xcuserstate | Bin 73578 -> 72999 bytes 9 files changed, 87 insertions(+), 62 deletions(-) diff --git a/Classes/Tabs/Contacts.h b/Classes/Tabs/Contacts.h index 1f6aebf..d85bd95 100644 --- a/Classes/Tabs/Contacts.h +++ b/Classes/Tabs/Contacts.h @@ -2,7 +2,7 @@ // Contacts.h // app // -// Created by kiddjacky on 5/17/15. +// Created by kiddjacky on 7/21/15. // Copyright (c) 2015 KZ. All rights reserved. // @@ -12,12 +12,13 @@ @interface Contacts : NSManagedObject -@property (nonatomic, retain) NSString * userName; -@property (nonatomic, retain) NSString * userFullName; @property (nonatomic, retain) NSDecimalNumber * age; -@property (nonatomic, retain) NSString * sex; @property (nonatomic, retain) NSString * interest; @property (nonatomic, retain) NSString * selfDescription; -@property (nonatomic, retain) NSData *thumbnail; +@property (nonatomic, retain) NSString * sex; +@property (nonatomic, retain) id thumbnail; +@property (nonatomic, retain) NSString * userFullName; +@property (nonatomic, retain) NSString * userName; +@property (nonatomic, retain) NSString * firstLetter; @end diff --git a/Classes/Tabs/Contacts.m b/Classes/Tabs/Contacts.m index 4e93b68..dc1b1ea 100644 --- a/Classes/Tabs/Contacts.m +++ b/Classes/Tabs/Contacts.m @@ -2,7 +2,7 @@ // Contacts.m // app // -// Created by kiddjacky on 5/17/15. +// Created by kiddjacky on 7/21/15. // Copyright (c) 2015 KZ. All rights reserved. // @@ -11,12 +11,13 @@ @implementation Contacts -@dynamic userName; -@dynamic userFullName; @dynamic age; -@dynamic sex; @dynamic interest; @dynamic selfDescription; +@dynamic sex; @dynamic thumbnail; +@dynamic userFullName; +@dynamic userName; +@dynamic firstLetter; @end diff --git a/Classes/Tabs/ContactsView.m b/Classes/Tabs/ContactsView.m index 1144ebf..7f0e8f7 100644 --- a/Classes/Tabs/ContactsView.m +++ b/Classes/Tabs/ContactsView.m @@ -54,8 +54,8 @@ - (void)setManagedObjectContext:(NSManagedObjectContext *)managedObjectContext self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:managedObjectContext - sectionNameKeyPath:nil - cacheName:nil]; + sectionNameKeyPath:@"firstLetter" + cacheName:@"MyCache"]; @@ -66,7 +66,13 @@ -(void)viewDidLoad [super viewDidLoad]; self.title = @"Contacts"; self.tableView.tableFooterView = [[UIView alloc] init]; - + // Initialize the refresh control. + self.refreshControl = [[UIRefreshControl alloc] init]; + self.refreshControl.backgroundColor = [UIColor purpleColor]; + self.refreshControl.tintColor = [UIColor whiteColor]; + [self.refreshControl addTarget:self + action:@selector(reloadData) + forControlEvents:UIControlEventValueChanged]; } @@ -86,6 +92,27 @@ - (void)viewDidAppear:(BOOL)animated } +- (void)reloadData +{ + // Reload table data + [self.tableView reloadData]; + + // End the refreshing + if (self.refreshControl) { + + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:@"MMM d, h:mm a"]; + NSString *title = [NSString stringWithFormat:@"Last update: %@", [formatter stringFromDate:[NSDate date]]]; + NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:[UIColor whiteColor] + forKey:NSForegroundColorAttributeName]; + NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:title attributes:attrsDictionary]; + self.refreshControl.attributedTitle = attributedTitle; + + [self.refreshControl endRefreshing]; + } +} + + #pragma mark - table view @@ -93,10 +120,12 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"]; - NSLog(@"update contacts view"); + + Contacts *contact = [self.fetchedResultsController objectAtIndexPath:indexPath]; cell.textLabel.text = contact.userFullName; cell.detailTextLabel.text = contact.selfDescription; + NSLog(@"update contacts view, first letter %@",contact.firstLetter); if (contact.thumbnail != nil) { cell.imageView.image = [UIImage imageWithData:contact.thumbnail]; } diff --git a/Classes/Tabs/CurrentUser.h b/Classes/Tabs/CurrentUser.h index ff80de0..66786d2 100644 --- a/Classes/Tabs/CurrentUser.h +++ b/Classes/Tabs/CurrentUser.h @@ -25,6 +25,7 @@ @property (nonatomic, retain) NSString * userFullName; @property (nonatomic, retain) NSSet *contacts; @property (nonatomic, retain) NSSet *discovers; +@property (nonatomic, retain) NSString *firstLetter; @end @interface CurrentUser (CoreDataGeneratedAccessors) diff --git a/Classes/Tabs/CurrentUser.m b/Classes/Tabs/CurrentUser.m index 71106ce..1cac22e 100644 --- a/Classes/Tabs/CurrentUser.m +++ b/Classes/Tabs/CurrentUser.m @@ -25,5 +25,30 @@ @implementation CurrentUser @dynamic userFullName; @dynamic contacts; @dynamic discovers; +@dynamic firstLetter; + + +@end + + +@interface Contacts (firstLetter) + +@end + +@implementation Contacts (firstLetter) + +- (NSString *)firstLetter { + [self willAccessValueForKey:@"firstLetter"]; + NSString *aString = [[self valueForKey:@"userFullName"] uppercaseString]; + + // support UTF-16: + NSString *stringToReturn = [aString substringWithRange:[aString rangeOfComposedCharacterSequenceAtIndex:0]]; + + // OR no UTF-16 support: + //NSString *stringToReturn = [aString substringToIndex:1]; + + [self didAccessValueForKey:@"firstLetter"]; + return stringToReturn; +} @end diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index e2ce4d1..a0ff452 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -185,10 +185,14 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N //cell = [[discoversCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"discoversCell"]; cell = [tableView dequeueReusableCellWithIdentifier:@"discoversCell" forIndexPath:indexPath]; } + + return cell; +} + +-(void)tableView:(UITableView *)tableView willDisplayCell:(discoversCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath +{ NSLog(@"update table view"); DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; - - NSDateFormatter *df = [NSDateFormatter new]; [df setDateFormat:@"dd/MM/yyyy HH:mm"]; @@ -197,8 +201,6 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:[NSTimeZone localTimeZone].secondsFromGMT]; NSString *localDateString = [df stringFromDate:discoverUser.timeMeet]; - //cell.detailTextLabel.text = localDateString; - //cell.textLabel.text = discoverUser.userFullName; cell.localDateTime.text = localDateString; cell.userFullName.text = discoverUser.userFullName; @@ -225,45 +227,10 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N }]; } }]; - - - - /* - if (discoverUser.thumbnail == nil) - { - cell.imageUser.image = [UIImage imageNamed:@"Whale_preview_120.png"]; - - } - else - { - UIImage *image = [UIImage imageWithData:discoverUser.thumbnail]; - cell.imageUser.image = image; - } - */ - - //if (cell.detailTextLabel.text == nil) cell.detailTextLabel.text = [NSString stringWithFormat:@"latitude %+.6f, longtitude %+.6f\n", location.coordinate.latitude, location.coordinate.longitude]; - //cell.detailTextLabel.textColor = [UIColor lightGrayColor]; - - /* - PFQuery *query = [PFQuery queryWithClassName:PF_CHAT_CLASS_NAME]; - [query whereKey:PF_CHAT_GROUPID equalTo:discover.objectId]; - [query orderByDescending:PF_CHAT_CREATEDAT]; - [query setLimit:1000]; - [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) - { - if ([objects count] != 0) - { - PFObject *chat = [objects firstObject]; - NSTimeInterval seconds = [[NSDate date] timeIntervalSinceDate:chat.createdAt]; - cell.detailTextLabel.text = [NSString stringWithFormat:@"%d messages (%@)", (int) [objects count], TimeElapsed(seconds)]; - } - else cell.detailTextLabel.text = @"No message"; - }]; - */ - return cell; } + #pragma mark - Table view delegate -(void)prepareViewController:(id)vc forSegue:(NSString *)segueIdentifier fromIndexPath:(NSIndexPath *)indexPath { diff --git a/Discover.xcdatamodeld/Discover.xcdatamodel/contents b/Discover.xcdatamodeld/Discover.xcdatamodel/contents index 25615fa..098ae5b 100644 --- a/Discover.xcdatamodeld/Discover.xcdatamodel/contents +++ b/Discover.xcdatamodeld/Discover.xcdatamodel/contents @@ -2,6 +2,7 @@ + @@ -32,7 +33,7 @@ - + diff --git a/app.xcodeproj/project.pbxproj b/app.xcodeproj/project.pbxproj index 6067779..3b083e6 100755 --- a/app.xcodeproj/project.pbxproj +++ b/app.xcodeproj/project.pbxproj @@ -136,12 +136,12 @@ DEB34C2D1AF0A7DF000A42B8 /* detailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */; }; DEBB7B351AE2FD21009CD940 /* tab_discovers.png in Resources */ = {isa = PBXBuildFile; fileRef = DEBB7B341AE2FD21009CD940 /* tab_discovers.png */; }; DEBB7B481AE3753C009CD940 /* Discover.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */; }; + DEBCFF6B1B5E2C5E003A47B2 /* Contacts.m in Sources */ = {isa = PBXBuildFile; fileRef = DEBCFF6A1B5E2C5E003A47B2 /* Contacts.m */; }; DEBF53C91B4CDA0D00891128 /* DiscoverUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEBF53C81B4CDA0D00891128 /* DiscoverUser.m */; }; DEBF53CD1B4CF9C900891128 /* discoversCell.m in Sources */ = {isa = PBXBuildFile; fileRef = DEBF53CB1B4CF9C900891128 /* discoversCell.m */; }; DEBF53CE1B4CF9C900891128 /* discoversCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = DEBF53CC1B4CF9C900891128 /* discoversCell.xib */; }; DEE855401B081778000AA5AC /* ContactsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8553F1B081778000AA5AC /* ContactsView.m */; }; DEE855461B08232E000AA5AC /* contactDetailsVC.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE855451B08232E000AA5AC /* contactDetailsVC.m */; }; - DEE8554C1B09BE93000AA5AC /* Contacts.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8554B1B09BE93000AA5AC /* Contacts.m */; }; DEE855521B12817C000AA5AC /* CurrentUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE855511B12817C000AA5AC /* CurrentUser.m */; }; /* End PBXBuildFile section */ @@ -383,6 +383,8 @@ DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = detailsView.m; sourceTree = ""; }; DEBB7B341AE2FD21009CD940 /* tab_discovers.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tab_discovers.png; sourceTree = ""; }; DEBB7B471AE3753C009CD940 /* Discover.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Discover.xcdatamodel; sourceTree = ""; }; + DEBCFF691B5E2C5E003A47B2 /* Contacts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Contacts.h; path = Classes/Tabs/Contacts.h; sourceTree = ""; }; + DEBCFF6A1B5E2C5E003A47B2 /* Contacts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Contacts.m; path = Classes/Tabs/Contacts.m; sourceTree = ""; }; DEBF53C71B4CDA0D00891128 /* DiscoverUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoverUser.h; sourceTree = ""; }; DEBF53C81B4CDA0D00891128 /* DiscoverUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoverUser.m; sourceTree = ""; }; DEBF53CA1B4CF9C900891128 /* discoversCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = discoversCell.h; sourceTree = ""; }; @@ -392,8 +394,6 @@ DEE8553F1B081778000AA5AC /* ContactsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactsView.m; sourceTree = ""; }; DEE855441B08232E000AA5AC /* contactDetailsVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = contactDetailsVC.h; sourceTree = ""; }; DEE855451B08232E000AA5AC /* contactDetailsVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = contactDetailsVC.m; sourceTree = ""; }; - DEE8554A1B09BE93000AA5AC /* Contacts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Contacts.h; sourceTree = ""; }; - DEE8554B1B09BE93000AA5AC /* Contacts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Contacts.m; sourceTree = ""; }; DEE855501B12817C000AA5AC /* CurrentUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CurrentUser.h; sourceTree = ""; }; DEE855511B12817C000AA5AC /* CurrentUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CurrentUser.m; sourceTree = ""; }; /* End PBXFileReference section */ @@ -905,6 +905,8 @@ 29EB23FC19E9292500D7AA97 = { isa = PBXGroup; children = ( + DEBCFF691B5E2C5E003A47B2 /* Contacts.h */, + DEBCFF6A1B5E2C5E003A47B2 /* Contacts.m */, 2923388B1AA350A400A47A39 /* Classes */, 2927192F19F284AC009C308B /* Vendors */, 29B8FE7319E92E4500E7A503 /* Resources */, @@ -979,8 +981,8 @@ children = ( DEE8553E1B081778000AA5AC /* ContactsView.h */, DEE8553F1B081778000AA5AC /* ContactsView.m */, - DEE8554A1B09BE93000AA5AC /* Contacts.h */, - DEE8554B1B09BE93000AA5AC /* Contacts.m */, + DEE855501B12817C000AA5AC /* CurrentUser.h */, + DEE855511B12817C000AA5AC /* CurrentUser.m */, DEE855441B08232E000AA5AC /* contactDetailsVC.h */, DEE855451B08232E000AA5AC /* contactDetailsVC.m */, ); @@ -995,8 +997,6 @@ DE31A2E71AF74D2700FD8DE2 /* PhotoDatabaseAvailability.h */, DE31A2E41AF7357400FD8DE2 /* DiscoversView+MOC.h */, DE31A2E51AF7357400FD8DE2 /* DiscoversView+MOC.m */, - DEE855501B12817C000AA5AC /* CurrentUser.h */, - DEE855511B12817C000AA5AC /* CurrentUser.m */, DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */, DEBF53C71B4CDA0D00891128 /* DiscoverUser.h */, DEBF53C81B4CDA0D00891128 /* DiscoverUser.m */, @@ -1184,6 +1184,7 @@ 2923392E1AA38DBD00A47A39 /* UIActivityIndicatorView+AFNetworking.m in Sources */, 2923392B1AA38DBD00A47A39 /* AFURLResponseSerialization.m in Sources */, 292338C41AA350A400A47A39 /* GroupsView.m in Sources */, + DEBCFF6B1B5E2C5E003A47B2 /* Contacts.m in Sources */, 292339B21AA38E0F00A47A39 /* JSQMessagesCollectionViewFlowLayout.m in Sources */, 292339BA1AA38E0F00A47A39 /* JSQPhotoMediaItem.m in Sources */, 292339A41AA38E0F00A47A39 /* JSQSystemSoundPlayer+JSQMessages.m in Sources */, @@ -1198,7 +1199,6 @@ 292339C11AA38E0F00A47A39 /* JSQMessagesCollectionViewCellOutgoing.m in Sources */, 292339AB1AA38E0F00A47A39 /* JSQMessagesViewController.m in Sources */, 292339291AA38DBD00A47A39 /* AFURLConnectionOperation.m in Sources */, - DEE8554C1B09BE93000AA5AC /* Contacts.m in Sources */, 292339AF1AA38E0F00A47A39 /* JSQMessagesMediaViewBubbleImageMasker.m in Sources */, 292339B01AA38E0F00A47A39 /* JSQMessagesTimestampFormatter.m in Sources */, DE31A2E61AF7357400FD8DE2 /* DiscoversView+MOC.m in Sources */, diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index cac60e25f4c35310a41c00fce9d480d033a5bf35..a0f70f111a1a1f484d0ca7d3565b2935fdd9d970 100644 GIT binary patch literal 72999 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

$qLP#}@c z>$w|rI?D(u)#&`c;d+4RW8c41{mk4L(Mz~nn*?|pL9k%1E8{Xs*m8mv z!IgJ8sllk?lH$C9g~Oqh-sEH$g=2>1LQRJbLszU9n5`?+e5h=$t@R{z@ytu=Qk(5f zOX`y0O`kVUZ}JlN%1Z8Kf@%nwsXuv@S-(Op(!KN>+%703X{exsN|9CE8{BTK))c

})i;Oj;1`Ww7R6Kr@xZ?DG6 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 QO#REqK>fS+`_=6K0e&WbYXATM literal 73578 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%0Aj&VlTB%w^!SP_K?a(o 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 F{{g=p$@KsL From f312eb4d0ac00ede04d3da42a00644079d3f4f0f Mon Sep 17 00:00:00 2001 From: dandanlau Date: Tue, 21 Jul 2015 23:12:50 -0700 Subject: [PATCH 33/33] changed cell width --- Classes/Tabs/DiscoversView.m | 4 +-- Classes/Tabs/contactsCell.h | 13 ++++++++++ Classes/Tabs/contactsCell.m | 23 ++++++++++++++++++ Classes/Tabs/contactsCell.xib | 18 ++++++++++++++ app.xcodeproj/project.pbxproj | 15 ++++++++++++ .../UserInterfaceState.xcuserstate | Bin 12599 -> 19693 bytes 6 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 Classes/Tabs/contactsCell.h create mode 100644 Classes/Tabs/contactsCell.m create mode 100644 Classes/Tabs/contactsCell.xib diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index a0ff452..5fffcaa 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -124,7 +124,7 @@ - (void)viewDidLoad //[self.tableView reloadData]; //setup observer before ask the appdelegate to post [[NSNotificationCenter defaultCenter] postNotificationName:DiscoverViewReady object:nil]; - self.tableView.separatorStyle = UITableViewCellSelectionStyleNone; + // self.tableView.separatorStyle = UITableViewCellSelectionStyleNone; } @@ -170,7 +170,7 @@ -(void) loadDiscovers //load discover people or ibeacon - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - return 60.0f; + return 70.0f; } diff --git a/Classes/Tabs/contactsCell.h b/Classes/Tabs/contactsCell.h new file mode 100644 index 0000000..b4c4f40 --- /dev/null +++ b/Classes/Tabs/contactsCell.h @@ -0,0 +1,13 @@ +// +// contactsCell.h +// app +// +// Created by Daniel Lau on 7/20/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import + +@interface contactsCell : UITableViewCell + +@end diff --git a/Classes/Tabs/contactsCell.m b/Classes/Tabs/contactsCell.m new file mode 100644 index 0000000..8366b45 --- /dev/null +++ b/Classes/Tabs/contactsCell.m @@ -0,0 +1,23 @@ +// +// contactsCell.m +// app +// +// Created by Daniel Lau on 7/20/15. +// Copyright (c) 2015 KZ. All rights reserved. +// + +#import "contactsCell.h" + +@implementation contactsCell + +- (void)awakeFromNib { + // Initialization code +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +@end diff --git a/Classes/Tabs/contactsCell.xib b/Classes/Tabs/contactsCell.xib new file mode 100644 index 0000000..99387cc --- /dev/null +++ b/Classes/Tabs/contactsCell.xib @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/app.xcodeproj/project.pbxproj b/app.xcodeproj/project.pbxproj index 3b083e6..642d24c 100755 --- a/app.xcodeproj/project.pbxproj +++ b/app.xcodeproj/project.pbxproj @@ -128,6 +128,8 @@ 685AE2511B1DA8F600C8D9E9 /* Whale_preview_180.png in Resources */ = {isa = PBXBuildFile; fileRef = 685AE2501B1DA8F600C8D9E9 /* Whale_preview_180.png */; }; 685AE2531B1DAB5000C8D9E9 /* Whale_preview_120.png in Resources */ = {isa = PBXBuildFile; fileRef = 685AE2521B1DAB5000C8D9E9 /* Whale_preview_120.png */; }; 689D00E91B1D9BFD003E21F3 /* contact-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 689D00E81B1D9BFD003E21F3 /* contact-icon.png */; }; + 68E9C3E51B5CDDC700B3B900 /* contactsCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 68E9C3E31B5CDDC700B3B900 /* contactsCell.m */; }; + 68E9C3E61B5CDDC700B3B900 /* contactsCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 68E9C3E41B5CDDC700B3B900 /* contactsCell.xib */; }; DE1C96EA1AE73D1100610AF7 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE1C96E91AE73D1100610AF7 /* CoreBluetooth.framework */; }; DE31A2DD1AF7152800FD8DE2 /* CoreDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2DC1AF7152800FD8DE2 /* CoreDataTableViewController.m */; }; DE31A2E31AF7321700FD8DE2 /* AppDelegate+MOC.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2E21AF7321700FD8DE2 /* AppDelegate+MOC.m */; }; @@ -366,6 +368,9 @@ 685AE2501B1DA8F600C8D9E9 /* Whale_preview_180.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Whale_preview_180.png; path = Images.xcassets/AppIcon.appiconset/Whale_preview_180.png; sourceTree = ""; }; 685AE2521B1DAB5000C8D9E9 /* Whale_preview_120.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Whale_preview_120.png; path = Images.xcassets/AppIcon.appiconset/Whale_preview_120.png; sourceTree = ""; }; 689D00E81B1D9BFD003E21F3 /* contact-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contact-icon.png"; sourceTree = ""; }; + 68E9C3E21B5CDDC700B3B900 /* contactsCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = contactsCell.h; sourceTree = ""; }; + 68E9C3E31B5CDDC700B3B900 /* contactsCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = contactsCell.m; sourceTree = ""; }; + 68E9C3E41B5CDDC700B3B900 /* contactsCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = contactsCell.xib; sourceTree = ""; }; DE1C96E61AE47D7400610AF7 /* app.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = app.entitlements; sourceTree = ""; }; DE1C96E91AE73D1100610AF7 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; }; DE31A2DB1AF7152800FD8DE2 /* CoreDataTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreDataTableViewController.h; sourceTree = ""; }; @@ -981,8 +986,16 @@ children = ( DEE8553E1B081778000AA5AC /* ContactsView.h */, DEE8553F1B081778000AA5AC /* ContactsView.m */, +<<<<<<< Updated upstream DEE855501B12817C000AA5AC /* CurrentUser.h */, DEE855511B12817C000AA5AC /* CurrentUser.m */, +======= + DEE8554A1B09BE93000AA5AC /* Contacts.h */, + 68E9C3E21B5CDDC700B3B900 /* contactsCell.h */, + 68E9C3E31B5CDDC700B3B900 /* contactsCell.m */, + 68E9C3E41B5CDDC700B3B900 /* contactsCell.xib */, + DEE8554B1B09BE93000AA5AC /* Contacts.m */, +>>>>>>> Stashed changes DEE855441B08232E000AA5AC /* contactDetailsVC.h */, DEE855451B08232E000AA5AC /* contactDetailsVC.m */, ); @@ -1123,6 +1136,7 @@ 292338D41AA350A400A47A39 /* WelcomeView.xib in Resources */, 29A531301AAEEF9500263CB1 /* chat_blank@2x.png in Resources */, 292339C21AA38E0F00A47A39 /* JSQMessagesCollectionViewCellOutgoing.xib in Resources */, + 68E9C3E61B5CDDC700B3B900 /* contactsCell.xib in Resources */, 292339CA1AA38E0F00A47A39 /* JSQMessagesToolbarContentView.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1218,6 +1232,7 @@ 292339B61AA38E0F00A47A39 /* JSQMediaItem.m in Sources */, 292338C91AA350A400A47A39 /* MessagesCell.m in Sources */, DEBB7B481AE3753C009CD940 /* Discover.xcdatamodeld in Sources */, + 68E9C3E51B5CDDC700B3B900 /* contactsCell.m in Sources */, 292338CF1AA350A400A47A39 /* LoginView.m in Sources */, 29EB240B19E9292500D7AA97 /* main.m in Sources */, ); diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/dlau.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/dlau.xcuserdatad/UserInterfaceState.xcuserstate index af45117ba434f0e6bbdf6dbe5a05dd075945dc0c..5e2e456126bc6941fd2b137101dffa6dabfde393 100644 GIT binary patch literal 19693 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

n7^jzumD4eKZ~3o}tlNc$vICQ~a7o>0&(Hf= z?M+sf!((@;a$Mo02C*;)#d}4oplU$cMyiskqJ~n#sA_6BHG+kBCV4ExGwIF3J}k^< zVZlafBsGc}P1RCkKn^squ#kmCEbPa^fh;UTVK^yB8Oen%T#CjeP&FO_-J)Z!=}AU8 z1L?m^c$GY+61Q+>mdnj?xal>n-L&=ewiQpoZj`(F(HW}Lc-!!O9L%Mqb!?-puH$|h zz8s{gQ#svtj=a-vq8uRXZnT$jQZ5b{Wg%X#zS!?i#)gBd5u6^k>EM?c)m_j3$Yjvz$WS;P+n8tak&nwU^tgFI=S)*8p*-|2)MIB z>Je%&z7K+9I`3#+N!zF;ToTz`lc(o0YI&_F37<#5b@@kY+eTs7_HWR4iE+F9>6!B5 z+}>Tq!a*qB&kq?hx$=rW+vkUBRJx4vy z!eK0|X5nxaj#!Tq&v**qw9~=ox|3Gvm0y`WPT)W?%Y}Q3i~RxpEFcAWEi;)#A7>-O!#h|=b^u#zVwS8sEgDkZ}dQ2W}($9*teWuSE*|( z9LGYNFL0o4P(Sz$c8kJUWCIJwW9%Okf?%-~<*<^u}3U z@8XFIMtUZAil%9X4gh>Q5R}tAnvX#`4t(?MD9-Vexij?e25Yme)#(}A9m7v?d0HY` zJSEV(npoJv*?=Y%I#1I=Iv9@;LW}57JWe1jAuiHVu(}!-9NdBVPz+#WS6EZ$Nj5x? zR*cs+{G$_FgCTOS1LekQVIdBQo4c`eG|s}i7$&>V82O1t%dv103@4U@)hxW1V~KAn zxKA{#z$cpK;rXC=w{f8p=_F4k(LD&^ufaAtnX@e%s`jstdqzm5(`rSEf1yhot>U=< zE2Q|)xl<8+)=Zp>Xx-PXj2WHwh}O_K82zBNbOx=X^|XP`q>XeInL%SGI*EmoSvZA- zQ&~8Th0|F$gM~8@-qf=;)45#qMfaxr(D`%$h@*>W?2Tq~@fQmb3+J;C8?xp+j7Ygl+63-9+?2YNJZ>3Yt|k#rsUo`rKcOEhgvS4%`U&=dYd+Q^a4<4Bv=`jNKK zE}Vta_tFm9$-)IJT*$%)+UZt$5{VDhgDhNyZgbN9Q`q9)07E(~7(J7oi_>6w7CoCr zG)vE+@x&iu;lnIk#KK2dxR`}YHqiIe^XT~?gURZoA+pVtLmj*e{;&fC*ZSFP@;+(e0fK z*R%Kni#IiD}}m`X#(Zudwh5 z7GgX3Bn#KLm+7eucwJuQz$p54at^mBYdu)h1{OkY_xv>`^j}7#{sQ~*&i@GgF1PEC z(#L2V9;{;_j=$R5>G!bpdY^^sIa~EKC-?t1?1}!c3-KWAhmcpXmrY z=r1v7L4QSGpf9p;6APbZ;nq&;a+&_t&t$0SYv=+CH*+S#AGDyqr*HX@>gb<1&|(Wm z>JM7bztaA(3B_Q~ib0EQce784C*!bD`2nw8kB9GWDEbC|e8+vuhvQY1i%TuJ)X+5E%4M_og_j}r$@wlfyuhIkrn{plk9L-F+F8cJQ{5)m z89JXsWFBQ!(Z) zJD2W~Zg=M39WI60$Z$6aGc!DeH-O*3 z@BO|_9m4Pa9;4pH(8USr6m=TE`+JqTj`4z<)Gg{K{0{K1)bG?C8qyIsZ7Zio(oX#5 z?jHQ6?p5qnY3!rInMkH5_BwI+y<8=J=XMT$%XTF`8LODp_#NA)@#fvcJj?81_A|$r zcbVhNi2y}FT7WU2Pe9**0Rfc(mVmkdYd}N5?tlXUZwDL-I1(5Ym>ifHm=$OW%ndXL z_6aNqEDszUSP@tiI4p2@U`^ntz^Q>x1nv&J6%-T{7nB;L4$=f=1my+w4Jr$&2pSXA z5M&FQ7}ONx3Yru&C1_gEjG&c4TZ0YH=L`8E{7}A_FXe~x!r#Y#jem%Lgnx|xF8?_H1ph4m zBL6!7d;Smn9|fd<63~JGfkY51PzVwPiGpN7sz4<$333HyK_5YZph(bH&|ffEP$?KH zs20=-S_G2?Qw7rnGX--6^8^b74+tI-JT6!zctY@`V6)&^!4|1 z4&4~~V;C7mhXsTMg;j@H!S6Nif< z#0s%SoGs1~=ZSlZ^TqdwOT}g4LE<6eO7ST1IB}DBn)p8P{o?uJh2jUr%f&0jkBL`_ zSBuw(H;Q+N_le&Y9}*uC9}~YT{!sjp_^kL7@u%X?#aF~XNT7r#5lDh1B1xE}rzBd^ zOA;$lND?G!iAmB=GDtE+QYjfKsg_tIbrP$jL1L3kl(-}_B@alJNmfW6l{_waLb6`6 zLGp}bvt)~8n`F0SzvLasX~`MM$C7iB^OCP6mnGjwu1c;;Zb*KSQqoXq4{4NCE{&1K zNmHdNX}VM^)kzIfv-BQmg>;P6CY>m4lG>&BN~cL@NM}irbdGec^kL~rX}ffbbenXC z^m*wE(tXm`q_0cgl)fcBC_OIyNP1CvU3x=$Q+iAKlMKiR86{(6fij*#|C9(msfwG~pI$4u!nrxexnk@rSABU>Y9M9zvt zk#i#FMm`+*NaTvhw#ZG9&qi*I+#dO2QK~?sAEy@Mjekj5p^o+^QbSQ zE<}ADbvf#rsH;)eqb1SV(RI-eN3V>2EP7q^rs(IRUx?lpeIWX9^ttE@(LY508vVPR zkq627a-m!%PnE0W>2j@HCpXBA@@#pIJWt+Ro-Z$x50Vd&SIXPvJLGT5-;y7cAC@1L zzaxK7{=WRA`~&$V`4#z9`FHZ0@>}wsD8xKd9TI2Ug&ka*PWQyn7o+k z7;DV5m>Ds%Vo=PSn7J|YViv?a5c5#XqL}uWr(-t8Y>Ig{W^2rjn4K}ZV)n$m60$*DB=|HibO@SB302>F-9>>u|lz4 zaX|65;-unZ#V3l-6kjT?D6T55E529!5HE=D6F(u|89yn0YW$3N6u&TjW&D%z?eWjY zAC5mA|7HBe_{;I%#$S)W5&uI1OrR2&grEd|LU2N8f;b^1p)6r$!s>)=39lr)n(%tU zfrNtzhZD{wTuS&R;ab9tgdY-qO!y_?S7o4*uMAd(DkVypQlX4jCMXk?X5|27nR2kQ zQaMaHTscnJpd7E9pq#9nrktUit(>Ert9)3wT=}SSmGVjDQ_3yM=af5@yOb|0_bOjg zzOFo?{7`vLd0zRM@`CbfJ#%5`zDqomL?8P ztVpa%9G2Lc_-NwCiC-uFlK6WPNFtM%q@W~0QbY>B*#>NvD&pB;86TlIi5YWPWmRvM4z#xj4Ch@_^*BvkoHsB z?X=(0{!j&|LRC>Jy((XIk7}T5kg7s8R8_08;5zC!)p*qe)dJPisza*JRo7HER6nSG zQr%Ylst!>{se7qo)$!^?b+S4`ZB(1odFtNkQuSbUg}O>TLOn`7Mm<(NQ9VUHQ$1VF zs^_T}svlA>Qa`F*uYOv+LH&$+mwJ!-W%WMwe)Svbqw3@8lj_szGwKWKE9!66*VH%F zKdNu5e@&;;gVTGa$E3%l$EPQ!r{VwXL7QHfUYb5C-I4xK`o{Fl>08pbr$3*5H2qZi z+4Qe9JdI2fq3NlSYhpE-nruz3rne?vQ=}QF8K<#nCTf~BEt;vC8JgJ|R`Y=71h|i6>psz4(OuPjr@N{9QFmMSn?6V{(1+;5^b&ozK2qOPpP|p!SLi3}H|XEe zpU{7xKchdZKd=8xe^vjT{-*v%{cZiP`a1@hL19oDk_~Bwbc5DlHuN_1F%%fe4MPl7 zhH68NVU%HlVWOeY&}^7)SYUY2u*k5)u-x#dVU=N{VUuBtVVhxxVW;6m!ydyK!}pnj z%*4!s%<{~knZq+jX4Yno%d}-q%xunV$y|`RH}hiV^~~=xZ)N^$3^2-#sYbO?Yt$Q! z#%yDOvBX$vEH@4@RvInFamMk+2}Zl|UZcx6$vE5ika3A|nQ?`2m2tK4DdRfhX5((- zUgN9A{l>S9hm1#!?-)-TzcgMleq+35ylK2;{KFkfP&t>1p{vrFP>|e5f%f4d@G)Yb2rXHp!lfjf_GMVyB zy-od1159P6L8eirF{V1xIFrpZ(X`C8*3@p=VA^EbV%lcfY1(f(XgXqg$8_BEq3L7O zIn$@6&rMfMS54oUzBk>;3C;=4k>rHu^vH?MiOEsqWaJofvT|~A%sKfvg*nAJ{cRuEzIqkTar5@w<@fGh+@g2by{2 zaB~lHl)0BV&Kz%6nKR4=bC%g;?q@DFmzf8dtIXBr8uKXgIJ46{#XQYC!_1oJn&+Dr mnwOfNFt0VYnb(^)nD?0XncsBhnt&iYzXK@GZ|_g@TmJ{*QJbCs delta 7454 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 AtN;K2

ZLhDNIAIlPTbA)9n-*)DfTQSs>3g~R(-k*TU7 z?*o*#(#Z_z-;HhrnMpR4+&_!w$t*HQW-J@jA6JsOpk5#|W+z+7jI{*y!ul99ksY9# zsmY-JL}scJVyZLQg-j}7nfKUeS~$Fr#X$WjAU?_N=%pTH&rU7dMHHcijJ7IJFH#um zMHcpW7c5QfsC53nzv@P`m z`mpk_89fw8X&q?k^FqdXbV={`vN(B6d1s5nebrU64q>F7>5TrQ0^C->4wSet{iUEZ zhCZXfwo5l++e$+Zo22lJApHde_+7`>Fu)F8K)5`$2uM0!8XRP=71U&D_@bm8{@j zL4BYiwQK7!<>Ae3;Tc1+YOMYT`L`;fiu{xO3)F`|{Y@455BWyAnU&U-Qd5{JV&zI% zJ&xQ!krY)IpruTzh}D#i(o+V?29Njm_>O zl{91fQSP-o)pYJn`PA*)p9)18lxjo;P=Qns6-I&-HpuPiYWWak!86)jfpIYW>IO<3BuS;iQlN?msU!F#3S|o9 zL62)KK9%}V;YF&*cMq2ul<#9|0kx3&1k_JK{S4I4LH$Cynd4($T1&cy@Jgz(u6V1d zjsI`)KBG1{#M=VuSD=1fE#4nB;(a00*beGnk$90cRCZB&kXh~T+jTF6V&ykb|6VKJ z0qS5~UJg@emh-;Le@Fe$pwK6&Q`C?j6gcT zD8RHRz_&(GFJuZY0mCa&+lIeW!Ee-`vS82(l8npFcV-5VCWa#5#Gtoo$VS|#E`}f zFb;)WzY(3nTW5#&Y23D2dX1OHyDl9+P4NFSy=g);p>lfDAgM*boMaE!2bgQM2WV_E zxk$jwh}@8ve)jO}qHtSYObxvlO?=%Hr%BKx0_F^u%R5)lq-dJdWhz~hQ5VomlP9}E zeaTLfuW7Dnp=k*i651UZ#se@PsZ$G2FHJkufi;@;nhw-hO{AtXV4i?^p-@E30_H8v zZxPyF(^FGWmr`#{3Cet$KAIv;v8J!4pQb-xet`J{)(EfwzybjaTB{kL87OByO@B=( zV8MWeDwz)p0?aD0El(zlmen!_un;-%wX}r~Y8+lXv}S^;nV_jaTG33@*Z~Uz%u=NR z%_P8(iX)JFB(~LjsF_xmt&cP_>jLIzK9>Dsu4bNQzD5Gf1{ktJ6kv^4YZho0YCh3? z3RpB?F@VJa7U%E}vbEV#S<6_Bjn-(^*6n)(jRv1BY-cHhWQ<{el>;^cuu*^^{f`4| z0$`{U0BkZ~9{~0tVABEn2(Vdzp@|jhVIE*efeQfp1h7SbEdgv9U@HKt1Z)-9u{D6L z0}K_Lp8>WRuq}XX18h5BUjnuZu-$;|1#BN+2LL++*kQoF1?)S(jsx~RU?&0l5wO#M zodxVXU>5+p1lSe8t^sxfuv>uL0qh>qG>y{)P0|#tp=nx6>u5b~ppCSNX6!Ueb2Lv2 zv`Cw2C)$~IpI(ht8$*=zO|4-GXjO z+gs7C={9s*x*gq~?m%~>JJFr#E_7GG?gRD$us;D;0j>eu1UL`46X0He`vD#RcnIJY zz^#Bs0Uir@0^n(YX9AuDcuT-L0Nxq!?tm8n-Usl0fDZ(`6!0>@M*=jrI{^O*@UH21ej{*KY;HLmT z1NeEsF9Lp5n$XU<-S2?^4fwx6sDU7W&;X$W!UO~lgc%4|AUuHZ2EreRKp;YZ2nQk( zh!`LefJl~;*1H;yE^tf~u|(;|cB8d)k@A!*4Kufu=B62?E$u_Jbcq6OBHd~a26~9{ zlvcnFLsQPq(%apf^n8>?y57NHpv#p;R4^CGix2aA>Lsd-)6%0AcvCdXZ7Ut@7)Vc0 z09n$rjtBIUl!u%Gwzrg?)?E@i^Yn)bEDz0K+e#Ik!}K#1K=T5&i(_3w+l8m+DX^A^ zv##^I>!cq>($btRPV_VPTG}FcyGl1pC~0|`#XSr=*OFj|`1&7|L`06V|0jX4uFl52M(y+vv3inu6{7+z~0 z{5~f;l-BNulR=Vm40rZr5?JTLwv{F=Hz1~sQ_cT=(7g%q}x93b+sUol<$?Nb) zDXhRqD-{IR7t!u2EiQ1cE+4S|4rWj-;#5~)rI5e|pi-q5sw`aU@~V^*7^*QGMG7em z9%GQ^>_!H^r7%6DfE|t$RW3!0Flgyt6yVUhX3Gaan;xL0&SrWk}%EgoHcCLNh4O(So1gj`u%N%bn>+56CDhnjo zBw0$u=YzCbWqAaff+&4t&?-wK*i=QX?o!kK!CI}dLV`_uFP=Q5Ui}g2Acd(J(!8%m zX|)#RX=b&YURrIW0-0SMFs?4|`;InNX`NfZE_LYY(tyrdZIS|=%OJ#9o&x>U!AdU_AjYm5DQqxj(6&-q7S~!XT&r!b0GA@C z9aOsrsqLbGm)EM6k=*te4BDPb!^#47ltbq+rGZ*)9|c&2G?^r=C~d9P_E#XQ5hO*5 z8QRjI9jrjs);Jo{qCs1x0N1~lZblE|^`jK<#u_3ohXv8&71$;eL#2999zHK%$5q=? zi*ko+UHwc|UfNm{5-#s&2<=Bo>ld{y;VxN*8|k?Ue20`ie1Lv|^02ekDLhbw80p0d z{3{f@@zS^v?dcT?V2{I5n)G2MBbcR@BYFL5rQz$koCfMQDDeHYZYoMcMj7>=EAWHw z=cDJNM0&dd|3+#8!=&+}jr3Ov;0Ut*2zsCLaP+{^c*9kgQqo4`?L%<#Z_IS0=D~Am`3DoEhm-tl zx<pA1C+nsloT-2dfFtcA9J920YN&OlZk~)YOE+6LM>iL6XTV(mcLm&S zwQjynLO5tH=MFfk*AR}UL%VZ646?4!t!|LNHM+G3Z$04NfcrS`e5HFI2G~E>ZI^NC zRnZRJmk0+H0Je>m}Xw25H^U-BfVG0gtH037PI; zzpr~D_)Uk_ARF+8e{^q9Z~p<_ z7;scdA}ht9owg&>8`<=PUfU4kdYxXcFcAlMd^O`PGdyg1Uhj;M^nza0oAsztNCZ3y z@MOSKR_k5#t_o5Uz*DP{jpGQTn)su)dBO*9;+^k3pu1aTD}|IEUagbaZzzG39{=&$Hq-PE%`i}ZefVTp?HQ;RkZ@XIGMc-B7vmM~=-_zB?na(zSv3@{< z0uIyH%Zc^|pi+z$Ftxq<<;WYhp zg-{Q`dn$zFIN5Wc{j!o~e>;p48Q=Jw9_Q*8$mHuwjrxW9PZ0S`?3HdO26ruh|`Xlq>YR0PhcYi34YVR59CP z-KYPiK?V=&k06|*fDZzEumfj^bY*s+^#}dw264{l&no&E3ivP?2jzR)91rVd{f!23 zZt8C#I(Gms2Yk4L&IoDToDlm%{WDpfdZX&O{)Iwk6yT#3Iu7OC8R2m&?zO`XQL(jl z_(T6jCSPxy{j2{^WihA#9}D<62l?@GS9>M@x!!gIWzfr*^(7^P!C+LFm;UnDh6#rN5w?Gi&BGVaFx5OZ)7&O8Qc*go`3`3XweM$<7Da3+z^|=-+-1f z8$b#%gd!xg9Pt6*QyoYjN^bKS*$hzzM?R>}^$hWb>U=OA@EHo@(vW%XHba_0j{AD` zWXLk0xHq7sBLn}l3236F-&{0tl8YkyfQ{v`(+YCJny&I&|$55mo zNq~P`jnr$ths`k1FjPjWSEgZxG6iWN;Ap+e;dz_pds@dBCN@aOZm3XjP!uk%#`$x; zr~N|%T9mBc^9-{LvlX1BfTQKKno)Ppoe{o`;#NC6FFHE1CIc827#26k@)E;RrK=Ty zuY9j7>0`;+y2`L#=AphkY1m-ch)l5w@G8Jp$%y!B>9S<8eqq=p6RX!*zcTDbIC}wK z3piT#LpbZDn2!UkhYUw$occn;@SWk9!r(^0(ITNkr!zkGw*F{1*C5V$!_SBgT9n!h z_~#BfTcnF02UxEg&~8KnPJGvJ58>Pgd>i0jIB>R0mIXo9r-oMz()rc!8sVTduP*`L z>A=|~Oc2~Ern0sf5x>990oVYtm0VvJ~zJ*&}%kkFzcnui^A zAbls@Ul?FB#v4;)r26b?Y+_7RY;+v(6EYIYxXGV*+l*Pp{05Pl8(SzyKLCER8tEe$ zslBlaLaNv6j9rc05PN9g`w{S;9PFKzE`QR-l4>k54p1na1^k>s$&p?C z_Fwqo!5}43N57kR7>60rp@askH_A9#>FQ^|(SmbL@_~6r7uY zqZM$6CHf(pjm9kv^0w8u4e_=ea5Vhgb?|mi+P)~zy4$$FLEa7+4=Qv}z@U=QL5E)K zVgJtfLxVUcji(fxM}R+8a2(_1fA<%kYBNWf04795*Q71uc_Z3PY(UN{#;ZzSPXR~7 z-`Qc+Vh`&bDl5?`zzxg4f6e`@h^qeYrs*#T0?8E z#%;)V?n@keN5#j-)bMRmnaGCvGEpXt%3{(2{s-WHI_Uo;>p=QsiLc$nn8XGV%_b*> ziGKh`$2;CJp}tq#ZDntV568#9^I?;x$*&6(kaf>gwBJ^}n7b8-E+;U_7CA)^Ex& zp;HL;8{O2>)Jo}!20~k_gZw?`vDp72?sgy7I5HtdE;t+4Dx#yQTZ621H}yb@C;&na z1ls&XiZDvUmId2P#U{rzzrOr!8fZe(eA5sh7$6)~Ji$rFmo>7PhMUGTsJXGGaSG=G z5Ms6FJePY|Cz<4Fe!VHfG|hyj`KFJ6a00^F!JUiLe|e~No@t?sQ(q!BePa4lq2mUG zdo`Uy%YCdXOpd91eJR7V#w3^h=%lA75MI?d>4!q>r@ zpH#3S!2Y$V!SdepjY%%=5uHXr1SoW5N7$=!>p85$eZ>)C-qmQP6Q&;#`FckI(@&<; zN>@QZprxgnVAvz!E1j(uP1hRa`?~1{;`r36HrzTYP zn_d7B0ff~dt4&(7(qjGH^iP9y-kAPHIB$W70-~`4CwhKmBO609x`uEVJ!4Q=7!we& zK*Tw4;-&VLAvQ*29P{=1ypeHZ(0pB1Y9bJ5txVR0w7JsV#`rPlxMTg+V}h9wL@5l2 z6d;;7D5Xk&Rt5$$kxXNBmW@G7r&lu3KxEe0kz*1ZtAs=bI@a4!I-TO&lu2eX(S|;g z!Zcx0nKUMy$pE4$5Y2$d0wNoT93XPnGEJFgOcs;PXc(vNLO#_5bt224*7=#X$6}h-~ejHsPR3{!^pjEzC~Ya$A{g z%oogdW(V^n5dDED0b&3U0|A}MCI+u%b}?V+(wIHWUgm2cP|ibV0FYA;0|F_jTt2Jm z5|z*_BP!Y^nbxFBE7t@`{nx}xt=72u*UmIA@r%bpby!7vAsTGCE_yTmfQ4Md~@`x@xOxn@Z2zU~V$EnA=^-iw70=8D3I~ zSRD<-C?G}xf%ePfz|#h;qMpb5jy_O+-Dvz4}lm1#8@E4tzsTC zPnf4bj0a)@5ECVOU8jKGWWv7#VXsK7LH>(D>wAiD=)5`eFY}-D**YI`74w!=NgLLs z5-i5z(vx*Tc2>h`ReU9jMy@H9tPY3|Dk6L2Hf`3jaBy+E;bkR5`n4+@I<&f9mSJ60 z{05d~IhJPyR%Fer6YI>n0P!IZ(}0)`#0((N&@dB-SwJ8knzMm*Q~9ebDhunydb2*P zuL|w4&#iEbP}nmQ5c7bT4}=87#}%yP{rT7Sgrbqdi;72<^eGN68QQ;eNO59RpT>>* z6vo>UV&eK1_K7WwDJm?EEpA*G8&_;gh;AHPm=J4=EVA|KSXefAWL$a2lGZX>7v;Yg zOU(f-wlRy!{#9%=8^fYphFtj*AU<8i#)3;0_p^skYGV(usPjWWd{f1K!yX0#{XHT*-5KI}f<5^^?WfoufjA1pcNLM+o1Jd% z=hzGK8|UR7jyrm|$X){C1Q6d#k-PldZ?L!J_M3A1Nk{t~_AU^ofcO!$yGaLjQO(g6 zijC}J%|7-i`;2|gzF=Rnuh?JN*Fc<>4^0tgfjAGu1t3tzC_h~T;sy}6Wc|H6)50oy zc*L2SeYQG#=d7})N1Us(XN<0+DVuo2&;MuRn^Si22(-~ybMk~UaLQ&LarwP&&`B2q z$19qxe|wR0R$8yuH4x{afNwf>9XVg+={DLq9n#HV9Ig=;u8LUC1#p2}5EsmaaG_in zX8{7K?;fBFD8zjr9sq%o>mwi@uje8-D~FaCR3 zeNU=7JRN0RE=Y#eWL&Np*IE^^k;~$;xg0K+%j5F7=3EP|CD%$ivClh76`=Cx+Hvi< z4qQjBlgh$%;ks6Yqb`ZR0QoGsj6%)>a;ZG$Ay)v2a)t!^T)j~opj_Opf9a@}g(FM) z6%H>g>xKaB3wt*&?2RrX-2A#SM$XpFib_yZdRcK{kMyBKo1(!6y<04A;wrl6&!M`Z zk}Cn?pGpo5qHi2yI#-IubZ#hzhRuJ0#NI^|H=G-Vyp9{ejRfL9Al_DSqq#9as(@6Z zG2P#eM(q#ljM`iUH~IfyeBi*qD*c?jvp{H;bFi&Ee*9 z^SJpyl0Z^GYJjAH)B>pkQV*m7NaF_XV{QSrko$!DlxwtzTg)xtmI7%4(hJBSAhQ77 zQz1J6*$>E4Ag3e!rJeIpdrF1pT%^jgJ=GrQH)pbGaqkiRP>UPUzPNn2)bpG_E~hEf zWY0j#8#uJIWXSOH8m+D8wxUZ9+y-tV_Zhc|+su8=Z2^)2k_D0jk_S=%QUubxP9ER5 z?dac^+)i$nY(?3SPL7|>K)L|w?zljLOx3)!-#c4oqYGL?Gsff>k13G8y-_H2zUeQe z-E@(*+%U&EvK@EGaoeiSRkOxX(P(oks^;<*_pNNiquh5ux&rAYeRtF1S|h*@+$l7+ zb0>lHsN{YG(o;Hl#l4U_%b^v@_og=71rBXMtm7_nm$=K^749l`jk^w{H;_I+`U2?( zq(6|2fDBlNBEz4%t@39!5F1pM3Ut#I$UxbRi$OgQi7QL#FP-|?Ng8^=h;-{M|L&br zQe0M8)~Ej%#h;sv9$JWQBNgQiFCL6;rum|GoF&7B7ShR|19~WOzi`N1Bgd~Cs%X}6 zuesm2-?=}yKe@j+6f?m2Ba08TqZM6q{*>{ zE;e1h@F%+Mtu^U-MJ%qkr+yoztE8gh=0<>L@~ysC&#%y|aer1J2`?niDW>E1eK9x_CMqQ5L`3ydjZ;Ed1HsiDSY(9t2mG)i^F{A<6ghdgW z0%WT6;<9^pz6GC&$hG8K@y*ci-l>1d@Zt=cip7CUQwX-@+o6Wc(m|zVReW335Cz(S z?}#o`y<;PNI8t5j5yOj%6dkVOJMo>R;w#bV4r_JgQPgE3Gu7CrC$dcI8b$X)<93ak z^L>D9R#7wK zO0DN`XMXnk5A$koQ1TzY-|$JD@{nK5qvh1K{1SdCzl>kbui#e#*%`<#Kz0SP8<5?B z?6H=w;#VPOxA17K1b7nZr9i%_fH>-lexfv(f8JesdajrB<2kRIYeoE4eg~Q_^4s_? z`0YUU0h$WfL2UqFtQ6R(~B zmw$_fVg5fL$5aX`Ajei%-m9(zLZFdZ1X7?-IYN#DQm*n=30i>?P{<(zj7NVfES)k3 z6_%G5m)H2ezzXtFD1j4r^ri^pL?G>smn&Aws0#XcXzsvwbkPmX5(bs@DU>VH_GmUy z-afN`VU5lOZ^8E+_X0}(liulE2oM4lol9Xqd)b9h!BYDs%Cx9>tTvor6QXKmMX7J9 zJneSOMub=aT@R_0ORfo(LIRK<);1*z=u$|ffYQsfN?B+mZoM-aAyddvg(J^9CN$%Z z3&@(t=Vl7h*Ah@5&#Gm< zlh9def4z}i=q~iEeWw7(xwY@~7W&i~MTNcsTF$ASWC zUhZ2Jz|Igh3!e*Hgsnh+2IK(;wQ#vMB$03b2I%r26)8uRfTF6Ya<5N1zF#k;?spc@ zG(n#8I%aGAiXHP>sc?S}$z#87@2-Oi$CQp3F2`OCyZZ$BoQAMpI3OGp4gt9d$jv~0 z4&;{A!eQYEV&y21h!3=qgvjrzuyk%-+;@1#lHyTa+LrX|@A$22b4R!GWqE1aPcDsX z`aUU~k^4R+{3!e+oCb91mHYxo)Xfe#!3CgMkU#P<`F<3-c6xfU{+fWMQkBAWAa_db z&iLE!3cu7k#eE>Zs&NWbwN(j^1*DAKKz?2856^{H|6|Nwh1Wpt0dj9erF$W@>i8|3B zgY`guQz;sOJX~RE-=eT&NVQ%>PBg3dRU$76BFZ>NfczH7qpL(GReyZ@x zeV;V1<;Vc2>6UDO%QYiKbtCh{(MU{iG@g|gC{CnFok0E$6l38hLrD57NYH<15SiHAkx;%|WRkY1c{ z2@sEqXkllSctZSMM9%szkSNsNt`bin{r&`$3h9?}Q@sCYv|J@#07_jeAG6CfblnYR< zXoW}ie!KWu{0n)1y+;zozr}x$_x}r&9w^6VB4tD+Ia+~3M-q2+MF+8L@d@Z4mJOZD z=`yZylr2g=ka)f}Hq5x05Zj>7rvw1y1Qdfp11+|MJIrp@st#0{8|lobZx$%wU5J}a zW^`zz(#!zGRhl`Vc*%IovuWtS?BXFMBg)$rm!o^!<*1Sw+P@`Axdm+tN1?BTv@S0m zQB>NrbZ~8=F*})E@&P+@$kZuLFFAYBhZbcBO#2!asaZ3IS?p!sr4z*9%GApH&Zl+nj`8ltJ$gw zFh>IADVsH-B2wul8acc<1}Lvund8lA|Gy1u&M;@1n+o<6@qszpVOejW{DHEdnU8E) zD*WA~$ed?x)sS_~t}yBK&)mh_RZf1gfkT06 zq~yLD3m2#ktTOj97n*wmg4yq&q#tGCD>!nHx!hq*D$HTccUQK0-6QN#;X{kd&^7>CKp2!*R8rJoDEdA~amT_z zBZ{+1%h0T~3>g}|Q9it+PhxRdS!r3~d+VBJ<#HVrrr2zPY_o|#S>=!9y#GO*SQ}bX zspATh%#-EWols#pXP#>Q&^%40H%~XuFn?s8DeXRz??)v9l?+rAP)&a}&o<9N&2!E3 z%=1-6=(Po8qIsbd_-$*u{8}bZjcfERtNT;)q8fE402N(V-OFWluQ0DPR|18+D;B7@ zhSdH4R`w=Y*><4f-_v$I%C5t_`Afw90@X4U?8|^cm!lB#6)Ht{d*n#}$UMU#b8GRtJL>(g_}>k zmwVFc7yl#bT7N=6o!oi;x; zKkLwLIP%g8wTf1`s{B-8su)$GDiwVW@T}pc;ep{-^Z~%PMzs+~p8(VujYbB2`mY5# zLN?4;E^WDIwl6oXLZEtF?2v zMd-_L>(O%PCiEG%475Cyg%*asMPFRIgR1KL{6qdR{}g?5?Ir&!s%0sG7IcCEeQS+H zg{dew3Aw^h^ue^9!ZXnaO}D0q^BmtPTOckMcc5>R9Ye$E1vDmJ7wtFEpm$$s&zQ;t)fQ*)=5PHmk!ITbn$a2n}kcbeuj*J**%a;MEsUpO6dI^p!t>6J6* z9O9hnoa5Zdxu^3$yYnFD!Oo@5`D5pW&P$w^Ij?Z8biU}qxOlh( zxCFU`xP-ZcyTrQ0yCk|KyEJi0a~bcl*X5zB#WlgTiEEl`hHJKKu4}$)3)cy*pSkXE zJ>+`W^#|7ru2)^}yS{dP>!xTWb93`>^K!HMxW%}&b{pU}+zs4j zxXp5#<2KK2vD-4Y6>gPoYur9}+vc|2?Mt^yZnxd;yFGM!?Do{{Z+FaH@6NjO?xMSs zyRW;&J;A++dzyQOd$xP7d%k-M_pa{6?)}_L+y}Z3b}w}w>ptFnqI-q=B=;%qQ{9)i z?{xpk{gV4t_v`LA-5=WBpSVABf8qX@`y2QFJX9WyJiT%5DgvSMs+a7m4e(`wV@yO$e z#~&VldHmz?ug6ydwBNsEb$!ZIoNZg=NQj%p7sfzm7W_t zw|H*z-0u0M=LydXo;N-3dEWPY==s?5cQ3V<$&2w~y?8HgFPm4CSF~5GSG-rESF%?V zuQabVUhTX(cy;pX;?>QohgX4Dp;sTTgwDh!zVAPNgrCMw>!#^2jN z$lvCl;@`wS)j!?8rGG2`*8Xk%3;c`x`}+6yAM9W1Kg_?}f202`|7ZSx`2XeqkN>~^ zZyV8#bd3y+OpVw^e500)W;NQ|=)VAc02{#D1H=H=0QUgT0PlcS0TTkI222ZB5U?_! zDqwZM+JN-|8w0)!*cGrlU~j;_fCB-C0)7s78K@5w1Dyk11Kk4~1qKC%1cn7h2gU^^ z1SSO*1ojUc99SASEU-MVB5+#ZyugKlp9U@tTpGA8@Qc6$fky(51|ADM8Te!1>A`MAYG6l$TuiCsAEt;Q176kpuRz+L1jV1gGL6~ zgC+${37Q(TF=%_xo}jOT_6Hpd`X=aH(4C-XL4O4O7pw}#f{9=%m<#p@4hpsfrvzsN zHx14T&JS)8+$y+DaL?e9;DNz|gG+;l1(yd;46d*TPYRwAJT-V)@QmOU!Fz(w1z!uk z8GJkVZt&CK7s0QBUkCpiq6)!6h>+lr$dK5O_>jbqTCP~`TJBpOS)N*6 zSYCxkgbxni8on?5oA4vyN5j7lKNTPXg4YY<>!>sYvOly`k*V^3L(%RbE&DzsiXf3k# zvktHhvVwJ~b*J@!^&9IE>rv~E)-%>~)}O66thcTAtoLntn`m>ldD(nzjckFocw4ru zt*x7_x2@RL-!{-T*f!cW**4quiEXuQgY7fhX4@CG9d_F;+iu%Y+iBZ5+XdTY+g00j z+e6zE+jHA1+i$i%ZGT5Hk)e@IBU?naj%*v*KC(w-ugKn!MUjIeheno1j)+_oSrxf1 za%1G?$SsjaB2PzNj=T|hJMv!S{m565|3>Me^ihT=QC&WszD`Qv1u8rLgyD9eb*j=%EV)w-!i2W({OzipCi}u(naUJ6d;s(W)#+Aj5 zh#MU@Hg0m<)VS$!AH^+=TOL;#w>oZJykC46I@p^O-y}XgzG-|`eDC;y@k8Q=#h1rV ziJuxjJ$`2VoCN0tpM>xPTSDW6*o1_Hq=cpk*$H_G%@cYg6eRRcC{E~~a5v#;!ruvR z6R|`xQI}{;WE1&ByLX~*qJLsw;>^TFiAxffC9X_TB^i^%B zq}EC0NgpRIOIn_^GHF-R!KA}UN0W{xok=>IbUx{N(&MC8Nq;7j$%bSmnNKz+dn9`& z`y~e?2PNB*8z;vm$0s*WE=nGpJT`ekaz*mwK+N&eKHyeN4|^6KPu$s3b5 zC4ZUxRr22CeaSy1UrN53d?Wc*iYi5$!lno*PARS_?kS!rQ7K6&X(^d0St&Uw9a4Iy z6sPo08JIF8WmwAa6iAtp@?px1lvycrQ>2syDOD+}Q`V+zNV%T!IOS=|^ORRjf|^7( ziER?!B&o^JCKH<2n?Mu$lqS2I9Bp!}$%!T>Q?XPgl}i;;ol^5tJEwL_?U`DbT9n#1 zbyDg_sk2k(rAn#mQ}?ERn|dtuMC$jcr&3R+UQd0MMy6@fbZJ7GcUq$~TUtU|+q5oe zWogsW7NmWewj^zNT4ma*v;%3!(!NhSmG)EGy|f2ukJ28eJxhC;_Fp<{Pv_Ik=`QKM z=^^QsbZdHidRBUi^!Dk6=|$=N(g&muPA^R#ojxvoVtPgTg7i<*7pE^tU!Go>{(1Vg z^d0HD()Xl)oqjR>R{Gua`{@tU|I1Kk;2A`QCPSCuoZ*_`kr9$%$*^WbWyEB}Wu#?f zW@KgLWc0}BmC-w+Pe$L2k_`LEj4>HgGp1+E%$SogKjY(!Wf?0oR%NWo*psm@<3Ps2 zjKdj6GtOq*&bXKHAmeeyvy7J+uQUG0q%yUchD;`t&opPcWV&a1W`<^3G9xl0GdE`L z%G{l~H*I%WKx6*|BEln_Xyj$=>X0 zR(@9JtgczzvkJ0)%DR^IAnS3~v#gg{ue1Kh#JPDRe-oT)j}a-^IUIriN-H*+55yw3SISCxzBlDT}YkSpdo<@)E^ zavSHy<|gDO=ceXn%o%cuH-+6EHHTgn*cz*l*9{B_Fhv$#VADcfue|r9m{EzZyjr2cePqAidy%o zS`rcqPRz`TIcL3%~<#8gLG95pWsc z34j3L07L*F7!V2w2gCug0J(sCKoI~5pa7@<8h`;P2h;!*fJQ(IKndss3;+y(A%Gb$ z3a|hs0FMDr0WScr0B-=_fOCQKfv&)%z~w+U;A-GD;CA2+;4a`H;9;N#@F?&i&t0ZarY1G9idKs*9S0#bl9U>Q&hEC*Hq>w%rXZeTC4AE*NwfmYxo za2n_Y&H$eQUwFBC?e&WBy5mLmVtettgkEJ{5-){Uvsar}hnL!`&r9p2^LhfB1zG}H z3R(tQ4%!IX1lkPR3i=In6m%SP3Un590R#krLB1du$R894iUOs85Gc??P%~%%Gz=O8 zSwS|?Q_u&{N6>$u&)@~%mEhIjb>Q{jP2jEIec%INckp5GQSfo_N${WGD_{WF3+xY$ z0>^<9z{%ira3(k#d>4!aqrhk|7R&%M!7MNbTnVlNH-MYLZQu^D20Q>ZfQP`t;8E}t z_!ao0_gsYcd~a9p#oo)jS9rU5Z}Q&bec1b)_j&IN-hX=gdWU*Pct?51c;E0&^iJ_c zc;|TMc^7&Yd!xNeyz$;LZ@u?(pFKXOeBeHzJ`p}qKG8m@KKFd`da{ z=Wm~0AG6P}&xp^M&tsn%pC>-gd_MZl_Wi-v#do1EVu|l+-*vw0eK+}T_1*6Ko9}U7 zsBgA!o-fgt>C5ru`wD&k_I>DE<6Gz32}y@!Lb4$UNDd?qQV2mpFc2Js2q}foAWR4c z!iR_;P3i3Ck7E%vsg0w=~Au5O((g)E(^pHV_88Qm7Kx~jHh!Zjcc?Nk2d4qtw zgM5H|f_#O}g3g7`hq^)+Lzh8UKvzN6LVt#Cgl>Uuhwg&zf$oDIfVx9HpvRympr@hd zpckQ+p`K7Ls5cY>g+l|N!O&1>1T+d71HA!Fgr-2#pc&BH(7UjMutTsTus>iYVP|0H zVSmD|zyL51%m)UA`N0BVAuvQ3EE0Ad77L4qCBaf*>99;#HVgsFf#typVMrJThJz7d zr7#+d3FE-{FcGXACWTeO{)W}U>S0Z=R#-bs1yjTNU|N_SHV8ArMqw714K@XH!e(I4 zU@u{BVDDfbV4q-L;j`d#;q&3H@Wt?D@D=b?@U`%t;TsX~E%5E|UGP2deeeTtcen@q z82mW=GW;(%01kpT!+YTxxE8MW1NsH{1^I>eh4~HpIs6{^&GWgj8sN;M5-dy*G^sYyav1m`k$-NbIo*Z_}b_-OO#*KwW#Y+F;O?7UPpb6 z`hI=(^&hS$U%z|(-u0a8dDs7mo)tYO`iE$j=z?fsG&!0QO^?|b;~sN3=19yRG37CJ zG4(NxF)gvb$0AP0o{c>p`)6!RY+r1D>_Ds`&O0t7E;KGY?pmBZ?q%HTxVLft-blHD zxN-kR?v4B#Z*P2$pB+Cpetvvv{Jr>`_y_R?@&6>uN|=-ILxM|!DB)p3ZGs}9G0{Eo zOyar!_3M`sA0{djI}%li>ZAinCzDPmolUxsBu{EhQYLjIbs>_^CVM4=lYNq*$!*E~ z$pgvyTdMi*t_v}r|-T-+18SxeI{ob5=Irp&laQ6uJ$oE&@-*$h;{ayF>+{fN$+-KeA+~?=4$=RN> zGiP_s-W*~MH;11i%n|3V&fS)~BX?Kso?LP+KUbJrmMeL%=E3#{J0I+Ru=j!Ff#N~K zgQf?qc?a@N=AF(vn|C1(QJdG1r^y@0Gvp2B4d+efP3Jwzdy@A&?`6Jg{(<~c`BC|a z`I-4y`494O`LujyJ|~}_FUqgV|2w}nzdpYyza@Vp|9iobg2M%;3IGN0g2;mSf~11f zg7kvSf}Dc9g2Do10j8j&prXK7Fj=^uaCzZRgy?(5Dbu z=vNp}m{!OrloT2Z#|s}9zAOA%G^=QC(flIUq7_A}iq;nWT(q%hbJ6jl@S>z5N)fk6 zR@79aDpD8q6={p~MWaQQB3sc^k+bM=(d(lBisuwBD_&dtbMeOFEydf5_Z1%~b}#lQ zK306Z_(HLFabR(DadI)@X7R1!tl~Sx`Nc)WsA6m}zL;2CRctPHAQvN7A-5s-Bab65 zATJ^RLIROsq(3qUc@-IsyoS7vOhRTNbC6gh1xZJ;kX)nyS&6JhK19|b8<0&%6>rYx=o9GE=yT``XdoJn4nrrPZ=ti$chL9Hxo8v`i^ii7 zBs2w0L-Wy<=tguWx*Oe#?nmp;Bj|DT1lo>vpdVpoV|HUaFd>-hm?X>{Og^RvgTi1j zcnlrG!f-JHOc|ye^Eajm(}OW!hA_jJF^m=S2=fH<9PbNf-E7Huu3XQYDyF(jU_E5%97ra{t{h@vBXp|Tryemq~v|ccibG@Jlq1@ zBAgp;4elr02Ha-cR@`3PG28{5H!c7dj0?p@;G%GexD;F(E(3?Sjk|-($6;{{oDe6* zRp4YeIj#}cf>Yu;aoxBcoB=n1o5B5y`-Y#5{{ioUUx;6cUyWafUyt8}--6$RKY~At z_rk;R0r+5iC_Vyz1D}Xb!KdLf@LBj=dAnYdWA-EGx5Uvn>2vC9_A&?M4xK4;A#1oPT zsf0AbT|)8yz6rPl389iuO?XJCBeW4Z2wj98f`*_am9C8%R4zzmZOmE|M;j zJV{<8Z&Cm$m=sEiAVra)Ny(%vQUR%iL?Dq#R1$+EB#B8CBpFGLAUz~ClX^%-l8rP& zdPaIldP90g`bwTfo=cujb|o(&yOFn$_mhv1{~(_vpCO+o1IQq<4;f1KBL|Qp$noSX zaxOWaTtr5Zv1AIFPG*t0WC2-3t|B*(yU9ATk!&K5kjKdm@?-K-@(c27@>}xf(s`vT zN`EfhSW1}x-3HX3Nr3Ix$rT9{Mskl^LT2rbhZ7gjm z?Jn&t?Jw1p8cT;tt)5`mwo`Ud_E7dwexn?voTGSB{3v0R zNXm6eEG3?jPRXQXQxKFK$^#0TLZyf(Rg}LewUl}UrHP`Vs40CEEk#c;QpPC`$_vUT z>Rjr4sw;Idbs2Rn^=Ilv>K5vD>Q3r!)MM21R4~<_8brNH4X0kCCQy^9H>tO%S=4N5 z9u-ezP|K-*Q){X9)Fx^xRZZ=qYN>kaAk{>jpw3X=Qoqv{&=%2_(w5WQXd7soX^3sK zowQ$QdufMgXK9`^KUx?ql6IXION*za(=ut`A$=u%HGLg@J$(~>H+?UCKm8#65Z!}*nhv1*)5Gc4=+X2z zdIJ3xJ&S&aevh6@&!b}ybUIy3m(y$L3VI{Gh2Bl?rT5cybR&I;Zlyn>zoLI(%wsHI zEMhEWENA@0*udD#*v8n&*v&Y|_=9nY0cQ9zU<`jo5aSvnni0oHU?ekA8QF|{27$p~ zuo*mtkRfKs88r+Aqmj|VXk+v+j0_9o3F9r}U&coU;xpqL(}lT^xrF&6b0u>Xb0c#% z^Dy%i^DOfM^AhtfrY{r5^k)V!uQJ1!vCNyy`^;h{npwgmFv(0dlgAV?#mow3C9{sH zWcD)6OdE5G>156@pE2JtKQKQrzp`er=CBsA+*n&!dszEe2UzYb57uecIo3tiWtJy` z1!Tckp{#gTIxCZv%|ftpSV$Izg<}y}r7S9o$EspAv$|M4EDdXbWnhi5tgK1aH0u#- zhV_Q^jlF=qioKD&g}t4Tv88Ar~k;V3wb zoK8+Rru(Qyo%G0rsSHRnIh7tVL?9PT{sQtooD8-lxr`xAFPcL(=(?rH92t|!-v z>&=C5gSnyH2yPTNh8xGd$-T!d=9Y3fTs~LCE$2$PwcL7c6StMy&h6y(b4}a{?lbN? z?g#EC?pNL{o-1!LZy9d|ZxwG1Z!_-~o(JzV?;P(U?=sJm2jRha0lZ*dC@-8B$IIX$ za(GxCg-7SHcwC-=E#8hA}S70zEWAczvA3bF+VL5?6#P$<9&h=Ni9O~4ee1!6&+pj|K^7#55Ptb$3wwBWhm zmEf)5U%^MgC*fS-V&N*`R^eXZe&IpkA>k3>8R2>1pTa9b1VHE|gbO2u3BudL2f_kj zu@EgR5mJQ=AzR233Wa6DYGH%0Tc{Hng(l&Ma9rpRJ{CR|z7W0^z7>8J%@ZvXtru+) zZ58bh?H2739T6Q99T%Mv2}E*HtEgS15~)RfBCSX-vWg}})1pVBC!*(~SE4s%Ka_1O zJBTPdS>{>hUzS;xQ(kbbd^h)|AI*CzYl1xdQ zk{QV}$xF!_$vesWiscojE21lMD_9i`72Or;ik^zTioptV#b|}4;y;9RzSKp!K)O)6 zM!HtIPWrQSxAYh39_g>r!_uSDg4T45$pMjH!&RjH`^VOs^zYGAmmu2P-El?UhrNj>>Pc zMY5%`Ws~F6)pD$eglIRm-Y&Rh_8-UGDn(UeRZEqsN?p}grLEFc z&#B%}?NNQY`mbtWHMrWh8dmLJ9atS*omibxomQQJs76%hROeL}Ru@-4thURS$XClZ z$hXM%%MZ(s%8$!W$uG(;%RS{@almyYf7Fp&Tj4$V=o@IYZ8o zSITST3VEZvMXr*o<$ZFkTqhrq+vGDfo;6-Ifi=-JaWx4w$u&1?Zq;Pf6x0;gplc8% zHG~>+4Yh_|qpWe(E~`COd#={A*0(mO_G)c(ZDQ@s+Jf4mT6`_3wzQU7E2^!k{kyid zw!XHhR#mI6?W@(+>T8X)wpx4bbnT-$a9wcS)w-~{$hz^mnYyQS&+A?(0u|AUctw&T zRgs~%t+=bWr^r{J6=VflAyvo`iW-GN(X41wbSP8`t-`FBR?H}#DPAi6QM_0Dr}$hy zyMAH)%KFXqJL-4W@2x*j?_Tdwf3*Ho{iS+vy?=c|eRBQH`djr`^>^y;)#ujd*B8~J z>M`~7dS*Slp4YIlVROUQhV2cz8ZZs?24(}hf!DaKaed>)#?6h}8WD{MR3oObq><40 zsmZ0uwP{h)(x&XDq9$Y$x~Zh;Q?pC6YxAP!rOjE*1^SZ2i>wwQW}0+_w2`u5F9kmbI;D zb8FkzcBT!`mfePJYi-lCO|-pe`>b?Tu2!y7u2*hSZdGnq9#x)I{;9m81Sq|ffyz*2 zgfdDQr%X^LD^r#Cl|&^;$x>D*tCbIxb;>4XtFm3$sq9ydDiP0>uas|<|0+K!KP$hr z&u;&r-KG7f_6_Zu+qbpvZ2zVG*Y@Aqe{VnBexx1Rp4Lujm$vt}KkIPq__f2kBcvm~ zBdH^`BfTTDBfA69k<)?eAa;~?&^nkMoDP16s6*VL>UiAot#f79tqd!0F* z)J|S!S*N74va<@&spuT-eAM}*^Lgj1&bOWKRP$9URc@+Psx_+ZDtDEK>X_<;>a^;d z>Z0nh3a;{31*$?+p{fW~lqyCQr^2Zos=8HAyIi{VcKLJ#b_I2Xbj5XLb=~Q@*Ol9q z-&NFw>cV!hy0~5ZE>V}bOVTCns_K$=S-akM@8~|!jR@*a>lSrC>~8Mv?e6c^bsM|K zyPe%L-LJYosu!x4tAA4OQXf#et3A}m)F;#z)tA+tYA?07+E*Q}PE%*AAE-%chFYkW zs%zEt>LzuoTCW~ePpX~j_dT3&|~j;+4H{Vzn;%M-+Enom-V{!Zsf_fGG<-lASqFS?i3 z%k1U!@_R+S;@;Zcx?V+ZL$9UxN$;25?|pOn=JhS;ThzC-Z+V|v-avTvvl@me!avtF}9vs3en=68*|#zS*jb4GJc zYpwkso`k&8j(h<>C{*?ANp7HZ|OhV z@6`|O_v;Vr59z{{Q;FXy<9&w0pHjwP&>#5ZX)H zzqCLtOzW==(q7euYa_Myv|Q~&ZHHE;HEK=T5$(9vs(q?`rhTq`IWTWv#lWV4tphs- zb`R_w*gtS^;MBm`feQnd2L2iV4uA)I24V&%1B!w1fu{psbgsI^x@Ec*x>dS0x?gl2 zx?{Q%y3@LIx(m9?I;bv4cU6Z7*Im=y&?V|pbZNRft`bTXY> zSEEzt8gyN{KAlcy(b;rUI;U<%_f+>m_fhws?z4V{ev^KyeusXyey@I?{tx|0{Tcmv z{h#{FdZ^w{AE*z}hv_5qN%~ZMx;|5%t-q^B>8X02UZ@u%^c8xUUZHQ)x9FAnPJNgD zh2aOoa)X;;jo~N52E!)9uZDew{e}aEO9qGmZU`_08$u1?hD1Y>A=!{>xM#>UP;RI*G#OeA?S^hcuc6;CV6YpW8a^1l7`_|l7+s7DjZ2Knj2nzQ zjR<$+QR8vrDdTzLpT;XjPh*Jjy78tl)0k~U7#|q(jfKWyquAItxP9>8;Gct61_6Vh zL7zeBpx{n9iB5neLj9CX5MZBAUo1ib-l}Fg2UnOdX~!liH*=nM@<5ag){b z)bz^q*7UFGlj*B@mU)hOk=f0>#k|w}i}_dcLGvN=5%V$gc{9N5Zw@jeuA0Nm*UZ<= zSTn=SHuKCvv)C*#SDBm5o#t+HueskmXf~Ti%;RS3uJ{&b1 zGkjw>aX4i-Z8&52_HgkqdbnhmFiak%4l{Ttjd+gujf9Ov zj$9v!9f==FAITiaMvNdvaz-AEphu`9{E_+*&B)lui&59n#iPqcSB$P2T{C)R)Mqq! zG;}m#G-@zmLrs`=1>=wqb1Z*tW5q zV|&MrjvXI6Id*33@)&f?Z!BOecr11-ek^G$W$ek=+wleCOU4n~#(y1$j|YtxjFZM& z$2H^HaoxCae0+Rj+&(@%{>9>IS!`KmSz%daS!3C2Ib=CzIbk_%IcxE<_*!5Ve@loZ z%o1sdvLsnDE%_Ft1!KWk$QG)FVPRRSEe)1#i^eiwF<8u&QH#YgVR>$Kv#zu5wC=U; zw;r^5Agsr%C#(`rdt&dz{)vMVhbE3p{4sHI;`9Vy!fzsVqF{nQ(LSM_crx*R z;=65*ZJup`ZIR8*w#N38ZG&yIZL4js?WpaX4FR_W*n(}Lws2ddE#8)5OS5IzvTOym zVjJ34Vk6i{HkobQHe-8cdue-PduMw;IeT*Fr2C}Dd4fwDaMpx zYGP_~YHG?k^>XUX)Vrzo(@UojKTofp-Y~ss`oQ$X>8sOO(|4xtP3KPMPqU}R(^b<= z(-YHAr=L&1ntnU|uVbNOiQ`AdO2=x)TE`a0ZpU87e#b$FyW@=GyyH*D6$i}W?+9{S zb=+_yI+7hX9T|>1N1+4hKs!W^az}+j=BRcwI9eU;4wa+ZVRKA5oLP<;$5Y2Yj`xoL z9G{(T&ehI!&h^es&O^>4&Oe+dou{2=oqst&P9G=K33o<1uRCL%@y;Y?iWA|?appM- xok%CzNp>ooUCvj|kB>G!+V<$mqrgX@kD~tX7G>6)IscEVUj0A*|9lkve*mv%kv;$b delta 33483 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 5 ) - { - NSLog(@"time meet for the same discover user is more than 5 mins, update location and time"); - discoverUser.timeMeet = [NSDate date]; - double latitude = (double)[self.currentLocation coordinate].latitude; - discoverUser.latitude = [NSNumber numberWithDouble:latitude]; - double longitude = (double)[self.currentLocation coordinate].longitude; - discoverUser.longitude = [NSNumber numberWithDouble:longitude]; - - if (![self.DiscoverDatabaseContext save:&error]) { - NSLog(@"Couldn't save %@", [error localizedDescription]); - } - - //NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); - - //setup notification to other view controller that the context is avaiable. - NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; - [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; - } - else { - NSLog(@"time meet for the same discover user is too soon to change"); - } - - } else { - NSLog(@"create new core data"); - - NSFetchRequest *add_request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; - add_request.predicate = nil; - add_request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"timeMeet" - ascending:NO]]; - - NSError *add_error; - NSArray *add_matches = [self.DiscoverDatabaseContext executeFetchRequest:add_request error:&add_error]; - - if ([add_matches count] == DISCOVER_USER_LIMIT) { - NSLog(@"discover user reaching limit, remove the earliest discover user"); - [self.DiscoverDatabaseContext deleteObject:[add_matches lastObject]]; - } - - NSManagedObjectContext *context = [self DiscoverDatabaseContext]; - DiscoverUser *discoverUser = [NSEntityDescription insertNewObjectForEntityForName:@"DiscoverUser" inManagedObjectContext:context]; - discoverUser.userName = userName; + if (userName!=NULL && userName.length > 0 ) { + [self get_info:userName]; + } + else { //if null, it is in back gorund, need ot connect + if (peripheral.state == CBPeripheralStateDisconnected) { + [self.centralManager connectPeripheral:peripheral options:nil]; + } + } +} + + +-(void) get_info:(NSString *)userName +{ + NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; + request.predicate = [NSPredicate predicateWithFormat:@"userName = %@", userName]; + + NSError *error; + NSArray *matches = [self.DiscoverDatabaseContext executeFetchRequest:request error:&error]; + + if (error) { + //handle error + NSLog(@"request Error!"); + } else if ([matches count]==1) { + //maybe need to update the location or time + NSLog(@"already matched"); + DiscoverUser *discoverUser = [matches firstObject]; + NSLog(@"already discover user is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); + //caculate time difference + NSTimeInterval distanceBetweeenDates = [[NSDate date] timeIntervalSinceDate:discoverUser.timeMeet]; + double secondsInMin = 60; + NSInteger minsBetweenDates = distanceBetweeenDates / secondsInMin; + if (minsBetweenDates > 5 ) + { + NSLog(@"time meet for the same discover user is more than 5 mins, update location and time"); discoverUser.timeMeet = [NSDate date]; double latitude = (double)[self.currentLocation coordinate].latitude; discoverUser.latitude = [NSNumber numberWithDouble:latitude]; double longitude = (double)[self.currentLocation coordinate].longitude; discoverUser.longitude = [NSNumber numberWithDouble:longitude]; - NSError *error=nil; - - NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); if (![self.DiscoverDatabaseContext save:&error]) { - NSLog(@"Couldn't save %@", [error localizedDescription]); + NSLog(@"Couldn't save %@", [error localizedDescription]); } //NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); @@ -484,15 +454,54 @@ - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeri //setup notification to other view controller that the context is avaiable. NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; - - NSLog(@"Post database notification!"); - + } + else { + NSLog(@"time meet for the same discover user is too soon to change"); + } + + } else { + NSLog(@"create new core data"); + + NSFetchRequest *add_request = [NSFetchRequest fetchRequestWithEntityName:@"DiscoverUser"]; + add_request.predicate = nil; + add_request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"timeMeet" + ascending:NO]]; + + NSError *add_error; + NSArray *add_matches = [self.DiscoverDatabaseContext executeFetchRequest:add_request error:&add_error]; + + if ([add_matches count] == DISCOVER_USER_LIMIT) { + NSLog(@"discover user reaching limit, remove the earliest discover user"); + [self.DiscoverDatabaseContext deleteObject:[add_matches lastObject]]; } + NSManagedObjectContext *context = [self DiscoverDatabaseContext]; + DiscoverUser *discoverUser = [NSEntityDescription insertNewObjectForEntityForName:@"DiscoverUser" inManagedObjectContext:context]; + discoverUser.userName = userName; + discoverUser.timeMeet = [NSDate date]; + double latitude = (double)[self.currentLocation coordinate].latitude; + discoverUser.latitude = [NSNumber numberWithDouble:latitude]; + double longitude = (double)[self.currentLocation coordinate].longitude; + discoverUser.longitude = [NSNumber numberWithDouble:longitude]; + NSError *error=nil; + + NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); + + if (![self.DiscoverDatabaseContext save:&error]) { + NSLog(@"Couldn't save %@", [error localizedDescription]); + } + + //NSLog(@"Discover add is %@, %@, %@, %@", discoverUser.userName, discoverUser.timeMeet, discoverUser.latitude, discoverUser.longitude); + + //setup notification to other view controller that the context is avaiable. + NSDictionary *userInfo = self.DiscoverDatabaseContext ? @{DatabaseAvailabilityContext : self.DiscoverDatabaseContext } : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:DatabaseAvailabilityNotification object:self userInfo:userInfo]; + + NSLog(@"Post database notification!"); + } } - /** If the connection fails for whatever reason, we need to deal with it. */ - (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error @@ -559,9 +568,9 @@ - (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForServi // And check if it's the right one if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) { - + [peripheral readValueForCharacteristic:characteristic]; // If it is, subscribe to it - [peripheral setNotifyValue:YES forCharacteristic:characteristic]; + //[peripheral setNotifyValue:YES forCharacteristic:characteristic]; } } @@ -581,10 +590,10 @@ - (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(C NSString *stringFromData = [[NSString alloc] initWithData:characteristic.value encoding:NSUTF8StringEncoding]; // Have we got everything we need? - if ([stringFromData isEqualToString:@"EOM"]) { + if (stringFromData != nil) { // We have, so show the data, - [self.central_textview setText:[[NSString alloc] initWithData:self.data encoding:NSUTF8StringEncoding]]; + [self get_info:stringFromData]; // Cancel our subscription to the characteristic [peripheral setNotifyValue:NO forCharacteristic:characteristic]; @@ -594,7 +603,7 @@ - (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(C } // Otherwise, just add the data on to what we already have - [self.data appendData:characteristic.value]; + //[self.data appendData:characteristic.value]; // Log it NSLog(@"Received: %@", stringFromData); @@ -881,7 +890,19 @@ - (void)btle_seq PFUser *user = [PFUser currentUser]; [self.peripheralManager startAdvertising:@{ CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]] , CBAdvertisementDataLocalNameKey : user.username }]; NSLog(@"send out advertisment data, user name is %@", user.username); + // create our characteristics + CBMutableCharacteristic *characteristic = + [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID] + properties:CBCharacteristicPropertyRead + value:[user.username dataUsingEncoding:NSUTF8StringEncoding] + permissions:CBAttributePermissionsReadable]; + // create the service with the characteristics + CBMutableService *service = [[CBMutableService alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID] primary:YES]; + service.characteristics = @[characteristic]; + [self.peripheralManager addService:service]; + + //self.switchTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(btle_switch_mode:) userInfo:nil repeats:YES]; } From 12b8f7d0e89b4b97e5e8a3b853ccd16890a64d4c Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Sun, 14 Jun 2015 11:36:09 -0700 Subject: [PATCH 23/33] fix ble connect --- Classes/Tabs/DiscoverUser.h | 1 + Classes/Tabs/DiscoverUser.m | 1 + Classes/Tabs/DiscoversView.m | 16 ++-------- .../Discover.xcdatamodel/contents | 5 +-- .../UserInterfaceState.xcuserstate | Bin 70246 -> 69444 bytes app/AppDelegate.m | 29 +++++++++++++++--- 6 files changed, 32 insertions(+), 20 deletions(-) diff --git a/Classes/Tabs/DiscoverUser.h b/Classes/Tabs/DiscoverUser.h index 8ed8793..26d1baf 100644 --- a/Classes/Tabs/DiscoverUser.h +++ b/Classes/Tabs/DiscoverUser.h @@ -16,6 +16,7 @@ @property (nonatomic, retain) NSNumber * longitude; @property (nonatomic, retain) NSDate * timeMeet; @property (nonatomic, retain) NSString * userName; +@property (nonatomic, retain) NSString * userFullName; @property (nonatomic, retain) id thumbnail; @end diff --git a/Classes/Tabs/DiscoverUser.m b/Classes/Tabs/DiscoverUser.m index 185fe5d..b8ea547 100644 --- a/Classes/Tabs/DiscoverUser.m +++ b/Classes/Tabs/DiscoverUser.m @@ -15,6 +15,7 @@ @implementation DiscoverUser @dynamic longitude; @dynamic timeMeet; @dynamic userName; +@dynamic userFullName; @dynamic thumbnail; @end diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index 6110bab..7133644 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -146,21 +146,9 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"]; NSLog(@"update table view"); DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; - cell.textLabel.text = discoverUser.userName; + cell.textLabel.text = discoverUser.userFullName; - //find the actual full name - PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; - [query whereKey:PF_USER_USERNAME equalTo:discoverUser.userName]; - [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) - { - if ([objects count] != 0) - { - - PFUser *user = [objects firstObject]; - NSLog(@"found user %@", user[PF_USER_FULLNAME]); - cell.textLabel.text = user[PF_USER_FULLNAME]; - } - }]; + NSDateFormatter *df = [NSDateFormatter new]; diff --git a/Discover.xcdatamodeld/Discover.xcdatamodel/contents b/Discover.xcdatamodeld/Discover.xcdatamodel/contents index 3e9b43c..7d7a85a 100644 --- a/Discover.xcdatamodeld/Discover.xcdatamodel/contents +++ b/Discover.xcdatamodeld/Discover.xcdatamodel/contents @@ -28,11 +28,12 @@ + - - + + \ No newline at end of file diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index da8ffc65e1128d88e6711ef2f48d0f72f49758c0..357e49dea71f23ae196223e6ac89556280863be9 100644 GIT binary patch delta 35948 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 CSyZwB delta 35614 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 L|NQ^!vzY$_cU1Wf diff --git a/app/AppDelegate.m b/app/AppDelegate.m index f668977..a0ebd3a 100755 --- a/app/AppDelegate.m +++ b/app/AppDelegate.m @@ -36,6 +36,7 @@ @interface AppDelegate () Date: Thu, 25 Jun 2015 21:40:10 -0700 Subject: [PATCH 24/33] add thumbnail --- .../UserInterfaceState.xcuserstate | Bin 69444 -> 70782 bytes app/AppDelegate.m | 7 +++++++ 2 files changed, 7 insertions(+) diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index 357e49dea71f23ae196223e6ac89556280863be9..b32e91b84b402e27db8a1ed181a1f8c7b2b2a198 100644 GIT binary patch literal 70782 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 XSB1XQjcN62#&6t5#_#2ycenm8;N*!; diff --git a/app/AppDelegate.m b/app/AppDelegate.m index a0ebd3a..b42f9dc 100755 --- a/app/AppDelegate.m +++ b/app/AppDelegate.m @@ -410,12 +410,18 @@ - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeri [self get_info:userName]; } else { //if null, it is in back gorund, need ot connect + //NSUUID *nsUUID = [[NSUUID UUID] initWithUUIDString:@"DD2468AB-1865-B926-7FA4-AE3755D479D8"]; + NSArray *known_peripherals = [self.centralManager retrievePeripheralsWithIdentifiers:[NSArray arrayWithObject:peripheral.identifier]]; + NSLog(@"peripeheral is %@", peripheral); + NSLog(@"known_periperal is %@", known_peripherals); + if ([known_peripherals count] == 0) { NSLog(@"peripheral is in background, try to connect"); if (peripheral.state == CBPeripheralStateDisconnected) { NSLog(@"try to connect"); [self.centralManager connectPeripheral:peripheral options:nil]; self.connectingPeripheral = peripheral; } + } } } @@ -499,6 +505,7 @@ -(void) get_info:(NSString *)userName PFUser *user = [objects firstObject]; NSLog(@"found user %@", user[PF_USER_FULLNAME]); discoverUser.userFullName = user[PF_USER_FULLNAME]; + discoverUser.thumbnail = user[PF_USER_THUMBNAIL]; } }]; From ee26ec237c194da362e3de4cb6aa8eac01f423c3 Mon Sep 17 00:00:00 2001 From: dandanlau Date: Thu, 25 Jun 2015 22:02:32 -0700 Subject: [PATCH 25/33] update to get user picture, does not work yet --- Classes/Tabs/DiscoversView.m | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index 7133644..3f524a3 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -159,6 +159,35 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N NSString *localDateString = [df stringFromDate:discoverUser.timeMeet]; cell.detailTextLabel.text = localDateString; + + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; + [query whereKey:PF_USER_USERNAME equalTo:discoverUser.userName]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) + { + if ([objects count] != 0) + { + + PFUser *user = [objects firstObject]; + NSLog(@"found user %@", user[PF_USER_FULLNAME]); + // discoverUser.userFullName = user[PF_USER_FULLNAME]; + discoverUser.thumbnail = user[PF_USER_THUMBNAIL]; + } + }]; + + + if (discoverUser.thumbnail == nil) + { + cell.imageView.image = [UIImage imageNamed:@"Whale_preview_120.png"]; + + } + else + { + cell.imageView.image = discoverUser.thumbnail; + } + + + + NSLog(@"discover user at latitude %@, longitude %@", discoverUser.latitude, discoverUser.longitude); /* CLLocationDegrees longitude = [discoverUser.longitude doubleValue]; From f5821583ec97bfbcabb94351a7001a5b8907d808 Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Tue, 7 Jul 2015 21:33:35 -0700 Subject: [PATCH 26/33] thumbnail store thumbnail into discover user --- Classes/Tabs/DiscoverUser.h | 6 +- Classes/Tabs/DiscoverUser.m | 6 +- Classes/Tabs/DiscoversView.m | 62 +++--------- Classes/Tabs/detailsView.m | 3 +- .../Discover.xcdatamodel/contents | 2 +- app.xcodeproj/project.pbxproj | 18 ++-- .../UserInterfaceState.xcuserstate | Bin 70782 -> 71491 bytes app/AppDelegate.m | 94 ++++++++++++------ 8 files changed, 96 insertions(+), 95 deletions(-) diff --git a/Classes/Tabs/DiscoverUser.h b/Classes/Tabs/DiscoverUser.h index 26d1baf..799deb1 100644 --- a/Classes/Tabs/DiscoverUser.h +++ b/Classes/Tabs/DiscoverUser.h @@ -2,7 +2,7 @@ // DiscoverUser.h // app // -// Created by kiddjacky on 5/17/15. +// Created by kiddjacky on 7/7/15. // Copyright (c) 2015 KZ. All rights reserved. // @@ -14,9 +14,9 @@ @property (nonatomic, retain) NSNumber * latitude; @property (nonatomic, retain) NSNumber * longitude; +@property (nonatomic, retain) NSData * thumbnail; @property (nonatomic, retain) NSDate * timeMeet; -@property (nonatomic, retain) NSString * userName; @property (nonatomic, retain) NSString * userFullName; -@property (nonatomic, retain) id thumbnail; +@property (nonatomic, retain) NSString * userName; @end diff --git a/Classes/Tabs/DiscoverUser.m b/Classes/Tabs/DiscoverUser.m index b8ea547..2d58f01 100644 --- a/Classes/Tabs/DiscoverUser.m +++ b/Classes/Tabs/DiscoverUser.m @@ -2,7 +2,7 @@ // DiscoverUser.m // app // -// Created by kiddjacky on 5/17/15. +// Created by kiddjacky on 7/7/15. // Copyright (c) 2015 KZ. All rights reserved. // @@ -13,9 +13,9 @@ @implementation DiscoverUser @dynamic latitude; @dynamic longitude; +@dynamic thumbnail; @dynamic timeMeet; -@dynamic userName; @dynamic userFullName; -@dynamic thumbnail; +@dynamic userName; @end diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index 3f524a3..7f90236 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -146,8 +146,6 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N if (cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"]; NSLog(@"update table view"); DiscoverUser *discoverUser = [self.fetchedResultsController objectAtIndexPath:indexPath]; - cell.textLabel.text = discoverUser.userFullName; - @@ -160,6 +158,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N cell.detailTextLabel.text = localDateString; + /* PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; [query whereKey:PF_USER_USERNAME equalTo:discoverUser.userName]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) @@ -168,13 +167,22 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N { PFUser *user = [objects firstObject]; - NSLog(@"found user %@", user[PF_USER_FULLNAME]); - // discoverUser.userFullName = user[PF_USER_FULLNAME]; - discoverUser.thumbnail = user[PF_USER_THUMBNAIL]; + PFFile *discoverThumbnail = user[PF_USER_THUMBNAIL]; + [discoverThumbnail getDataInBackgroundWithBlock:^(NSData *data, NSError *error) { + NSLog(@"in the block"); + if(!error) { + NSLog(@"no error!"); + UIImage *image = [UIImage imageWithData:data]; + NSLog(@"data is %@", data); + dispatch_async(dispatch_get_main_queue(), ^{ cell.imageView.image = image; }); + } + }]; } }]; + */ + + cell.textLabel.text = discoverUser.userFullName; - if (discoverUser.thumbnail == nil) { cell.imageView.image = [UIImage imageNamed:@"Whale_preview_120.png"]; @@ -182,47 +190,9 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } else { - cell.imageView.image = discoverUser.thumbnail; + UIImage *image = [UIImage imageWithData:discoverUser.thumbnail]; + cell.imageView.image = image; } - - - - - NSLog(@"discover user at latitude %@, longitude %@", discoverUser.latitude, discoverUser.longitude); - /* - CLLocationDegrees longitude = [discoverUser.longitude doubleValue]; - CLLocationDegrees latitude = [discoverUser.latitude doubleValue]; - CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude]; - [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) - { - if (!(error)) - { - CLPlacemark *placemark = [placemarks objectAtIndex:0]; - NSLog(@"\nCurrent Location Detected\n"); - NSLog(@"placemark %@",placemark); - NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; - NSString *Address = [[NSString alloc]initWithString:locatedAt]; - NSString *Area = [[NSString alloc]initWithString:placemark.locality]; - NSString *Country = [[NSString alloc]initWithString:placemark.country]; - NSString *CountryArea = [NSString stringWithFormat:@"%@, %@", Area,Country]; - NSLog(@"%@",CountryArea); - //cell.detailTextLabel.text = Area; - cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ at %@", localDateString, Area]; - } - else - { - NSLog(@"Geocode failed with error %@", error); - NSLog(@"\nCurrent Location Not Detected\n"); - //return; - //CountryArea = NULL; - } - }]; - */ - - //PFUser *user = DiscoverItems[indexPath.row]; - //cell.textLabel.text = user[PF_USER_FULLNAME]; - - diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m index f1e5a4e..50bdf3f 100644 --- a/Classes/Tabs/detailsView.m +++ b/Classes/Tabs/detailsView.m @@ -338,7 +338,7 @@ -(void)actionAdd { contact.age = user[PF_USER_AGE]; contact.interest = user[PF_USER_INTEREST]; contact.selfDescription = user[PF_USER_SELF_DESCRIPTION]; - contact.thumbnail = user[PF_USER_THUMBNAIL]; + //contact.thumbnail = user[PF_USER_THUMBNAIL]; @@ -415,6 +415,7 @@ - (void)loadUser // self.label.text = user[PF_USER_FULLNAME]; NSLog(@"debug = %@", self.discoverUser.userName); + PFQuery *query = [PFQuery queryWithClassName:PF_USER_CLASS_NAME]; [query whereKey:PF_USER_USERNAME equalTo:self.discoverUser.userName]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) diff --git a/Discover.xcdatamodeld/Discover.xcdatamodel/contents b/Discover.xcdatamodeld/Discover.xcdatamodel/contents index 7d7a85a..25615fa 100644 --- a/Discover.xcdatamodeld/Discover.xcdatamodel/contents +++ b/Discover.xcdatamodeld/Discover.xcdatamodel/contents @@ -26,7 +26,7 @@ - + diff --git a/app.xcodeproj/project.pbxproj b/app.xcodeproj/project.pbxproj index 3a56d10..767e6ad 100755 --- a/app.xcodeproj/project.pbxproj +++ b/app.xcodeproj/project.pbxproj @@ -128,7 +128,6 @@ 685AE2511B1DA8F600C8D9E9 /* Whale_preview_180.png in Resources */ = {isa = PBXBuildFile; fileRef = 685AE2501B1DA8F600C8D9E9 /* Whale_preview_180.png */; }; 685AE2531B1DAB5000C8D9E9 /* Whale_preview_120.png in Resources */ = {isa = PBXBuildFile; fileRef = 685AE2521B1DAB5000C8D9E9 /* Whale_preview_120.png */; }; 689D00E91B1D9BFD003E21F3 /* contact-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 689D00E81B1D9BFD003E21F3 /* contact-icon.png */; }; - DE1C96E01AE37BB400610AF7 /* DiscoverUser+bluechat.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */; }; DE1C96EA1AE73D1100610AF7 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE1C96E91AE73D1100610AF7 /* CoreBluetooth.framework */; }; DE31A2DD1AF7152800FD8DE2 /* CoreDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2DC1AF7152800FD8DE2 /* CoreDataTableViewController.m */; }; DE31A2E31AF7321700FD8DE2 /* AppDelegate+MOC.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2E21AF7321700FD8DE2 /* AppDelegate+MOC.m */; }; @@ -137,10 +136,10 @@ DEB34C2D1AF0A7DF000A42B8 /* detailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */; }; DEBB7B351AE2FD21009CD940 /* tab_discovers.png in Resources */ = {isa = PBXBuildFile; fileRef = DEBB7B341AE2FD21009CD940 /* tab_discovers.png */; }; DEBB7B481AE3753C009CD940 /* Discover.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */; }; + DEBF53C91B4CDA0D00891128 /* DiscoverUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEBF53C81B4CDA0D00891128 /* DiscoverUser.m */; }; DEE855401B081778000AA5AC /* ContactsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8553F1B081778000AA5AC /* ContactsView.m */; }; DEE855461B08232E000AA5AC /* contactDetailsVC.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE855451B08232E000AA5AC /* contactDetailsVC.m */; }; DEE8554C1B09BE93000AA5AC /* Contacts.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8554B1B09BE93000AA5AC /* Contacts.m */; }; - DEE8554F1B09BE93000AA5AC /* DiscoverUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE8554E1B09BE93000AA5AC /* DiscoverUser.m */; }; DEE855521B12817C000AA5AC /* CurrentUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE855511B12817C000AA5AC /* CurrentUser.m */; }; /* End PBXBuildFile section */ @@ -365,8 +364,6 @@ 685AE2501B1DA8F600C8D9E9 /* Whale_preview_180.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Whale_preview_180.png; path = Images.xcassets/AppIcon.appiconset/Whale_preview_180.png; sourceTree = ""; }; 685AE2521B1DAB5000C8D9E9 /* Whale_preview_120.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Whale_preview_120.png; path = Images.xcassets/AppIcon.appiconset/Whale_preview_120.png; sourceTree = ""; }; 689D00E81B1D9BFD003E21F3 /* contact-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contact-icon.png"; sourceTree = ""; }; - DE1C96DE1AE37BB400610AF7 /* DiscoverUser+bluechat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DiscoverUser+bluechat.h"; sourceTree = ""; }; - DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "DiscoverUser+bluechat.m"; sourceTree = ""; }; DE1C96E61AE47D7400610AF7 /* app.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = app.entitlements; sourceTree = ""; }; DE1C96E91AE73D1100610AF7 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; }; DE31A2DB1AF7152800FD8DE2 /* CoreDataTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreDataTableViewController.h; sourceTree = ""; }; @@ -384,14 +381,14 @@ DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = detailsView.m; sourceTree = ""; }; DEBB7B341AE2FD21009CD940 /* tab_discovers.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tab_discovers.png; sourceTree = ""; }; DEBB7B471AE3753C009CD940 /* Discover.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Discover.xcdatamodel; sourceTree = ""; }; + DEBF53C71B4CDA0D00891128 /* DiscoverUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoverUser.h; sourceTree = ""; }; + DEBF53C81B4CDA0D00891128 /* DiscoverUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoverUser.m; sourceTree = ""; }; DEE8553E1B081778000AA5AC /* ContactsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactsView.h; sourceTree = ""; }; DEE8553F1B081778000AA5AC /* ContactsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactsView.m; sourceTree = ""; }; DEE855441B08232E000AA5AC /* contactDetailsVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = contactDetailsVC.h; sourceTree = ""; }; DEE855451B08232E000AA5AC /* contactDetailsVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = contactDetailsVC.m; sourceTree = ""; }; DEE8554A1B09BE93000AA5AC /* Contacts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Contacts.h; sourceTree = ""; }; DEE8554B1B09BE93000AA5AC /* Contacts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Contacts.m; sourceTree = ""; }; - DEE8554D1B09BE93000AA5AC /* DiscoverUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoverUser.h; sourceTree = ""; }; - DEE8554E1B09BE93000AA5AC /* DiscoverUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoverUser.m; sourceTree = ""; }; DEE855501B12817C000AA5AC /* CurrentUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CurrentUser.h; sourceTree = ""; }; DEE855511B12817C000AA5AC /* CurrentUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CurrentUser.m; sourceTree = ""; }; /* End PBXFileReference section */ @@ -990,16 +987,14 @@ children = ( DE6DA8231ABF54CE007A683B /* DiscoversView.h */, DE6DA8241ABF54CE007A683B /* DiscoversView.m */, - DEE8554D1B09BE93000AA5AC /* DiscoverUser.h */, - DEE8554E1B09BE93000AA5AC /* DiscoverUser.m */, DE31A2E71AF74D2700FD8DE2 /* PhotoDatabaseAvailability.h */, DE31A2E41AF7357400FD8DE2 /* DiscoversView+MOC.h */, DE31A2E51AF7357400FD8DE2 /* DiscoversView+MOC.m */, DEE855501B12817C000AA5AC /* CurrentUser.h */, DEE855511B12817C000AA5AC /* CurrentUser.m */, DEBB7B461AE3753C009CD940 /* Discover.xcdatamodeld */, - DE1C96DE1AE37BB400610AF7 /* DiscoverUser+bluechat.h */, - DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */, + DEBF53C71B4CDA0D00891128 /* DiscoverUser.h */, + DEBF53C81B4CDA0D00891128 /* DiscoverUser.m */, DEB34C2B1AF0A7DF000A42B8 /* detailsView.h */, DEB34C2C1AF0A7DF000A42B8 /* detailsView.m */, DE31A2DB1AF7152800FD8DE2 /* CoreDataTableViewController.h */, @@ -1136,7 +1131,6 @@ 292339B41AA38E0F00A47A39 /* JSQMessagesCollectionViewLayoutAttributes.m in Sources */, 292339BD1AA38E0F00A47A39 /* JSQMessagesCollectionView.m in Sources */, 292339271AA38DBD00A47A39 /* AFNetworkReachabilityManager.m in Sources */, - DEE8554F1B09BE93000AA5AC /* DiscoverUser.m in Sources */, 292D2EFA1A84497A00CEC270 /* JSQSystemSoundPlayer.m in Sources */, 292339BE1AA38E0F00A47A39 /* JSQMessagesCollectionViewCell.m in Sources */, 292339241AA38DBD00A47A39 /* AFHTTPRequestOperation.m in Sources */, @@ -1172,6 +1166,7 @@ 292339321AA38DBD00A47A39 /* UIProgressView+AFNetworking.m in Sources */, 292339281AA38DBD00A47A39 /* AFSecurityPolicy.m in Sources */, 2923392F1AA38DBD00A47A39 /* UIAlertView+AFNetworking.m in Sources */, + DEBF53C91B4CDA0D00891128 /* DiscoverUser.m in Sources */, 292339B31AA38E0F00A47A39 /* JSQMessagesCollectionViewFlowLayoutInvalidationContext.m in Sources */, DEB34C2D1AF0A7DF000A42B8 /* detailsView.m in Sources */, 292339C91AA38E0F00A47A39 /* JSQMessagesToolbarContentView.m in Sources */, @@ -1187,7 +1182,6 @@ 292338D61AA350A400A47A39 /* pushnotification.m in Sources */, 292339C81AA38E0F00A47A39 /* JSQMessagesMediaPlaceholderView.m in Sources */, DE31A2E31AF7321700FD8DE2 /* AppDelegate+MOC.m in Sources */, - DE1C96E01AE37BB400610AF7 /* DiscoverUser+bluechat.m in Sources */, DE31A2DD1AF7152800FD8DE2 /* CoreDataTableViewController.m in Sources */, 292339331AA38DBD00A47A39 /* UIRefreshControl+AFNetworking.m in Sources */, 292339A71AA38E0F00A47A39 /* UIDevice+JSQMessages.m in Sources */, diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index b32e91b84b402e27db8a1ed181a1f8c7b2b2a198..0dbd0ad46f810bd06cb4f36fa1203fd81559f526 100644 GIT binary patch literal 71491 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 F{}*zBdQ1QS literal 0 HcmV?d00001 diff --git a/app/Images.xcassets/AppIcon.appiconset/Whale_preview_120-1.png b/app/Images.xcassets/AppIcon.appiconset/Whale_preview_120-1.png new file mode 100644 index 0000000000000000000000000000000000000000..dca3c5ace417f6f3515a16e8fb54f593386d4e8a GIT binary patch literal 39752 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 Date: Tue, 2 Jun 2015 02:34:18 -0700 Subject: [PATCH 14/33] modify chat button size --- Classes/Tabs/contactDetailsVC.m | 47 +++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/Classes/Tabs/contactDetailsVC.m b/Classes/Tabs/contactDetailsVC.m index 47c089c..7c1321a 100644 --- a/Classes/Tabs/contactDetailsVC.m +++ b/Classes/Tabs/contactDetailsVC.m @@ -8,7 +8,7 @@ #import "contactDetailsVC.h" #import - +#import #import #import "ProgressHUD.h" @@ -28,6 +28,8 @@ @interface contactDetailsVC () @property UILabel *selfDescription; @property UIView *chatContainerView; +@property UIView *labelContainerView; +@property UILabel *label; @end @@ -37,9 +39,23 @@ -(void)viewDidLoad { [super viewDidLoad]; [self loadView]; - _chat = [UIButton buttonWithType:UIButtonTypeRoundedRect]; + self.label = [[UILabel alloc] init]; + // [self.label setBackgroundColor:[UIColor redColor]]; + self.label.text = @"testing"; + [self.label setFont:[UIFont fontWithName:@"System" size:30]]; + NSLog(@"text label = %@", self.label.text); + self.label.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; + self.labelContainerView = [[UIView alloc] initWithFrame:CGRectZero]; + self.labelContainerView.translatesAutoresizingMaskIntoConstraints = NO; + [self.labelContainerView addSubview:self.label]; + [self.view addSubview:self.labelContainerView]; + + + _chat = [UIButton buttonWithType:UIButtonTypeCustom]; + self.chat.layer.cornerRadius = 10; + self.chat.clipsToBounds = YES; [self.chat setTitle:@"Chat" forState:UIControlStateNormal]; - [self.chat setBackgroundColor:[UIColor greenColor]]; + [self.chat setBackgroundColor:[UIColor blueColor]]; self.chat.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; self.chatContainerView = [[UIView alloc] initWithFrame:CGRectZero]; @@ -48,14 +64,35 @@ -(void)viewDidLoad { [self.chatContainerView addSubview:self.chat]; [self.view addSubview:self.chatContainerView]; - NSDictionary *viewsDictionary = @{@"chat_view":self.chatContainerView}; + NSDictionary *viewsDictionary = @{@"chat_view":self.chatContainerView, @"labelView":self.labelContainerView}; + + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.chatContainerView + attribute:NSLayoutAttributeHeight + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeHeight + multiplier:0.1 + constant:0.0]]; + + NSArray *constraint_POS_V_label = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[labelView]" + options:0 + metrics:nil + views:viewsDictionary]; + + NSArray *constraint_POS_H_label = [NSLayoutConstraint constraintsWithVisualFormat:@"H:[imageView]-10-[labelView]" + options:0 + metrics:nil + views:viewsDictionary]; + + + NSArray *constraint_POS_V_chat = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-100-[chat_view]-100-|" options:0 metrics:nil views:viewsDictionary]; - NSArray *constraint_POS_H_chat = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[chat_view]-|" + NSArray *constraint_POS_H_chat = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-50-[chat_view]-50-|" options:0 metrics:nil views:viewsDictionary]; From aa120f61c8c170e910b36dbe6e9e19555c6c6300 Mon Sep 17 00:00:00 2001 From: dandanlau Date: Tue, 2 Jun 2015 02:35:43 -0700 Subject: [PATCH 15/33] changed image name --- Classes/Tabs/ContactsView.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/Tabs/ContactsView.m b/Classes/Tabs/ContactsView.m index d69be88..6842e67 100644 --- a/Classes/Tabs/ContactsView.m +++ b/Classes/Tabs/ContactsView.m @@ -32,7 +32,7 @@ - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil }]; if (self) { - [self.tabBarItem setImage:[UIImage imageNamed:@"tab_discover"]]; + [self.tabBarItem setImage:[UIImage imageNamed:@"contact-icon"]]; self.tabBarItem.title = @"Contacts"; } return self; From a4ef12926568c52c6ff99ffd102d7af23a0677f5 Mon Sep 17 00:00:00 2001 From: dandanlau Date: Tue, 2 Jun 2015 02:36:47 -0700 Subject: [PATCH 16/33] change image name --- Classes/Tabs/DiscoversView.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/Tabs/DiscoversView.m b/Classes/Tabs/DiscoversView.m index 0ed5628..6110bab 100644 --- a/Classes/Tabs/DiscoversView.m +++ b/Classes/Tabs/DiscoversView.m @@ -54,7 +54,7 @@ - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { - [self.tabBarItem setImage:[UIImage imageNamed:@"tab_discover"]]; + [self.tabBarItem setImage:[UIImage imageNamed:@"tab_discovers"]]; self.tabBarItem.title = @"Discovers"; } From de6fefa4a7e645673221e8f09c9c7fc3b0122c6c Mon Sep 17 00:00:00 2001 From: dandanlau Date: Tue, 2 Jun 2015 02:38:03 -0700 Subject: [PATCH 17/33] changed image size --- Resources/Images/tabbar/tab_discovers.png | Bin 2177 -> 2160 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Images/tabbar/tab_discovers.png b/Resources/Images/tabbar/tab_discovers.png index d73ac249a819b51d20d220ad8934c55d12ea1600..e18cb6dd59c4408f2799c4f0d849a1fb79b0b9b8 100644 GIT binary patch literal 2160 zcmZuzcU%)l7LEuB1}O)kB8njzibz6HN=QOzQlx``L0r>70!bhw5^@wl3CWTT;95lD%?;YL6qUm?s8G}O<< z9b!XgkRgZRhu{WK3>X4|pcte;q^IqX@8J>)4L!|dh9MD%$jC@|q%oY%2tpW|o0}sH zj1Wdf`VxeGL==sQXY11<_I*q8dmdYI1d$OO#tf#@ARBq{1Uid}hC(+A{jt9HNe%m> z5G~?6D+xaY8y|)+gc~6KUl21m@Xz-C618#jE$l0+Z^clO(I9OYWIU73@TSv4F;*M1 zgE&(0L1a%do)m>b{2lRUr>KpTNH<0>S;BRL5ylXO_#fYQJPNTv_rK_Wo9$PxWVjfx zq|)yXg#qir`_KRY5aVcTGvh_&ruF#Z6hTg!uxgp?Ghh%zP@xrW=(WHx7{t!|ve6Tc35pi?dCHAkW|@S2+;u8<1y8^?lA730xDhpNg!g;r|#MQCWH9Q$$ur#K$>w zvsDE5*oybGVVjxTUt+1VVXY@HfR4=^1;JSN6Q`>}E>&hq?1XizC$|YRs8p((EK$v5 zwc+9l>Vd%-$8R+tndKPh5OB<&;)49uqI|jH@B}yaU#>^>=QC0fh@%n3=_KfFLQCTe9*I?2^>SNg3 z!yLhG*40<8Pz2*}dy9HujoHL5HDyuQZZC7CFNwljBf4xS2jO3$Tc-Upj(=lwRD8^M zqEuJu>us}`(SFDkXpTi@%4*hxa7$~{o@2s{Yk=9FBHOjP<0fEX_Ai%;X+Z$7RUM#{ z2JKq%&s@rTp-^ZPllAsNWAYP@abxFs;&{MQUZ3ak{6|Ms@O_a^^SQKPn=Zq3-cF0t zuG(NR*uM?$+|eKwh(k#L*DxE ztCPyV0Zrqh9%OX^Ps+$prV^CS4YkSg2sZK_t|R-Enzhu1eC!)1_g_fWPUQ>b1I^qk zy$6|HLDdOu87#u>#L1r3W?YwXsmF>bwBUO9^!+uuSZ@X`Kqam1ZZITFgeJYLxi%x^ zf{EwqCBJBK=Jvz`6uVozZj4h>{wW))Jr|H>xtYa{14Hl-{w35y)SrLRZQQGI0Q}h1TLd#Vp80sb$cDFPiIaX; zY7!_u4-4{-<>OPr#m@Dx)fsK81;Y-f%icL6{c%9WQHHby^}S^YwtgB&8?(2gfNrWj z?{6iz=-$fXzocDP6E+UYjV1Is_pYmJEvIdXPHib0{yYyNU2@vA4rM!_GK$(s2aeQn zbBTiGsvodpNS@}-y9Qgu9t+?Tczb3JPE72cxg=Y@+hC8oBL|R72K7h3@6h1P^ZKuI9 zmVTNv7UekUvDE`|me@4)ewXN*538~3G>YDfBQ%PAxMob+-qd+Q`DY>0uOrh;Ym^w+ zH7+Dg`}4Gi?c~hx^C-@OA;_(kI1>+hMQ|Dp7Mx#SGTYuv5z|J^`&f8kQhQPfC-bz0 zb*6Nu!a7(}IP{$KMhWVsQQ6S5s5GY@zEv!BSHt~XE2T^;_T0X{V{w#a@ba14?}{B( z6lTwyT_&-1s&?5RN6t2=-knY)5ccJ^{K%G}j5WromPj9XzvC5VwWGA)riN&`4Qe`z zBu>Zg5mag~YkRdE^Uv#&&I}Wb= zTNZapkLUSHXFb~^WLa+8jn$B6>tf&RXA~3T)^c%TLxCd{H1g$^gWX3|@X(;oigh>e zsT@vGp-Bbp#~P3hPs=A2y$zJ})?r1*JeyBh^#5d+`oOSoSYHFwG_-sbv1?7Hz;qEk TimlSz_y#!Ix!TrRpGx=-ZO_42 literal 2177 zcmV-{2!8j8P)|JSg+cpq}yu@}KS4#Kxk8}g&2J#K$8^||sZ=fT%H*jxY_XJ8$pyUK{es!gh=9|kjnO$Y{q!C){L3V>A1eJQU%TJXILUQ4-<@&-hGzhrw6KKfFQrA(wOiDd%!?sGMVg`SiXDN_qd z&yy*X+2iW>hk>P*u45Sntd95;&qVNG>O)lgDk5;#K73MxPC zEOOMKiIWN|J}W1zPMpaf*GTz^j6>`aLdyhprJRY6DOxHd8NGAJ>J?!h%1<(glu+d# zNO{Zce6{ka`uikN(>H8&O}NJi@w0VV-FB3JYT4;h_Z~3`!c)F#p>2oH+$L~RnFL^B zO_Dn!%}Q)$TJlJmIRZ!Dt{ot8$9VbXmL7&TZ7nJ|I|@t&jkUJ zu4Wpu6~MOsBZtp5ARtkh2;wMaD}ZVJBZtp51Tl^I%UTgk+PF3uLagWCtpEYiQ`Inz zYB$D+0OJL__WDOii_^}uVx8no$n{|b80V)QFacH#_~@i>+el})(!k{WM;@MUQo`fz z=7e!0L*hj-MsOVXiza2~Ie9}%VJfC!9LM1O`!aQT1bAu{5=EF=wri|xPM{gMv(sDQ zZI>C&r3%k5&Y-o7=$gd}-beiHSs?z(xs<~v{_c>dyfaI684QLYFuVYRjF~O-oI}F$ zF&1)IMGH`NQH5Ht;bZ%iPR{2%DC_VeVfmNv?v!;I6aiWY0=R|>?GBK?IkZ63H^g-r z6ug@^g09K7lZttk+7h7WLHSeooD2sK3&Jv+bM<;mfKLfvYrbAr6tBq1TcM>0MgP76O-0GfENA}Tvv|Vs@1t~S2%gf@w?EpQdI9jQKz}saNuF< z~3RQ45Exc&;ZBc0F zivZC~3&*^u$@VBC&CqV*sf9(eFa%@jbeD$ph5jCb*tLNah-zsV*4e>2gV}WN2uUIz z1c+{NsLkc!$HMGn4wL->Y=x<{+%U?<1`$1BzImi;0z|n%go2GNVnzflWFXvaM-%lH zF<2|Wn?%(RyiHu>+r(k50B;moLxi?fY-q}_{Z_FGI-5mPd+NMdv`6rE@sV#AFGRQp zMo^HO4~($bN^Bn)V{+fF;3H$u;6tM#J~S#ZnS5+q=-9|f zz=ua8z{kgbihaSy$9s1S$3(3yBylmg#d(52<%HF#?{rNota#n2YK%;ma9Tm-pR&oP z#Zz0jha!2akQhW51WJU7sPRl5CPJ}y&x-flHBcsMFo`BM^#Mi=$CfO^1nylcuf9=Z zGBhEpmt^!>qWsAlDqDDw${?!mmvyY9M#R=ajp%jY^SQ9F4J(7eU~m@@D)utpub2S! z!ZRt)L3YH4t?~Ct{`M;M?+wTU6QCNNzw-89NZBI3_q~+&5FK1H0m8wql+Qu&>yFBN z1S0$+<(diL2QQ_31E$_5RM+sksOWw^RV09F>0bw+_*GWn4=H~$0qj6IbKeK3_*E9+ zH}Dsj00dAQT7QS|;6s7(4Stm}X9Acxc;AXJ4!6?5Ldu^~{tfj3*8{FR)z5!faYwZQ zBvv_yTM^*NA0bw5V)C~{y>Jg*!h#8qk4?ws`LCe>1f^~kkXGjF)5dP&mOl$-|z%L9;>kLAyxkkAy@iD2Set)TPA4T5J z41AU)Sb}A&1b8X*PB2#$c5PtlTk!7h;a*9SNjIOr1L2-deJavj_#%PNJirTRIoR2` zGia?Q{pT(ye+K>W43v1Usfal^oEty_%=xkrN_ zK3@PacLjdDViSJz5DNizG?h=~-K%?TrAV+1*C>)S*I*H_IfQMnL{7Vch9~7?iFa?I zbv(~R0XG(`9F_z&o+Bs%tZ9T!b09z!v8mA=+-ZcRmFWVWA Date: Tue, 2 Jun 2015 02:40:26 -0700 Subject: [PATCH 18/33] updated project image settings --- app.xcodeproj/project.pbxproj | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app.xcodeproj/project.pbxproj b/app.xcodeproj/project.pbxproj index e7a7210..3a56d10 100755 --- a/app.xcodeproj/project.pbxproj +++ b/app.xcodeproj/project.pbxproj @@ -125,6 +125,9 @@ 29EB240E19E9292500D7AA97 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 29EB240D19E9292500D7AA97 /* AppDelegate.m */; }; 29EB241619E9292500D7AA97 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 29EB241519E9292500D7AA97 /* Images.xcassets */; }; 29EB241919E9292500D7AA97 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 29EB241719E9292500D7AA97 /* LaunchScreen.xib */; }; + 685AE2511B1DA8F600C8D9E9 /* Whale_preview_180.png in Resources */ = {isa = PBXBuildFile; fileRef = 685AE2501B1DA8F600C8D9E9 /* Whale_preview_180.png */; }; + 685AE2531B1DAB5000C8D9E9 /* Whale_preview_120.png in Resources */ = {isa = PBXBuildFile; fileRef = 685AE2521B1DAB5000C8D9E9 /* Whale_preview_120.png */; }; + 689D00E91B1D9BFD003E21F3 /* contact-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 689D00E81B1D9BFD003E21F3 /* contact-icon.png */; }; DE1C96E01AE37BB400610AF7 /* DiscoverUser+bluechat.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */; }; DE1C96EA1AE73D1100610AF7 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE1C96E91AE73D1100610AF7 /* CoreBluetooth.framework */; }; DE31A2DD1AF7152800FD8DE2 /* CoreDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE31A2DC1AF7152800FD8DE2 /* CoreDataTableViewController.m */; }; @@ -359,6 +362,9 @@ 29EB241519E9292500D7AA97 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 29EB241819E9292500D7AA97 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 29EB254F19E92ACD00D7AA97 /* AppConstant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppConstant.h; sourceTree = ""; }; + 685AE2501B1DA8F600C8D9E9 /* Whale_preview_180.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Whale_preview_180.png; path = Images.xcassets/AppIcon.appiconset/Whale_preview_180.png; sourceTree = ""; }; + 685AE2521B1DAB5000C8D9E9 /* Whale_preview_120.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Whale_preview_120.png; path = Images.xcassets/AppIcon.appiconset/Whale_preview_120.png; sourceTree = ""; }; + 689D00E81B1D9BFD003E21F3 /* contact-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contact-icon.png"; sourceTree = ""; }; DE1C96DE1AE37BB400610AF7 /* DiscoverUser+bluechat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DiscoverUser+bluechat.h"; sourceTree = ""; }; DE1C96DF1AE37BB400610AF7 /* DiscoverUser+bluechat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "DiscoverUser+bluechat.m"; sourceTree = ""; }; DE1C96E61AE47D7400610AF7 /* app.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = app.entitlements; sourceTree = ""; }; @@ -877,6 +883,7 @@ 29A5312C1AAEEF9500263CB1 /* tabbar */ = { isa = PBXGroup; children = ( + 689D00E81B1D9BFD003E21F3 /* contact-icon.png */, 29A5312D1AAEEF9500263CB1 /* tab_groups@2x.png */, 29A5312E1AAEEF9500263CB1 /* tab_messages@2x.png */, 29A5312F1AAEEF9500263CB1 /* tab_profile@2x.png */, @@ -919,6 +926,8 @@ DE1C96E61AE47D7400610AF7 /* app.entitlements */, 29EB254F19E92ACD00D7AA97 /* AppConstant.h */, 29EB240C19E9292500D7AA97 /* AppDelegate.h */, + 685AE2501B1DA8F600C8D9E9 /* Whale_preview_180.png */, + 685AE2521B1DAB5000C8D9E9 /* Whale_preview_120.png */, 29EB240D19E9292500D7AA97 /* AppDelegate.m */, DE31A2EA1AF8689100FD8DE2 /* DatabaseAvailability.h */, DE31A2E11AF7321700FD8DE2 /* AppDelegate+MOC.h */, @@ -1087,9 +1096,11 @@ 29A531351AAEEF9500263CB1 /* tab_messages@2x.png in Resources */, 292338C81AA350A400A47A39 /* AddressBookView.xib in Resources */, 29EB241919E9292500D7AA97 /* LaunchScreen.xib in Resources */, + 685AE2511B1DA8F600C8D9E9 /* Whale_preview_180.png in Resources */, 292339C01AA38E0F00A47A39 /* JSQMessagesCollectionViewCellIncoming.xib in Resources */, 292338CC1AA350A400A47A39 /* MessagesView.xib in Resources */, 292339C71AA38E0F00A47A39 /* JSQMessagesLoadEarlierHeaderView.xib in Resources */, + 685AE2531B1DAB5000C8D9E9 /* Whale_preview_120.png in Resources */, 29A531341AAEEF9500263CB1 /* tab_groups@2x.png in Resources */, 292338CA1AA350A400A47A39 /* MessagesCell.xib in Resources */, 292338F71AA374C300A47A39 /* SelectMultipleView.xib in Resources */, @@ -1098,6 +1109,7 @@ 292339A21AA38E0F00A47A39 /* JSQMessagesAssets.bundle in Resources */, 292338C61AA350A400A47A39 /* SelectSingleView.xib in Resources */, 29A531361AAEEF9500263CB1 /* tab_profile@2x.png in Resources */, + 689D00E91B1D9BFD003E21F3 /* contact-icon.png in Resources */, 29A531331AAEEF9500263CB1 /* profile_blank@2x.png in Resources */, DEBB7B351AE2FD21009CD940 /* tab_discovers.png in Resources */, 29A531311AAEEF9500263CB1 /* messages_blank@2x.png in Resources */, From e70f9dba65617f0cffdd9afc06279133d896ccc5 Mon Sep 17 00:00:00 2001 From: kiddjacky Date: Fri, 5 Jun 2015 22:10:30 -0700 Subject: [PATCH 19/33] add limit to discover user list --- Classes/Tabs/detailsView.m | 2 +- .../UserInterfaceState.xcuserstate | Bin 70135 -> 70093 bytes app/AppDelegate.m | 58 +++++++++++++++--- 3 files changed, 52 insertions(+), 8 deletions(-) diff --git a/Classes/Tabs/detailsView.m b/Classes/Tabs/detailsView.m index 03338ca..f1e5a4e 100644 --- a/Classes/Tabs/detailsView.m +++ b/Classes/Tabs/detailsView.m @@ -316,7 +316,7 @@ -(void)actionAdd { NSError *error; NSArray *matches = [self.context executeFetchRequest:request error:&error]; Contacts *contact = nil; - CurrentUser *currentUser = nil; + //CurrentUser *currentUser = nil; if (error) { NSLog(@"request error!"); diff --git a/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate b/app.xcodeproj/project.xcworkspace/xcuserdata/kiddjacky.xcuserdatad/UserInterfaceState.xcuserstate index eca8a090dad91c322f2dd9721e82c3922cb9d0d1..92c94722f3549ba54e755239300717dffa3440f3 100644 GIT binary patch literal 70093 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 H`2hZ3MEKx` literal 70135 zcmeFa349dA@&G(N)3Y;s&dlzH8%1t`B)gk)5rv!(&OpL_ESqEr3rRL+H{9qn3V18t zf(L{{@Br@vRJ_Fl74SgC0|6Cp@xH(6ne1j45`4aw=>PkDAJ3O$XM3uvs;jE2tE;=p zYO8|bh|BdFgBX_K7|igDp`6W61?s}VP|c*Cp|UxF@<@1cPk&wc>>xZY?HLKx z+8MNB?KZ_Qlo1$_aWGCMiAiN#jGOT=X-qnk!DKR7Og7_X1~O+bW0+!QEHjQNVM>|t z%mij4<7Xqs$Y`i_A;RZsuj?73NiD5AzzcpLvft$Q)sgGT$)Am~WXs5rYt75r@pk zf~-hJPShRsKs`|})Eo6d{m}sALT;3SGSL}m5IPg(qCAw3MxrTbDw>9-BR>kDAew_} z(b=dDh0#K^2rWiS&{DJy@kD#-O6rb?_%#`A7US2A7!6npJtz7pJiWS zce5|EuduJO``M4!kJ(SyqwE*#H|+Q95A3h(Z|v_J%W)j$M6L_hl{- zzTu8>KXAWre{g?djCpLpW^BP$tl(2|58M;?#i!$BoPs?#4QJtOd=?&z^KcO!jz{2P zJONL^K0FiqaV4IMYw_8*4llq9@lw1DpNG%K7vanBRrqRr4ZaDl!wq;7z7^k%@4@%t z`|yMKA^Zs5iJ!u|@gBSv@52Z1`}h$47=MC4$6w%Y@pt%p{0nd5ZM?)gcqiY1@5p!M zPvN`sJ@`I+Up|FT<C@ zS?D5k6HXI)328!>kSz=m@`YhSsW4ucAj}Ya!c4(01cZ8Fo-kinAS@IX35$hu1y#5} zxKOxAxJ#h1ms;y&?Bald##d{;auekgtkyx4e&@e1QA z<2A->jjN4ojJFuq8aEg>8n+m4Gj26*Gu~^w&-jq>VdJC5$Ba)JpE5pY++}>pxZAkL zxYziG@lE49#skI=j0cTJj2{_4HGXFN%J{YMJLC7ppN+p5|1kb(;!M~inv5o^$!4;f z9HvuE-At#Mx|@2Kdh*$(-ljgLG*h}M!<1>tGG&{*rh%qH(@@heQ;})7X@qH{X_RTQ zX^Ls8X_{%eX@<#Xnro^uRht%?7MT{CmY6OuU1++9FaD=_AuI)3>JY%#0bCSu@vH}XPVD44>pf5k2H@mk2X&+Pc=_7PdCpn`^+=VRpx4Q zjd_uIv3ZGksrf?lMdpjm*O{+3-(X&C-ekVjyxF|Pe82et^MmGx%uk!2F+Xd5&b-h3 zn)!9}LGy>^L*~Qgug%|>kD324|7l??$YQnFERvGb(XLtVo@!`vdnUs<#NjvmK!ZMS#Gx6X1U#RhviPo z!WexAw61w7RTrtH+vV9c&$9&9RQMj<$}mPPI<6PPfjm&auw5R#_KV7g`rtS6EkC zFR)%{y~cX2^*ZZ%>jvva>)qCStoK^)vp#Np!uq83W$P=}SFH!E?^@rpero;9`nmNB z>(AC-tiRd>n`krIOtyBm_O=eTp0-}L-nKrrG+VkY!MsqDJW{5V zB^5}8(okubR3r_TilwpA1ZjrklV(bOsZ5$9&6TR8CDKyq9O+z1m58)VS|ME|T`XNL zT_s&7t&!GA4bpn)PHC&OO}b0ETe?SjK-w2g20zdS%rmQ&lm0T^)mlwzjuZ^>`V z@5qPb!}1aNBl(#8gZ!iXtNfe7C{86wX{WSTIw&2LPD*E`i_%p&P4OxNl{1t<%9+Yp z%3x)PlB47*c}l)ATp6JhE0dJT$`oa)GEJ#a0?J}#iLz8VM>$tf6{0Lt&Qs1;u2rs6 zu2*hQRx4|i8j zazyz^`B?cx`BFKi{9tG8oE_VFyTNX=OLn`xqx}?nAA4W>>Gl-6+n#Cn+6UQl?S=NC z_UZN+cAtHw-ES|mm)k4s0sAa_rG1XQ+Fol9+vnMr+0V0|Z(nX-VP9##)V|7ooqdh{ zR{LiA7W+2)z4rU;PuridKWl%^zRUi+{RR80_C5AD?fdPY*pJ#jwSQ*+-2R3Ad;1R# zgF|qL4x_{5FgrRrIypK!x;VNz`Z)SJPIsg_(j4iIfsP@LLdQtQI7f-2+)?2OIA%F2 z9kcmqj-Vs#h&bvU^BjvDiyccG%N!Rtu5he!TC*wp;v(w_V zI&Dt7v!}C{v$wO4v#;}XXFq3u=KyE6)9W1QJi}SwEOd@`mO95fC)?XQr#t=5fHUZv zYIF~w?J6AYYIxlcu;augs(s`qEt@9q|g4*7=?D7w50e-;$Ull*A?(l1xeFq@<*dN&SXYUr%}+Wn>HMVSNh^|8 zCS96zS<=->Hzch~YDik2bbHbrNp~jQo%C?hQ%TP!y_)n|(*C3aNgpH~OgfVEY0_6o z-zEK&^m{w5ou!@J&e^U*yDsf|w(Hfdf4kInY2$m=)K^vQV~mW6F*6oMV(b$~m!!-M zEDTS9-;HaT2|dfJ{NZo|V`XeAt8xvD%qS`*c%SO=$B;nBdNX~PzRc-NKc+u3 zfEl35s-n6HK9}HS1g|3aK7#KjcsF5>!GG!iKsUE8;GbI?3f4rzIpvYyJbxrm;gdV% z2WI)}t0Dyz!APjCBmz&vg`v9f<3@&ka{K&1S$$ciu%;q3KQ}PjKQ9=no2CH> zl$6g7R0jaG{&8G=O@1I83D)={up;!yu95z5BrjB5TNQw=is?cz904BbujTr~feP)# zU}WLAKy9cFm?uT~sP_jbbWOmou+Co{CI3Ib@ZceH)5YtTU!X@5-zG4 z6|4!yXaR&1KIesM!l9~wF*+!Nm;xqcGjk?$7BiR`!sIZyOdgZ3+Es_@RFl+pYJ0VV z+Ho^e$P8tMF-6R9W&|^m8Krh2XfQ#u2s)3TI|)08VEC_!^1jcc@=!$}1q5b9Fp`pp zYs#d&e1F703K~@T@b?d~%lFQ2UuyToPv@yUHp)Pq!H zb-+HR3>3YbsbB)kEUM~dAbwNfcU_8~ab#Abt zVvfIj?!wgk(EOUJkiR0FIyw{y&I*=mQl2;4A4#qTIS8j`Z0 zyaI5pro&v(?9e<1S%#31M^E4)&`1d zDgp~Yi;ruTQ&EvyABljq%B!!d1EZ(43xJXA7=;j3?2#c|JmI^H7?kGl)Ae;E*bdq` zU>m6mRaFJ*d~)hZ-zyA6%4d%YoLvtFKT1||?2SaSh6Mw4G$^?6IQrbN_RV2dP!oZP zfno%dhINS1;k%Z(j!9X&Rvn(o@$)c})fFVzkIgSlPuS5)W-=p6US3OoTDRvV~`EYzRL zjNbc=%xw*{m%W-VaR;+?9doCeuI9bQ+{N6@+yiFkUgkdLe&&H0VB7OY=|cthO^yVs zfqVYy+Nl+d-UDd3nx$r{87kP>f6)^4$k|~JUBWOxp_$pv>|h@8$@WC-i~W(=YL1$% zQ~en8_&R2%>Q#qCnfoO3EMs5KJjFcCJfjX&&rk=gXP#qrG0&@Ks%NQ#RZj^xTcy;* zP1c;O(bU+%NCzXqKzM4SfKwX`)8i;jy>xExW%hyj&Z(>OFKhtxfa}y~zRtXH9CsU- zH<_B_p6PAhV&3-2T_`nC#XVkYHZbon2bgym@L^8c&L<~nOga925XSrorN=+jdw-w# zU`9+*H8R#S?^8mejQfx|q|0{n!AH!;i4Q(yzF<-sn9rEc)uHOJ2IfoVE44^nL5)#* zOr@GrA7AX-+`7~ZV^CakHfcd@DN4zOHy{xi z)v;;`Wk!>^Y=Y8+NX$&cjC>OX&9&G1rv_GY;rAjNXzpetf$1CPuc-u1*4ISTahePw z1=(ShqX8}nL>iETsfqg>MLh|1W>PkycBnn-fI6a1YN8ejHqa@kOLsj+FHAVShUl_c+5wM){$sH0O<_GIwvIF}EU$syCN~bwg7oHq@ zK285?Vz44IJFM9n)E6u)I$fQj=4s|bf0#@krl`}@ypqWUCHgZDeU_%qQ1g89X}$#& z<>2xa)r12zVK6fD0;6HURu?R%3lx7{V4(g^7PGYhWh1XTQ}wHP({f6?#YA!oDd8LA(%zIQf&c>MxheQ>d|NnD%MzC zsm@k|I;%_3cr*b`M3dAx>Rh!-tx@Y*lhrykGh#f|KbOVWsehhDKUb>Ne}|QGnXT(l z6{*);m9Jgki0w0TN=$2w5mm?HLJ(`E+t6?>w)@z*3j&a(Z z+4$$=^t8sm9OwS2|BLeW97K*|{&~Rs1x?Iffi9uUUx_Y27i!F3s4h|$>&(9tU4|}4 zSD;nu5_PG1j;gBXwLbH&JC6Blj${5U^z&Nv+`q&84OBcgqD?AMm(lm^g~iQ$1f@4y^XLVnXflxEmQ96P7W}f7!x3 z_!fGHLVsJmY8^VDUabz8kvL&RrRoFp5mm;6=tFb}9Y#mgYt(Di>(uMj8#bbk(I@CA z`V@Vpu2$EmH>tO%>swP9Pde#*dz_B`NI(Ci-WWgM{6?SsuHO7N^pr(l;8>RBSgfv9 z*QpI^-sFPPZo2a}75>U83rFhw<&jD7x3&h?>@jPiubEj3YgIR>8`VwJE~ZEA;^YiZ z)Iz3tz%FLHTv^$T3}zi{J6QCvPBuy1tZw<+iypoEu0Sb!ih6t8B8NSV?auaK9#FTc zcdB>L^~=it8zG3)9huSJXU8y#yNO)pn*fO?yiSqv}c5s5(WOLcP z#0Q0J5lmR@PY(RZVeVQ_( z$#OU6uD6nVua1k#RTWzYhLf#kYuJ!xIG<6URiD!gCmUuXY&|=Vov-dvpI2W{Us7Lb zO~a|H($Yi=$b)W2U&ZN>`q#lK@6F9Lsry_mg3-L1ZSGH;w+MH^npUZuXO?)eLE zoV}i1bKIES1Y@=@<`A-L*-ey{>(~Z%y~fJd)YsKFbXMNVZf3Wzx3RaYZ>sy%x72sk z_gkNpcOS>f`;TMg!<3cV)wll+D<7jX#!mKe_6hZX`mXvOefMvAzr^cbwhBf}4?`F>e6(k2G=rE%trN{kPe7*aI5(KTRSg9qxm>(7^u0{;YnfensE=kKA$g z5Bk=h9HV}t9!qq`(>&2BzES@oBaMo?FRQV2?=SpJJXPHP1vxoWO9(FSvM>Qe+sO=?ijEe0dZ&Ew{C3#bt$ zNG3=j$gbI8ZV9)PJBK@$Qweeq1 zIYI6IhBfA{0=vpx&0RxK2ZB1D%(38B)23^<8wu)6P?x`OEx2{uhT|B!i8A(-CdO{z zwo%63#@)`{p)>YWg1QlOn$Fm}xVyP~xO=(#2lXAj>aMGFn2^B4Vdpd1cJsi;J_W_KIJ~+KIgt5D4n1Tf-(upCg_aT zAC2R}3tUrpK^OC1>1g~$P}biV4a|V-VuZnvdkGpy-~5l<4lL03L~JAoCW|u@9S=`d zH00W7_puF231%MKaR*>3c3>w?!tF5Fg&_px5|mF6Oe@1S;*Piz?u@%&u&Toe8cPt& z2U7|1({YJqY2fZOU4WpR*53#n7YJ)vD&f?kYJVjpHAMVnW&S$)%LhBMVft){XF*DB z4djTcBR=N8IZ8_zu4tkqK+wb}Ewd>tK>}NY31U%=Yjj$s5Cs19KTJ!4h0w=d z==5EbmN2fTv_uG+whqrDX!?I5{);G`iwT;MNawj&)#;o`kWZuY|Ay%SqJRG8t-2={ zMTuUHS2hjc1q8ufxh{+sQ^GDGs63IdEAT3vFc|C#jj(^uZfPU6Z(uJxZ1sP_OczeH5?|F_- zp56vM7uC!P!Sn7&fg3hLbehOG> zU-8JIl2Ttmeo^U|alVp*kp+3BMPo+$Mifl;$=yz9FrlcVD0gJRIB2CeIT1#|q~aV% z=g?v3f^|Rh_*!)cBswo%>>AL`wRAwY#o6w(0o^j(=}VXDO&-QO*5U00)e)p8R^UgO zt!vdh-AX@>pMcbn#)LXZ5?PNQ$4_dhr|=<4_tSV+b96tCU%)RCR8P=+f?%Uv@9$+Q z>#qw|H(5vBItaARuBY6<068< zQe3u)=XlKXynz>Z2%=m;&~*geOwc-lHW74Nf(r6hT@jZ1WY2=+1vJMx8Iq+=_<(a#%UC9*8#0O0Z?9nCojvLlbxKI z=_-W74(_z%TyIu>a=zD{S&)^Nlb+?yj|bFV2Xx^HfYQi(<>cfPrYC2n7iJ`<=X&y!b6gp@$!YGK zoV>z}v}|vtCmzsgI-pCN0pux2&&|zE_PVpZKpOBU$DL0<=H_H&rywmkJ*yxqIXANqNb_doW#_swy_xQeMiJmo=ljD{!S^F*)jA#) zzS=(gU$}?73sj2--{mTG$m@{ybvK{R+{0(^nM?(r&0G0_AnJhywf>rl(mH=lxV$b{ z8<`xWImR@Jlb~x=1|(@YL09kN2k~bzX8tT@Gd~!#v@uDHHX9kJsf>Uvm*bvI@K@Cb zWDwG8G^4@i@VSsuujQ4|R~q;{rY8P@-l~8v)P2^tg9y=l<@Nkfei(KAs88F>_a}Aw z_~HCW%DfQ-UB8YWMbHiZfpfu+rOX>g(CX%xXXn9z()qKJpf!{~Q-MFz`012CQXH}Q zkW4DWQu{{A4Spsx^7Cc%paD&j$Q{QJbdyeg1s|9mv#j*3^?U_Ci>a9aNy_jkDhRXr zIZc89lj|*wc9gH7_`;k5_Wi`cZqE;l;(H+-Pd&ekU%)S-z`$lUtmDCEYIzfXB~|Cr zj=-92Xs)9!Jn%zj%*6z4j0p~ZAwO6KZbsb&{u2JOrZKskpj)GKTuH%SMbPHvz@Nsi zj)K3Gpe+gDu|0qF^5VV&dm@>X6EJN7# zgzc4Rho96bfupPrX*O?95eRl{on7C=eA}469ZM{q3S?$7`&ll@L=n& zIHMeZOsjCJ%i|l>7~4vX{?Qyd@95|}?31h7k|E;)mGm%RU2`aWprf$ECqqU}tI7mj zIM8#4DOI&_94&REzrLn?c1d|%AW)+VrWT{&5AjDKg2^A|kMJMyAM>9O1WFFOLOTh1 zoS-K*@}KgbF}?Ut_%8{1lAxz)+~5g_^K%;2*1m^2lRtbDLF9-+t=tP>E=dYRP4^vJzb)~tk{14Pj{z%YM>X0eL3&Y7H zUCFsM(Zi|yulygd(&K;Qe<$b}f}U;Q|1`in_8dXGD5dR-a>vw1s)98qP~j}f1*GOC z_SiTV8F)kDMzz6cFeL<#4ORo}TyHSg43a@MCFQzVnMg(- zLkf8FhQ5Z=4gC!L4Fe3x1i^;JYXrSc&>IB3NzndHhE#*g;AVOmk`3tuy+zPF1bsl| zX+J>+|95%ns53w(JRw8vpO!VlnZPo`Sp-r*hfE1(j7l!9OD>#S8s%QD0nXeu81f9T zOK^aocN+|ahM@$#N063Z^Iyu^NJHYDw4vD0xF`u#0@nj6>=FUiO6uZhM9!3$L zYp6;TyO04QY#TMPOAxw7iQ8zHXPB?a8!VqcBj}4pVS_{(%_bO@(mu{1=yP?**z{;G z%M8np8=e&gZ~(#neMLPT&1@PjGF+U9%4LSj6CYe@fOC5-aQS+}4TjYQh$MYO&@qC( zB?yk~#x!uo;>@hH6ktX=WVB{9vSV!%s!<#^7&az$x!JJwMTBJu z%Mlh6mfvXj#BdbY@tNUs!WsxG0y|g}fi&azU5ft~Ol^kmC^Ntx7t|r+l4Aq+v*9;7 zaK9KnBdif9YcTw7_=B)!!dm|ODNW!6oWNy45X8g>WZG z(JWJ;yU-(%u-?Lele$VmvXDYuB?08917SN+^?HJ^T^rR)NT=Op5Vj+9SCdhhJhUR& zH9Q&(5xl}67_K-EL^xA8i?E#u+a;!FLXMD|h*N=3nE0Sb7)|x8Ifp_RBNPi`g>i%h znolKcH^TOe)3a%d;ou8c;LMB|gJ1(`qcBOBY&b{A5T+6KG{SZVYY8L}wg*r#yMAGE z;fUl=X!w+o8Ls3-^~uHKYo|=Ca3u#K$&r#-jjAb>36OdeXAOi|LN)jcLZvWU2nutA zxk43TdlR+~VfzyHbi(!{Z2wI{jS!;#f>0%d2|IwWDZ0PF_9txG|E{F}cl-rm36+ec zgiWUY!f01=Ra$bOHaE&WBAgGBAuJQlBWx;RT@Au=VFh79$~^yrB3~?Ak~k)p3s)pQ zxJtO5D)QCBHNv&Rb%aePEJ$xAVY4;}HwdeRHNuUA%_gjuumcGTnIdiOo6cCA?)A`_ z5#pLLA>G)-yeP-E2)8AYa;FH6_%?ZxuvOS5+$G#C+#}p8+$Y>GJRm$MJS03UY!`M2 zj|h(nj|n@4$Au?^Cxxekr-f&PXNBj4UBdIi3&M-SOTup9W#JX!Rbh{?SJ)@KCcG}Z zA-pN<7v93x3-1UAgm;Dag!hFHgoDC|!Xe?Xa76e>_*nQvI4XQ9d?tJ@d?9=(d?kD> zd?Oqaz7@U`z88KFeiVKZeinWaeieQbei!}_{uCJziLA(pSmX(NCSeB?Hixizge@TK zP{I}wb_8KZ5q1n=#}c-Lu;U3kk+72qJC(503F{-QpRnbG4G^}HutCDkC2TceLxeq> zu%Jrygq=^=g@j#9SdhAN2}=kI!nK^RD+zlcVJ{}^rG&klu&W3QVJm=e4Pik7ZXoO$ z!rnyKTL`<3uT9U-zDt(ggr>uLxep-*pCT&6oyU| zL{T(~CebWfM5|~MB~ca?(Jnefr?)ojo+@?|PZPU~J;a`3 zFR{1SN9-$}F7^}qivz@DF-1%jU7}m`h-qTFm?370Sz@;66$grEh=as4#k0i0;t(-M z%oX#*e6c_*6o-n##3FIHI6@pLjuJ?ggb?B-3ix=aHkV)0O3*z=OJ7s;k<+!LbyBv8L8ZG z!i^7AT z2~H*$ZfMFNI6EOaD3)vS4)!dcJg1f89nlDo76VHNxm3q(frztp1YlpTweOsWBA|t! za!W@Rz%5Y0+Sza)NL6BVASD5zY8@dsL>6u%j%Wx)LzI*~{mWo4qa1GYNtqqb8tp&MFCwE4QilZ~7zZ~+jV>9fh36p3LXT`h z{3(%)6*?IseR5fpj8;lQOHeYnIwO)eei!Qu!5Plc!&*quo9HF|&J+RlPB>1`QgG6ZTWQlq(}iI}X`F)8)Qvs#(*1oqR= zF0enG$o53l z<#T=7BsRE8-vy)FOre@_fmvr}&GNg_;7pw>&F|{1wbZ7+VgB&!GvVN&+vV|OdeS}F z*=gzNnOPZeO`6^=FVFO5yW%}5eW#a&6p~0A4TNTjTG#_m7!`ffmxcVmwlc}|TF6xT zL)+g>7#n@Rm#u2M&J#>>qD|6wcUefVY1>4EmNuIcIHB+JvbC-6SSF}u{N8&)|3`Gw z0Gp(3Dv{Au#>o~upX#W?q-6pTxpS^v-xSkiWxD+zW)%O6M>8Y8D;aL#`_%Xr;cvmnvaHg$b~zb zQ{(iEoC4Q? zrVcL|8=tG#HvJDSfwwHv zn^AsJm%!u6$Z&bx&AS8{Wu8ESOHifbwE2I)$?tKw{|cvUZ@Me9c{inOmM5(u0jINd zoNjA7FHW0C%+Fuj&$3>k_*s(LJIyQH;S=14% zD#Qhk+u<@U*So#PCogUz1#WWaqkAs3_2JnyarIadXSj=WjPCmvru!4uJD2OoJkWNU z(!`z<*E!Zr1UEx)%RkguLAE z_h-2>(`U70-m_g`+OspWGu>YA3Ff`r?@fc4hR2g&O4sW+J=Xdwtm8vn%?7$oT;Xii z5qkVzRp^9ayHm&L$$ukwk$}iOIwDX1lbd^uc_9g!{Gg7mn{ApYnUy&!VYAKnqK?zcKKZ_=fsb2_wEk^O|7Fh1_@cku05HC)lk#fY zZH**2m~^b0a={V=?R6cKy=^CGx|GKSoD%wfTkrq1wsRn~{#)2VO+e*+9hEo!TbYO8 zeOi{^@6I}@%x8PEJYM&S(%!MABD+QTkHv_`p9oKQ$(wB;fI_j>mg#JTpY+r^Eo;PkQGc z{G(fB33~Foj=_g*Y%=0QeDVF8SiS$lZ5(BbvR`u{6A%z|1U~Y~OQI7IZPW^dHUA@@ zRzKyNuoN*_bd)~%$6cm)#V{#47N7ppS(z|8+G$Ob)6@}8vY3)g?M&@Wa5M`}FnvMT zFA4kA22&?fXJ&w@D`CGT>^E8oVXgc`hvGWW@w$c46X&JT0)}v&`nazq1j9jEz-_jl zRxb(EX+_AU4}&x5IaO6f;V{&V^vS)BdnsDnCh;vOMyR|q!Fc({lj&Vn?u@LgrQ+np z-t-JFz1b>CPG3_pCFgWgKU04boQwLNus;y?N5cNJ!IWZ31#;Yk{h6@8Xym~0PAE)v zT=)MJIotPsmht&bOW=U78+N%VN#69OQx-!BF?V`ANoSabP?83j&NQ868cf*V3Ht|O z|0Eo6y_KlA7$ZG^npODE{pjztG&v7>OOX`XnIS!!C=BBReUoewZq5Y9n3IAjVilPJvXf9}6~ zZ?9jbEl%^&OV>Q<8JSBb!qxjx8%$T4t^&Z< z5Uw-fx@dsmc;~;UUWb-Hkukh8s28l4=;6(bY!6j0FQk&h^XeAUh8Fq1(Xvnlz zEWy`?fo%f(qKO_mZ{G6nG40in>_@o%aYz~;+Zw6srwd+oRt(3tOmM!u1;u{f^nng4 znQ$phptk=g54ib(n>A4BapZn%`kaDlR>Hn8eW` zGbE*YVu*cj`lUr0e>MFE(EcD?8sXslCP2&32e@+8t;RM`3!ks~&JOg*; z26G2Qh>g?O`)lX|f=FW1*Na$%ky(K1_`S$ z`6CUKH$5{3%45!I5mdI>tAhgFDToJkV9u5Mb~P%FJ39tzh#Bq@XqMUZY z)ui#9KF54si<~~+yj;g}GU28)VYz*0=}p0cUvx3ePK(LIC1!2zYR>yGUulN9%M5eZ zG{Q~SK+T|7ZvTDnv-OkjgLym44M=)CUTsoL_r_a$^BOZ;Ki7hwtur?O;0=VENjSd- z7;gQg^8eAq!@F~*EzV5O$bz{E91O5CY3^(wK4wKk;*9JpfaOk0Pg@Fxk-7(2uI!i-V}95SSC=$zvCTWpj|1o@2{)T? zaK0IaY>tLA<2+orvPM_5G`It4(&DTHx5K>4yt_r9FPmS{2dj#3)f!N3+S~r~XB$ra zQq@H&t!c2{Fhilp7VtY@ei!h2pKu|<)oP&5*6>3|u3DAvpe`HCbMEwvG~IM3$kP$? zr;RXHP7iZHe zDl(|!mf?<>Q;Td#qTrfa4O!Y*+A{+z;JPg(+&LP!b2R~aZC|(Xhd!IO7_MHWl1XRN z$%|pN1s`G>Z#mV{vqiwYEWH76U&0Z>Ezrvcu3^xUnNZP3}6?g84}-UOH_mNW{p zIsLSxTQYRomlF=|cZkvc^OvLE%f3#Ro~B9FGRTrcK{YotmRw67pjSY+3kY|i2I?Yh zXq5NYbzOVY)Ww+|7!fz59aHInU-4v*uoP3c%{eEQv6gW;%MMRa)Qzs1~?aZK=^= zT}imBnqY1JG4hxLswN0>g*jL{B&iy-eynxgg zUgudZ09ef`oaI8xMLMkO2?zHl#76Z{{b@b3bV*51kNFvvRhDa8B=I`S^*X3E1gi8j zf%<8->KgR8E_6+kpXC+{b^4o~z%3gs;PhL->A#t9w`icCFc?_Y=Tg&OytV_(STqkE zL?i>|7P?&bX3;z0VgzrsXuf~5GIE~glixi+z2-qH8Trz zBRxAoHy*V-+2V*iWqDdBeG}o}!igvscZhkLa@LqZpsDWy3(wfRVtLWhqUUefV*$_K z0yiFPA>3^mG`LNbTCTHKd@%D%jgjd93NUmhVEDEL>h-l?YCf?(MO$|HX@_yz0IzfLuBaJX??kSSU5QZ`NMcel79B z+TS_=fTs}d3Bo<80e?yZ{@Xd94loi;9H=V*z6&**88KzGrdz!fXme^{9cVp6msnW2 zKC1!MeSyRCHtf88bKFc86IpAnb!dy=hFObraJvWx*QZ1kVEf^Dk@seOK}pV{g5b%H z1zoJgR$9%rS^c+8uucS$!KZwYa4%`#c55VqXO&!N)=dcrE1kczOZ6MAxz%T_peQys z=~x5SSvrcZ5bo6`6n7XOJN9N|cO%T0(X>`up^9ts(rFD_BRZ(P1PWs{QTwBNXXUHM zbm`2qS<$ z)2{^#uduGtF?@?~Z#QAML+DsIc<0rP>JAI*DC4fT-b7(F=cQP0w%(${IzTwM{3bTG z`|d10eC;ERy6A~HW!6pB+gqge4(pvj?KZ-J>-d2N3$E4#(`H;5?p<_dBVKMdjBHkB zywhmC-@3g;Vs}^{(Gdjmb~p~fpJuP?^!y%eWZjufqw$m#F8^zRZ_is_&_R7fIJns- zM(ZCRuYP&#0O$5l-_r#_d9bx`Vk_QweQEu+MVh~} zey`*CHQ}@^1{%PIF%de|JlA=RMl+l+ZjzPXY^WtzHrB>518h9uz9k&oE(Az^Phr6# z?yZ53gmwO9x#--Ll^(yGx0!8ni$E2dT}SXo!u{05NQe&yrmij1#up5CbWCg=ZKt%v zMBAyhZh#-$Z}bb{e$_zzrpw=B-%S0|40bAwdJ=B07I}4hY2Z0F1K9f7w2h7Ctcxwh zMmIJfECRu-KjUx|d!)=c^o)jM8pw5{+}JX0P$si$T`! z7i*y4oKg%_z72|$H?O+3;kFSvC`>RP2kLb;^N*CnFh2vOK&~sT3EVgvlm=}9vq`qe zz`dyi3j~W495!mB`}5~{^&2jpx>$3=JXsJ*gn2oeN_P|U{5CDt(cElrtF%F^!#0Ot zGr<-OF5GenQuD*NNujkvG>SpGL1;X#1emopxL~z;b8nkxo3E2D5iB>6zC-!?*n!92 z*I=e+HVw!*HX7t;cIL31Z-XF*Z6(2Wf*l%qPEBZ(J33aq@XR!*=RyrL{Gghbot72v zkJv7?T}c5qHwoLWvR$p?*p5JPzNV2rbiHTO(V=t_rj=qmZg*_fw5_pefsW=3wQZdZ z0v#ZOxFf-x;=sMmE<1KF?0hsc+FNXJCu<92Z?oM6WZy$@7lL5}5=I-UXHqw`eU5nb z7>$E&FbgmVXT>j|Z4cQVr7)Wv>Bnq4bric1d|DHV5SpEF_V|x=+0JMZnrCe<0;pzv z1lvot-8!fq1jhyOA^OrV@6pa0sI<(O)v~>2d#goC-?qI2l)g)FZ-TWLKGtLSa_R7H zAAbezn+q1-Fc2BAE`Uf51YSW5Gh-oc+acR0Ey6x(`xIb*PH;bhwJ<&&pm9+yk!|Pf z0@x6H)9g0PP_UHA(v}KM95`nCu|?27*?tDlzY?56aH=*yP*4*F$ZV?Le9*6PzyljD zpf(APgM=iwZm{`5mjp><21sywnup*t4Q9FqQ|SH2pTp;af%MRM*#o{j)$uHE{3I>O zk{0V|ZsetQ62v;FaAp#m6+iNh1GAUiq$3NrD>oWQ=@bdBH*EpOo>DKsu@Avs0@eGd zV4k6~baMA?FI=ZjGBCLUf*yCmEF&dLsZgat0)CyjPI3`EIN|y?Nk7Ji&uWuuRViB4 zpIUm`eU!*-=`6UiRq{#$r8A^K(wPJgAvlNNT!Qlm&fh2vmWD_+r>k5DSA20k#M1ZN*FHYip+zfWOgWc&EtVXm8uBbntxL8#dT28DO4XW_19Gf8fnq8 zUZb2EA&sH~HyhAe$Np?S3gQT$C(jTDkRMGh`KoI)_n%+s{}UXQmR*OLxc$9N08 z9$?;~zMB#*Cr+GtFp>UvLG~A{ZhQpgs)!rxfp4)i=?xhK`w5;&u#eziTiXh7gT5c|_ItPQj?%P2+6<-Mq>a)h=~jZv z2rehMV!gCQx=p&B-~hq12(DBIOwiSNg050f&#r}$jML=yEi@^Cqa^wO+)LSWAHlO@ zb?c=ErH7&n3^H@19TFVm=$c>>j<*@>rAMX5Xl1FBH#=#8Dd}+uw&dwRLTQN>(2g?f z8Rs#8VZf&?iX&=wmW09f(<`5#(ry%~SEVaNAP@t7ZALJ;H3ngLur@we8Z+g z*1!&3Oam3vA~u;OP#9UaU&*v!VzR$3;Ge2L&`jra(EngL7;5dC>7jY_{@q|XRmxK8?l;6)T)Nw0p^h+KZ7 z!Tv@%wwB<17Ib+8HybW%J3TIR7T4}P4`JB%sR;E4pL!qu=){W%nd;?6$V zTQM(Eq19YW)}IgbX1P28*zGF!XQT&a1=9Wg3`kdkOz@1fS>AF8Sb4HC$}7q}6a016 z^Ri}@28;a_6X_4nfasO-a;glQP3vWs?3O(QUrF#)1Yf;gPM0&J+X%jf;CsQAQK50c znB{=sofnKO92ck!)kX54;7(P5n&OiBYMKYxIGlk>tpX{`M<={8rj|AbEui)65}}m_ zBUJ%S#N%j=d58?2*tG=TMDRL-Hxj%h=1Iu;@-T{efm|pLCHOi56*XSOxD4LJY64|g@r@Mq-Y0aHfGMOshU$PSn3qr9Fc&U~D+$y>3MY7ZKKb;Mx7Pd6 zY6A8cB5EE6Q_ghj#WLOECB9Ui)EpI)n}t(`$D z*4`bJH zw9E@th3a1GddjJ$Zl`tc0nbZ94IQJ79(MUxp1lf@J;Bbaf_RH!Z*V$Np5 zOg(chvx2#dxq-QnxtUqZtY zVP7hPE4m3({#;p=hsw)jm=!?r!BTxa1mC$yUM{bYSIQT_PnavV61ZC=j4!Rqmsx%I>Y=$OPXx0wT#({z4DceS-wiXnhJIV zzJ{QJ{Q|VPJE-;D+AJ+!D_;jPMmuScucgkMTpFtIFYM-zbW0oP$?jG>O8!(gscWE! zFJn`=ChK{NyaCqs@>+SF+<^Ze_yK|+BD4VV1smjz@+SFKc{9O}5c~wePZRung1aW` z=T0#c>HCLn5sg1YA?t@t@x%ZA!7o`qZ;GKdUu$0mo^amuxC1TPi3NGP{3tAI!xs@q+v! z!A}zWleHTiXdpCfqJf86x}`F#rGT?*p`4aNuZK?0Ss z@k>z{CnBIr^T*8AE%GPwQTbEh9uYzLjlCixJWlY-1iwn~UablS)P@LYb26bcBiw|ToRRA)fb68Kw5*&0pWHFlYf()hxD!y^8ERQlPa7g?@xXP| znmQj}6Fj><(6msa#VH#-)IbXu#dTI13RRW)>x$qwxOU7(cYXCffX3W}uR1S=_-!`q zm?y(FA+1F3_R_>pFGTV6I&R7-u)tSfz4S(Gfv812m`Y3&s)0KWo ze+35MeS$wA7*yv&f)5dVnBXG>e?;)d1b=cH(~Ie$xD>bIQPPxjW`L5ZWT|c#Bz%-W zRd@Uy;jbY48XCamZzlXLbb4%;19u;57nu=Llr%n)sGPUW7>gX9Tr9gq?igijM!Jn;Dh7tTZN@cbZROTpil`5rLsZl}%e^2la1pi3zPXzx=@Gk`a zO7L$4|Gq^zTd7mRN<^tw<|*@)1_V^^vC6G95UO2>OP5)rxVxiHvsYiR*gz^x_BOQB3e%b0;@t=FgZ$z59LMH9ouSyfrCK*aM_Wrea*xj?y4 zxk$NKxrE?93C|E75uPPHM|ezl{#NBOP{}K3^g_8xxtj0>O%aXsC)G$3;mwrcj#$Jd zzJ6{u7yw{-j7Pbl2*^5|E-Z3SGceSkAQqsa2nwQL zvX$=cngOIkK|nxKx*MfKJ+>aZzqMxo<=k`ccmL1x|2}yfhP`sXYppka@4MFet@Ra; z1>N}ZpjAK<;plW^^<68=lm2Wv+ zMV?+hhoL0XM;BOR7wKE;03QW`#DI+|C|zFhU!n8Sg#da&7r@Xq3c3h}7=09g83cMx zv&ucRJ*jjMn{Z_&9nne1Kh){6b2r&1NcIac%OB@dUu zL!2}y=%?ss=;!DctH8(_L< z`-uL=fXPOGLVreoL4SoIK^PK(Az>I2$wq%i|3H7o0FEXKLlU%4DIbLc0O)WBpsMR( z7X@L~8d z5Jmtah!MgFV?;oQXm}8UKCQuq>_Gw@_(zgpNDhW%0GJL*!;mbQemN6p!vT;SxCE`7 zyZ|^00Ip$-1cnc^BZ-m12mp%HFee(!1Ztqamn;SWqiDIQ7+D5a`cnnW4xmi0zU|-F zL>6WzMiF`6f1l+aF{mMADr0t`pTp1&FkzQxD@GN}QPT31!>D64S9vx@3x*VZ6jqXS zF?uWRrhlhHtV-&YGKLrnpbue;Fvb`Y3;{#Lm}1N@Bn(hylwoK$45`2nXkHD5)L}>i zhBRSFE1y9MV}-HCfbDCTy%-Q|g|VXvV{I7HfgxSmcRd)QZM}o`AY2Iny7k@N-Q4LC z6rgbWuE^qYL^ROfBqLC4zym;Rx=2P8Q@~k~XR92Yb`$_o3}LPwI^J|%gGU}Lb7VTl z0JSd{U9Aqu3Z5ZS`*(T%t2bawK-y}4`a$GtMJTc>TN!K^qFW-E<8)^ajjdx&{{Dw6 zjmOgy&itNmc8z}sa~^XEz)Tn~j5p>2<{}Ik!jKUR8N-lCHs&%Q?Ny8q3=wEFCBl#y z-Edq(GGWl?Upm|>zoe7e%ypU4bh*AlBSfx)7yJEfk;sJQ$A4EDcJ5kL88CsE;9t`( z1cpq1O}}u=+UvV9(U{m@dE;P+^eb;7CTWc_fl0+s5IUq`(g7X3V8{Z7ENOHw%to|7 zOg1J5Ap)ZGS-}t)nN`R@TGAAtzfY@!EW99X54c#&$q~_9J^r3yW%d_fihlL57>2BW z^{@=HtnRFx05lzHr}8g?+{OSc=mw?|Q-!I<+`-gfYGG(E4DEvkLB?WrlK&bDL=>+M>6&yMr=vh(uD%$3=nzeZKDSr= z*{c~==K(j!W2s9-#HZ)K5awSNB%%%eK5JGe*Ny1~l*9DE&_N2O4~7o?2h|ZXgc$*L zBW4(e4pT6rFm%L6>Ngh;=00W)A>jk&0?ZU<8Z(0dx{U)8A^oU zPw;~zL&st01nmp>?%*RuvRT&W_JUv|M_`V4*#0{5WgqZTx_P=gtOi|RUSi&W3xPpp zuW5BSBVXzDg1UgHu=G5Q`0xO8-~%N5Rqi9^2d%G|&zLWmub6L`@3itKVaNrBPQj2X z47q{6Vi~~y^{aKBre*S^eS-R}fPnR|)BbfU;l5Ry+)5YR0%V1pd9zGu>^3Y0#9x8x zn6S)P7A(-L!3&>(A$J(^fT6P>W#xxn{pu&UO!(K?Ty}Db2Wh$}AdH>duj?rG%k4b4 zavaZ!R~*ZW6#z~z>~<_4LX&eabRJZiMQ`S}>TQ;f4YfG}9Dm>l_LUw>V5L^)1{O$Q z@6}a>mBY%fh$vPXo7uHf5y5!CSy+Ivf^BLmwh2}dyX#jaKo(v4Rf#HAeRVovfl#`P zfbTTS7pslcMUtk#)S+O35CZWBD@g`e5Q0oW#>@A=kfyG8Mlxg?VIRmYWrsM*l#iplYu*wIJ zaRg~}H5!qvh%7|R3ky$IS1@CBT-+Q^di={$MilauoJODq&^9u^mup)g(+R9AGWI92 zE?6*~gJB3T`Oqw^8-pMgOu8_{(g;Uh0};8jzOLa)2U+C7bHl^uoQyy~n)6{77w?sH zU6M5&i$dBw4g&hzoq&P0>Lt?ma&quQyx;n+=bYW$XgcTe-6(V&9GKNKaf&^U1Xux= z)=?10aX`*%*U_VjPD*k|j)2qQ*79nau>O5cUB+Go<4nh|ut2UxEnh2-z0OdQh4sby zVZjha!w`^FiK~DWHV7NK7GT1LVZ&i428Lo0riU1ut3!hzXM$QDjlW|~*cfd5-zrGJ zCc;oW3?MW}i2x7PlMgU`bHTAdYvL?p?+5hqBTzm?$roSD) zjIcY|6<-cgnJhp}oL!Mtki*&NtNIoe1Zx*y%dr*M+t^BM6}B3C2U~-!#n!=4CJa$v z2#_QThO%KO2ZnCIP%aGR!BBnywjK*$2k;}z;*Y(DZN;`>+hM2xhRSIa0M{#*!q60q zVuMkVFbc#xBXH(2VEP*ni3>^#9ytXJC)?lZq6>anTr90_11DE!Pq5&zpdvk|qlZ0Rz!j+g!9^+u0NnB;a4j-| zKm#TKta7l9!57-CSRS@6v`b}w!)>r5Sg`wtf(2r?kb(usLJ|Ef|1l~RI|*PX>=bqy zhJZFy_G=ByVHf{44VSPFVWa}6$--@95XNnWp;`oEd4Tj)d`+t~&SeSER}i0t zFtOF>0}$8=nB&^K%a+OCpBp&2opL(sPG@U4X5iJp0q$D2>eawuabP!RE)Ivo<5+QQ zICdNdjuVFN!caX7HNa3K3^lV%;Q80v)~ za4Gz-kJNrdlL6lF!-yqhNAKb?2WF=SJs?Ke+8G5F1f98o6eI)>F|UE@y`o|kAQH#a0PvN6-0*_ifdlRu z9Dv{3V5prYVS#TI!~krR+Uh?Ofb7o)w%U$eyOAS}l;sp@`&~wHYB+UyE%Kl1&A+XrGVF)a?E*}t? zCcBD>uOXM78|@zARfKcZHm8X>oB=~)4$cr~gfqsO;0Q1TRPBBk8ib)C7#aq11ZRdL zfmh*U@yA)({%YKs)-7bz5#H8k547Q*x8+m z+l#;#|1r;U2e3>yI~*|8fO0SZ+FO2#`HbCqlS+T!KmOx*P8FKZo2>ac7VoV?jXt%7Cm4CcUHw4nSC9 z;HB4$!7mD|o%U3mCsN&io!?#>99sycI_84h`!WT`XysYGewZlM*2v5 zBP;&`3{CoI0aW&v^$m7kgH1PJtNSmt7LIa7y@h^NR|6A^mA3I$CcymFko_U6@YuNfkP|VVF>J%eNH>F66{QUm4mCn z)dB``7YCT>pD^@<#zLOL&@&*=kg?eVLf1g(FAXrpwEzh2AbMTz#Vvf`p97yd@{3Q5 z_80Bz@&`SA<%tW(C!kAMnTWb>Ztji%`aSEUpvQ+el$_juJrYn|Q<*zb6zu6z0Gm6( z(L8@k^#G~zzY1KIT2mHj{y%mE7<@p5ad6^u0a^ptHiE#>L=aHx?(w&FR(gRP5d=0& z{w?)?tru>t$Nrmc$Ro=Eob&O2=?0A!;&kfJUjW#a@?dlSN%RcYcRJ?g?kz*4 z^>UbjCJ=DnX#xQPCOi-b|BvH?){KkoGJ6LG>2HBjIQntT(03YZ!*2wv4ZjISt^1qb zRapsaB3A_GfUIB}_-%NWe_)t+G=nf63#0x(7$$z1Vd7bVaKHomWW%aji08xuc;>%U z3-LmDVY~>|6vvMjM;Imwf>E1c6c&bn0J#sNaH|XxFNK%?cghxC0l$Mm3a<#GP%vsE z!YNUkXv!8il;rb`?0<78$#1I%uZmZrYg;f14WqWKC`WY4X)`ot<8|=5cs;y6jM@sL zw!tVS7{$E0Xt1XA<>0e+Iefoj?xAByfaLtcZqy|4lVfBYF3#SNqQ5mKTAeWdmhoQ~2qC+@RA zVj&Sl(Uxvn(E%o!Z)IfzcgnUM z*j}=NVE8c5S_EuB=6CjS58t}NJ^&MvUCTbY5cbiH@4@%t`(TtDi~{^q0Y>fkUt}NC zboR0HKeLZD1j0W8Bx+*F11duvjM{~~m_B00YylK}#?VLw<5WqbtFn*Q+JdhU$|41U z#}&1kPLGw6?-5S$0Y<6(tq^Fd5)8+F{5J-04HIq101Z`tr{NF$&t(M$r3a(bepg^v zHvk2O6=FrPZe-oWx|wwgj8cbDpmj|cr3It3VU+GFF@f^^y8`pSrLeH_u=4#~VPO?O z6c&`u8g~(^2&>rN6^egU5NLKEs~jt^z>&=bt9CYUz94g-ejV)EB|>FYK+L}XHaoqA zove!V@TLD-3shDmq;|poqBFE;i?zE^Sa-9kSkvGd+J+Pk1_1_121N!H22F4l+xWJn zZO^xT-1dX<4@L+%UW}265zUBYlwdSxJizG5c%IQ49Po6R@hT(Cc%9LYF@Q0MF@%xI zm<%3~~KEMdIKSixAuSi^Xiv5~Qv@jl}RCKe_hrk&u}6K|#@rV6G$riVOL@hki~JRZ-6 z=L4FO3|=0;1FwkRgSW;X1OoIF-VJ{S?}2}f|IE6cm5r5ym5Wt~Rg_hnRgzViRg+bl zRhLztmB4DsN@BHOwPM}NYR`I%^)%}xRzKEo)_B$w)@;^t)@s&v)&bU6te@D}*ksxC z*-Y8&*&Nx~WaMP#=U<%fI6rWH;)1vsxmdZlxOlj>bMbRYaqZ&L z<1*qh;UaQba9MGYx%P57ah>LJ=Q_)Ej?0Vd0+%0G09O!K2v-nryL?v31=xwmr5aw~Ida%*$za_e&&aPQ+j&h5c{iTgUYA9nzE z5O)Z7JU4~Akh_AriMx%vgS(5npL>vdn0u6af%^sbEABVkZ@J%df8<%uvw;W2vx#R5 z&o&+=9zh-rp1nMWc^r9;@*L+m!*iDB9FG?d%;U@B&lAW~#B-achNq6Fo~My#lxKnG z8P98;zj)s9eBfQjyN#EFmy?%^mxot^SCvdp;FD13qIu0-qV5 zIiDrp5k5D*3w)ROuJHNrUE}lRi{Ojmi{XpoOW;f5OW`Zy>*jmN_loZuKg7R@e+&OM zemp-rKPNvoKOet1zZAa=zZ}06zdgSr|55(q{3rNb_|NfQ;}7AF$po*ZbAW6_%&_d8k@UY+! zK?gx6L3hFPg5H7`1$_js3Hl293*HrcC$vszi_kV9CLtCfj1ZR)kI;4@ej!02VWGo9 znL>TSXklJqL1AHGQDG@z8DTkL1>qyYk-|yBDZ+We<-)gxtAy_e*9zYi?hx)0?h)=2 z9uOW99ua;bvO$DbL{vmVL`pyrM5nmC1krA`2o*B9BDgiu@2|5M3|2K@=srNfaxJ7iAOW z5akl(5#27jQ`AhiIMD>rB+KRdHDSy11Wsq2V{#N{h_-FC2;y)x9Bz8!glt_~pl$ep2m6(%Qka#8WPU3^aCyDP8 zKPA^m{vo+dl35ZhiIo(R6p<8@l#rB?%$K|+Su1&0vQe^AvPZICa!_(c@}cBo$tRM} zB>$3pFZoIGtK@enloVEqTS{C?LP}CfT1rJqRZ2}tL&`*oBxNZ@ma>yNAaz*EK`L2l zP-;f%vD8zk7gDdJ{*wAC^+S4{^akmT(wn9ArG2H_rAMUiOHWEqOD{+-Nk5i;BK<*T zoy-QAjWSzgw#hKbaL91WY?l#`5tb2?k&w}pv6VS1b6Lhm=9-MJOqfihOteg_Oqxul zOqNWJOsC9{%(%=0nQ56>nddU^WWLL;mxW|E$!?Lw%ks%e%PPq3lvR>dl~tG3lGTwl zleLw#mpvrwAnPQ1Ox9i2Q`SrNqU;q}SoXSXqHMWruk4uYec4IbY1v1zPh_9TzL5PO z`&ssz><>8sIZ1E{n4+AroT{9jPo>?9(FCwokZzu04e@xz4 z{-pd_`SbGL@)zZObxyjr<4s&+^~oe<*BLz$x%6 z2q*|D2!q`}>Izy4x(a&~j1&k8HVU>1_6mm-92AZ!99QsEIIrNXa7p3w4%CiKJGSg# z+!44VZb!n7q#da{*>(!;6xk`ZQ*vkd&c>b1JMZmmSJYJ`DOxI$756FbS3ID2LGikx zzhaPLh+?YZZN)0Z8pXScjY{fDdz8$ST$MbPVwDP%s+4M!?kY7ZwJ5bJ^(hT1jVO&N zJyv?6^jztc(qFqy?K-#X`Y!)nLAyeCMeK^&mAor$SLQD2uJT>CcUAAI-Bqu=TUkfh zOxZ%&T6wRsowB{MxAHY*KjlE>VC59$H04a?Eae-!Wp?k{t+(4?xAAV`Zqjax-FCYV z>^{8PVfWeH=XQJVzO?)5?yo8vRM0A{DjX`@D*P%!DxxalDoQHKDk>`KDp@LJDz{WB zRH{_jRE1O}Rb^D=Rd=eYs%ofetLmxlQ9Y&_tXimAp?X`jO0`dQT=jwKwCbGd6V<1x z&sE>6tykNu#;nGzCa5N&Caxx>wnI%xZMT}5nueNznz0&D%}mWf?V_5mT9jI>T7p`# zTAEs>T9(=kwNkY*wOeYnYV~SOYAtF#YW-?MY9nfo)n2Q;Rr{d!Nu5odPhC`9LS0&2 zPF+ELr@E24g}RNpt-8JXL3I~(Z}m&+SJkhn`>6-2ho~p2r>Li^Q`EE7bJYvfi`4I^ z*Q(!DZ&ZJ;v0h_?21;YIhK7cT22sOI!$KoKBUU3`BT*woV?bkCV^(8cV@Z=kQ$$lt zQ$kZ(^N6OKrn{!6rkCbL&C8lenpDjk%{(sI^1tret|p;e?+s&z~2wpO)Pjnu~CD>G10C>&WQH>Fm(a z($Uq~qhq8)&@t7q(XrLB*Ey(jR_DBqx6TEf%Q`+fVLFjIX*!uYSvog#@^uPzDs-xJ zYIN#!26aYs#&pJY9_UQ#Jk|NE^G)Zc?s{EFca!c`T_#-~T|QkwT@hVzT`65zT?O5p zy4t$By860?x=p%$x&yjHx}$ogdUksDdI$B6==JGM>P_p->MiJ#^zHQz>L1p3)SuOV zuK!a1wf@^ZNA|ewIkU%O&$&I1_q^Nl(_p;;WU$F#s{xY%hXJ?2b_0F`Ap=nZaRYsW zV+J_}cMOIMCJkl`<_#7NUK)HgWH9{05M{X4kjW5jh&7Zp)H5_Uv@ojJ6u#jM$7gjkt}(jU