#324: update GA to latest version to fix problem with SDK 7

This commit is contained in:
Patrick Santana 2013-10-14 17:02:26 -03:00
parent c096d45c78
commit 5cfe719840
154 changed files with 3770 additions and 6852 deletions

View file

@ -0,0 +1,130 @@
//
// RootViewController.m
// CuteAnimals
//
// Copyright 2012 Google, Inc. All rights reserved.
//
#import "AppDelegate.h"
#import "RootViewController.h"
#import "CategoryViewController.h"
#import "ImageViewController.h"
#import "GAI.h"
#import "GAIDictionaryBuilder.h"
@interface RootViewController ()
@property(nonatomic, strong) NSArray *items;
@property(nonatomic, weak) AppDelegate *delegate;
@end
@implementation RootViewController
- (id)initWithNibName:(NSString *)nibName
bundle:(NSBundle *)nibBundle {
self = [super initWithNibName:nibName
bundle:nibBundle];
if (self) {
_delegate = [UIApplication sharedApplication].delegate;
self.title = @"Cute Animals";
self.screenName = @"root";
}
return self;
}
- (void)dispatch {
NSMutableDictionary *event =
[[GAIDictionaryBuilder createEventWithCategory:@"UI"
action:@"buttonPress"
label:@"dispatch"
value:nil] build];
[[GAI sharedInstance].defaultTracker send:event];
[[GAI sharedInstance] dispatch];
}
- (void)crash {
[NSException raise:@"There is no spoon."
format:@"Abort, retry, fail?"];
}
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.leftBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:@"Dispatch"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(dispatch)];
self.navigationItem.rightBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:@"Crash"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(crash)];
self.items =
[[self.delegate.images allKeys]
sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
[self.tableView reloadData];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation {
return NO;
}
#pragma mark UITableViewDelegate methods
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:NO];
if (indexPath.row < 0 || indexPath.row >= self.items.count) {
NSLog(@"IndexPath %d out of bounds!", indexPath.row);
return;
}
NSString *category = (self.items)[indexPath.row];
NSString *nib = ([[UIDevice currentDevice] userInterfaceIdiom] ==
UIUserInterfaceIdiomPhone) ? @"CategoryViewController_iPhone" :
@"CategoryViewController_iPad";
CategoryViewController *categoryController =
[[CategoryViewController alloc] initWithNibName:nib
bundle:nil
category:category];
[self.delegate.navController pushViewController:categoryController
animated:YES];
}
#pragma mark UITableViewDataSource methods
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
return self.items.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row < 0 || indexPath.row >= self.items.count) {
NSLog(@"IndexPath %d out of bounds!", indexPath.row);
return nil;
}
NSString *category = (self.items)[indexPath.row];
static NSString *CellId = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellId];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:CellId];
cell.textLabel.font = [UIFont systemFontOfSize:14];
cell.detailTextLabel.font = [UIFont systemFontOfSize:12];
}
NSString *label = [NSString stringWithFormat:@"Cute %@ Pictures!", category];
cell.textLabel.text = label;
NSUInteger imageCount = [(self.delegate.images)[category] count];
cell.detailTextLabel.text = [NSString stringWithFormat:@"%u image(s).",
imageCount];
return cell;
}
@end