Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Merge pull request #149 from birarda/18413

Code Review for Job #18413
  • Loading branch information...
commit 1ec726ba66754312083e1d5fa914b200cb083fe1 2 parents d994d87 + 6842c17
Tomáš Horáček authored November 15, 2012

Showing 134 changed files with 787 additions and 745 deletions. Show diff stats Hide diff stats

  1. 990  candpiosapp.xcodeproj/project.pbxproj
  2. 2  candpiosapp/AppDelegate.m
  3. 27  candpiosapp/Checkin/CheckInDetailsViewController.m
  4. 4  candpiosapp/Checkin/CheckInListViewController.m
  5. 101  candpiosapp/Checkin/CheckinStoryboard_iPhone.storyboard
  6. 0  candpiosapp/{Utils → Common}/CPApiClient.h
  7. 0  candpiosapp/{Utils → Common}/CPApiClient.m
  8. 3  candpiosapp/{Utils → Common}/CPConstants.h
  9. 0  candpiosapp/{Utils → Common}/CPConstants.m
  10. 0  candpiosapp/{Utils → Common}/CPLinkedInAPI.h
  11. 0  candpiosapp/{Utils → Common}/CPLinkedInAPI.m
  12. 18  candpiosapp/Common/CPMacros.h
  13. 4  candpiosapp/{Utils → Common}/CPUtils.h
  14. 12  candpiosapp/{Utils → Common}/CPUtils.m
  15. 0  candpiosapp/{Utils → Common}/CPapi.h
  16. 0  candpiosapp/{Utils → Common}/CPapi.m
  17. 0  candpiosapp/{Utils → Common}/NSDictionary+JsonParserWorkaround.h
  18. 0  candpiosapp/{Utils → Common}/NSDictionary+JsonParserWorkaround.m
  19. 0  candpiosapp/{Utils → Common}/Settings.h
  20. 0  candpiosapp/{Utils → Common}/Settings.m
  21. 0  candpiosapp/{Utils → Common/UI}/CPAlertView.h
  22. 0  candpiosapp/{Utils → Common/UI}/CPAlertView.m
  23. 1  candpiosapp/Common/{ → UI}/CPBaseTableViewController.h
  24. 8  candpiosapp/Common/{ → UI}/CPBaseTableViewController.m
  25. 0  candpiosapp/{Utils → Common/UI}/CPPageControl.h
  26. 0  candpiosapp/{Utils → Common/UI}/CPPageControl.m
  27. 0  candpiosapp/Common/{ → UI}/CPPlaceholderTextView.h
  28. 0  candpiosapp/Common/{ → UI}/CPPlaceholderTextView.m
  29. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/CPUserAction.h
  30. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/CPUserAction.m
  31. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/CPUserActionCell.h
  32. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/CPUserActionCell.m
  33. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/UIViewController+CPUserActionCellAdditions.h
  34. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/UIViewController+CPUserActionCellAdditions.m
  35. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/exchange-contacts-on.aif
  36. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/quick-action-chat.png
  37. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/quick-action-chat@2x.png
  38. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/quick-action-endorse.png
  39. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/quick-action-endorse@2x.png
  40. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/quick-action-exchange-cards.png
  41. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/quick-action-exchange-cards@2x.png
  42. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/send-love-on.aif
  43. 0  candpiosapp/Common/{ → UI}/CPSwipeableTableViewCell/send-message-on.aif
  44. 0  candpiosapp/Common/{ → UI}/CPTouchableView.h
  45. 0  candpiosapp/Common/{ → UI}/CPTouchableView.m
  46. 3  candpiosapp/{Utils → Common/UI}/CPUIHelper.h
  47. 13  candpiosapp/{Utils → Common/UI}/CPUIHelper.m
  48. 0  candpiosapp/{Utils → Common/UI}/UIColor+EasyRGB.h
  49. 0  candpiosapp/{Utils → Common/UI}/UIColor+EasyRGB.m
  50. 0  candpiosapp/{Utils → Common/UI}/UIImage+ImageBlur.h
  51. 0  candpiosapp/{Utils → Common/UI}/UIImage+ImageBlur.m
  52. 0  candpiosapp/{Utils → Common/UI}/UIViewController+isModal.h
  53. 0  candpiosapp/{Utils → Common/UI}/UIViewController+isModal.m
  54. 0  candpiosapp/{Utils → Common/UI}/images/buttons/back-button.png
  55. 0  candpiosapp/{Utils → Common/UI}/images/buttons/back-button@2x.png
  56. 0  candpiosapp/{Utils → Common/UI}/images/buttons/button-grey.png
  57. 0  candpiosapp/{Utils → Common/UI}/images/buttons/button-grey@2x.png
  58. 0  candpiosapp/{Utils → Common/UI}/images/buttons/button-turquoise-32pt.png
  59. 0  candpiosapp/{Utils → Common/UI}/images/buttons/button-turquoise-32pt@2x.png
  60. 0  candpiosapp/{Utils → Common/UI}/images/buttons/button-turquoise.png
  61. 0  candpiosapp/{Utils → Common/UI}/images/buttons/button-turquoise@2x.png
  62. 0  candpiosapp/{Utils → Common/UI}/images/buttons/divider-button.png
  63. 0  candpiosapp/{Utils → Common/UI}/images/buttons/divider-button@2x.png
  64. 0  candpiosapp/{Utils → Common/UI}/images/buttons/header-button.png
  65. 0  candpiosapp/{Utils → Common/UI}/images/buttons/header-button@2x.png
  66. 0  candpiosapp/{Utils → Common/UI}/images/common/bullet.png
  67. 0  candpiosapp/{Utils → Common/UI}/images/common/bullet@2x.png
  68. 0  candpiosapp/{Utils → Common/UI}/images/common/checkbox-checked.png
  69. 0  candpiosapp/{Utils → Common/UI}/images/common/checkbox-checked@2x.png
  70. 0  candpiosapp/{Utils → Common/UI}/images/common/checkbox-unchecked.png
  71. 0  candpiosapp/{Utils → Common/UI}/images/common/checkbox-unchecked@2x.png
  72. 0  candpiosapp/{Utils → Common/UI}/images/common/expand-arrow-down.png
  73. 0  candpiosapp/{Utils → Common/UI}/images/common/expand-arrow-down@2x.png
  74. 0  candpiosapp/{Utils → Common/UI}/images/common/logo.png
  75. 0  candpiosapp/{Utils → Common/UI}/images/common/logo@2x.png
  76. 0  candpiosapp/{Utils → Common/UI}/images/common/page-current.png
  77. 0  candpiosapp/{Utils → Common/UI}/images/common/page-current@2x.png
  78. 0  candpiosapp/{Utils → Common/UI}/images/common/page-normal.png
  79. 0  candpiosapp/{Utils → Common/UI}/images/common/page-normal@2x.png
  80. 0  candpiosapp/{Utils → Common/UI}/images/common/refresh-scroll-view.png
  81. 0  candpiosapp/{Utils → Common/UI}/images/common/refresh-scroll-view@2x.png
  82. 0  candpiosapp/{Utils → Common/UI}/images/textures/cell-shadow-harsh.png
  83. 0  candpiosapp/{Utils → Common/UI}/images/textures/cell-shadow-harsh@2x.png
  84. 0  candpiosapp/{Utils → Common/UI}/images/textures/header-shadow.png
  85. 0  candpiosapp/{Utils → Common/UI}/images/textures/header-shadow@2x.png
  86. 0  candpiosapp/{Utils → Common/UI}/images/textures/header.png
  87. 0  candpiosapp/{Utils → Common/UI}/images/textures/header@2x.png
  88. 0  candpiosapp/{Utils → Common/UI}/images/textures/menu-background.png
  89. 0  candpiosapp/{Utils → Common/UI}/images/textures/menu-header-background.png
  90. 0  candpiosapp/{Utils → Common/UI}/images/textures/menu-header-background@2x.png
  91. 0  candpiosapp/{Utils → Common/UI}/images/textures/paper-texture.png
  92. 0  candpiosapp/{Utils → Common/UI}/images/textures/paper-texture@2x.png
  93. 0  candpiosapp/{Utils → Common/UI}/images/textures/perforated-skin.png
  94. 0  candpiosapp/{Utils → Common/UI}/images/textures/perforated-skin@2x.png
  95. 0  candpiosapp/{Utils → Common/UI}/images/textures/selected-menu-background.png
  96. 0  candpiosapp/{Utils → Common/UI}/images/textures/texture-diagonal-noise-dark.png
  97. 0  candpiosapp/{Utils → Common/UI}/images/textures/texture-diagonal-noise-dark@2x.png
  98. 0  candpiosapp/{Utils → Common/UI}/images/textures/texture-diagonal-noise-light.png
  99. 0  candpiosapp/{Utils → Common/UI}/images/textures/texture-diagonal-noise-light@2x.png
  100. 0  candpiosapp/{Utils → Common/UI}/images/textures/texture-diagonal-noise.png
  101. 0  candpiosapp/{Utils → Common/UI}/images/textures/texture-diagonal-noise@2x.png
  102. 0  candpiosapp/{Utils → Common/UI}/images/textures/texture-lightpaperfibers.png
  103. 0  candpiosapp/{Utils → Common/UI}/images/textures/texture-lightpaperfibers@2x.png
  104. 32  candpiosapp/Contacts/ContactListViewController.m
  105. BIN  candpiosapp/Contacts/images/contacts-blank-slate.png
  106. BIN  candpiosapp/Contacts/images/contacts-blank-slate@2x.png
  107. BIN  candpiosapp/Contacts/images/virtual-check-in-badge.png
  108. BIN  candpiosapp/Contacts/images/virtual-check-in-badge@2x.png
  109. 0  candpiosapp/{Utils → Foursquare}/FoursquareAPIClient.h
  110. 0  candpiosapp/{Utils → Foursquare}/FoursquareAPIClient.m
  111. BIN  candpiosapp/Icon/Default-568h@2x.png
  112. 5  candpiosapp/Login/SignupController.h
  113. 16  candpiosapp/Login/SignupController.m
  114. 31  candpiosapp/Login/SignupStoryboard_iPhone.storyboard
  115. 8  candpiosapp/Login/TutorialViewController.m
  116. BIN  candpiosapp/Map/images/map-marker.png
  117. BIN  candpiosapp/Map/images/map-marker@2x.png
  118. BIN  candpiosapp/Map/images/map-marker@2x~iphone.png
  119. BIN  candpiosapp/Map/images/map-marker~iphone.png
  120. 2  candpiosapp/Navigation/CPThinTabBar.h
  121. 15  candpiosapp/Navigation/CPThinTabBar.m
  122. 6  candpiosapp/User/UserListTableViewController.m
  123. 18  candpiosapp/User/UserProfileStoryboard_iPhone.storyboard
  124. 170  candpiosapp/User/UserProfileViewController.m
  125. 0  candpiosapp/User/images/{available-for-icon~iphone.png → available-for-icon.png}
  126. 0  candpiosapp/User/images/{available-for-icon@2x~iphone.png → available-for-icon@2x.png}
  127. 0  candpiosapp/User/images/{checked-in-location~iphone.png → checked-in-location.png}
  128. 0  candpiosapp/User/images/{checked-in-location@2x~iphone.png → checked-in-location@2x.png}
  129. 0  candpiosapp/User/images/{others-at-venue~iphone.png → others-at-venue.png}
  130. 0  candpiosapp/User/images/{others-at-venue@2x~iphone.png → others-at-venue@2x.png}
  131. 27  candpiosapp/Venue/VenueInfoViewController.m
  132. 7  candpiosapp/Venue/VenueListTableViewController.m
  133. 3  candpiosapp/candpiosapp-Prefix.pch
  134. 6  candpiosapp/en.lproj/MainStoryboard_iPhone.storyboard
990  candpiosapp.xcodeproj/project.pbxproj
488 additions, 502 deletions not shown
2  candpiosapp/AppDelegate.m
@@ -476,7 +476,7 @@ - (void)customAppearanceStyles
476 476
     [[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIFont fontWithName:@"LeagueGothic" size:16]
477 477
                                                                                      forKey:UITextAttributeFont]
478 478
                                                 forState:UIControlStateNormal];
479  
-    [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(1, -1)
  479
+    [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(1, ([CPUtils systemVersionGreaterThanOrEqualTo:6.0] ? 1 : -2))
480 480
                                                          forBarMetrics:UIBarMetricsDefault];
481 481
     [[UIBarButtonItem appearance] setTitlePositionAdjustment:UIOffsetMake(0, 0)
482 482
                                                forBarMetrics:UIBarMetricsDefault];
27  candpiosapp/Checkin/CheckInDetailsViewController.m
@@ -38,6 +38,7 @@ @interface CheckInDetailsViewController() <UITextFieldDelegate, UIScrollViewDele
38 38
 @property (weak, nonatomic) IBOutlet UILabel *threeHoursLabel;
39 39
 @property (weak, nonatomic) IBOutlet UILabel *fiveHoursLabel;
40 40
 @property (weak, nonatomic) IBOutlet UILabel *sevenHoursLabel;
  41
+@property (weak, nonatomic) IBOutlet UIImageView *mapPinImageView;
41 42
 @property (weak, nonatomic) UIImageView *infoBubbleArrow;
42 43
 @property (nonatomic) int checkInDuration;
43 44
 @property (nonatomic) BOOL sliderButtonPressed;
@@ -97,18 +98,7 @@ - (void)viewDidLoad
97 98
     bubbleSub.layer.mask = maskLayer;
98 99
     
99 100
     // add bubbleSubview to the userInfoBubble
100  
-    [self.userInfoBubble insertSubview:bubbleSub atIndex:0];    
101  
-    
102  
-    
103  
-    // make an MKCoordinate region for the zoom level on the map
104  
-    MKCoordinateRegion region = MKCoordinateRegionMake(self.venue.coordinate, MKCoordinateSpanMake(0.006, 0.006));
105  
-    [self.mapView setRegion:region];
106  
-    
107  
-    // this will always be the point on iPhones up to iPhone4
108  
-    // if this needs to be used on iPad we'll need to do this programatically or use an if-else
109  
-    CGPoint moveRight = CGPointMake(71, 136);
110  
-    CLLocationCoordinate2D coordinate = [self.mapView convertPoint:moveRight toCoordinateFromView:self.mapView];
111  
-    [self.mapView setCenterCoordinate:coordinate animated:NO];
  101
+    [self.userInfoBubble insertSubview:bubbleSub atIndex:0];
112 102
     
113 103
     // set LeagueGothic font where applicable
114 104
     for (UILabel *labelNeedsGothic in [NSArray arrayWithObjects:self.checkInLabel, self.durationHeader, nil]) {
@@ -149,12 +139,25 @@ - (void)viewWillAppear:(BOOL)animated
149 139
     }
150 140
 }
151 141
 
  142
+- (void)viewDidAppear:(BOOL)animated
  143
+{
  144
+    [super viewDidAppear:animated];
  145
+    
  146
+    // make an MKCoordinate region for the zoom level on the map
  147
+    MKCoordinateRegion region = MKCoordinateRegionMake(self.venue.coordinate, MKCoordinateSpanMake(0.006, 0.006));
  148
+    [self.mapView setRegion:region];
  149
+    
  150
+    CGPoint mapPinCenter = [self.mapView convertPoint:self.mapPinImageView.center fromView:self.blueOverlay];
  151
+    [CPUIHelper shiftMapView:self.mapView forPinCenterInMapview:mapPinCenter];
  152
+}
  153
+
152 154
 - (BOOL)textFieldShouldReturn:(UITextField *)textField
153 155
 {
154 156
     [textField resignFirstResponder];
155 157
     return YES;
156 158
 }
157 159
 
  160
+
158 161
 // customer getter for infoBubbleArrow
159 162
 // lazily instantiates it if it's not on the screen yet
160 163
 -(UIImageView *)infoBubbleArrow
4  candpiosapp/Checkin/CheckInListViewController.m
@@ -591,6 +591,10 @@ - (void)keyboardWillMove:(NSNotification *)notification beingShown:(BOOL)beingSh
591 591
         // bring the mapView back down
592 592
         mapShift.origin.y = self.searchBar.frame.size.height;
593 593
         
  594
+        // pre-grow the tableview by the height of the navigation bar so the animation isn't ugly
  595
+        tableShift.size.height += 44;
  596
+        self.tableView.frame = tableShift;
  597
+        
594 598
         // slide the tableView back down and shrink it back to previous size
595 599
         tableShift.size.height = self.view.frame.size.height - mapShift.size.height - self.searchBar.frame.size.height;
596 600
         tableShift.origin.y = mapShift.origin.y + mapShift.size.height;
101  candpiosapp/Checkin/CheckinStoryboard_iPhone.storyboard
... ...
@@ -1,8 +1,8 @@
1 1
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2  
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2843" systemVersion="12C60" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="5pX-Lb-n2Z">
  2
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2844" systemVersion="12C60" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="5pX-Lb-n2Z">
3 3
     <dependencies>
4 4
         <deployment defaultVersion="1536" identifier="iOS"/>
5  
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1929"/>
  5
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1930"/>
6 6
     </dependencies>
7 7
     <scenes>
8 8
         <!--Check In List View Controller - Check In-->
@@ -22,7 +22,7 @@
22 22
                             </mapView>
23 23
                             <tableView opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="2H0-SI-Sqf">
24 24
                                 <rect key="frame" x="0.0" y="159" width="320" height="257"/>
25  
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
  25
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
26 26
                                 <color key="backgroundColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
27 27
                                 <prototypes>
28 28
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="gray" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="WFHCheckInListTableCell" rowHeight="60" id="d53-uh-L1i" customClass="CheckInListCell">
@@ -381,7 +381,7 @@
381 381
                         <subviews>
382 382
                             <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="OYo-pF-ieq" customClass="TPKeyboardAvoidingScrollView">
383 383
                                 <rect key="frame" x="0.0" y="0.0" width="320" height="416"/>
384  
-                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
  384
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
385 385
                                 <subviews>
386 386
                                     <mapView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" mapType="standard" id="QW5-Gd-uZB">
387 387
                                         <rect key="frame" x="0.0" y="0.0" width="320" height="229"/>
@@ -389,23 +389,11 @@
389 389
                                     </mapView>
390 390
                                     <view contentMode="scaleToFill" id="MX5-sA-hqL">
391 391
                                         <rect key="frame" x="0.0" y="0.0" width="320" height="229"/>
392  
-                                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  392
+                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
393 393
                                         <subviews>
394  
-                                            <button opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="wd4-JM-Egc">
395  
-                                                <rect key="frame" x="234" y="55" width="41" height="41"/>
396  
-                                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
397  
-                                                <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
398  
-                                                <state key="normal" image="map-marker.png">
399  
-                                                    <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
400  
-                                                    <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
401  
-                                                </state>
402  
-                                                <state key="highlighted">
403  
-                                                    <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
404  
-                                                </state>
405  
-                                            </button>
406 394
                                             <view contentMode="scaleToFill" id="QI7-2q-JQT">
407 395
                                                 <rect key="frame" x="10" y="38" width="173" height="75"/>
408  
-                                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  396
+                                                <autoresizingMask key="autoresizingMask"/>
409 397
                                                 <subviews>
410 398
                                                     <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="CHECK IN AT..." lineBreakMode="tailTruncation" minimumFontSize="10" id="KoU-s2-WaU">
411 399
                                                         <rect key="frame" x="10" y="0.0" width="173" height="39"/>
@@ -436,6 +424,10 @@
436 424
                                                 </subviews>
437 425
                                                 <color key="backgroundColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="0.69999999999999996" colorSpace="calibratedRGB"/>
438 426
                                             </view>
  427
+                                            <imageView userInteractionEnabled="NO" tag="3462" contentMode="scaleToFill" image="map-marker.png" id="9Eb-1n-IXx">
  428
+                                                <rect key="frame" x="235" y="55" width="40" height="36"/>
  429
+                                                <autoresizingMask key="autoresizingMask" flexibleMaxY="YES"/>
  430
+                                            </imageView>
439 431
                                         </subviews>
440 432
                                         <color key="backgroundColor" red="0.4039215686" green="0.62352941179999999" blue="0.63921568630000003" alpha="0.5" colorSpace="calibratedRGB"/>
441 433
                                     </view>
@@ -445,7 +437,7 @@
445 437
                                     </scrollView>
446 438
                                     <view contentMode="scaleToFill" id="fk3-HP-Rqj">
447 439
                                         <rect key="frame" x="0.0" y="229" width="320" height="188"/>
448  
-                                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  440
+                                        <autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
449 441
                                         <subviews>
450 442
                                             <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="34" contentMode="left" text="What are you working on right now?" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="dCW-JF-dCz">
451 443
                                                 <rect key="frame" x="15" y="5" width="290" height="33"/>
@@ -562,7 +554,7 @@
562 554
                                     </view>
563 555
                                     <view alpha="0.0" contentMode="scaleToFill" id="hJZ-rQ-25X">
564 556
                                         <rect key="frame" x="10" y="172" width="193" height="65"/>
565  
-                                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  557
+                                        <autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
566 558
                                         <subviews>
567 559
                                             <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="&quot;This is the user's status&quot;" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="10" id="gzl-sw-w15">
568 560
                                                 <rect key="frame" x="14" y="23" width="169" height="42"/>
@@ -597,6 +589,7 @@
597 589
                         <outlet property="fiveHoursLabel" destination="Vdp-oJ-Fay" id="GRj-y6-w9r"/>
598 590
                         <outlet property="infoBubbleNickname" destination="xwp-Zl-7Vm" id="vqz-KK-7D1"/>
599 591
                         <outlet property="infoBubbleStatus" destination="gzl-sw-w15" id="1XA-Se-t0K"/>
  592
+                        <outlet property="mapPinImageView" destination="9Eb-1n-IXx" id="HAt-Cf-G9g"/>
600 593
                         <outlet property="mapView" destination="QW5-Gd-uZB" id="0Ih-5u-8Fb"/>
601 594
                         <outlet property="oneHourLabel" destination="0Vb-1f-sge" id="anq-gQ-vRJ"/>
602 595
                         <outlet property="otherUsersScrollView" destination="szL-LL-Gvb" id="j67-8k-pqJ"/>
@@ -640,75 +633,9 @@
640 633
         <image name="check-in-list-error.png" width="24" height="19"/>
641 634
         <image name="checked-in-location.png" width="16" height="16"/>
642 635
         <image name="list-arrow-dark-grey.png" width="11" height="16"/>
643  
-        <image name="map-marker.png" width="16" height="16"/>
  636
+        <image name="map-marker.png" width="40" height="36"/>
644 637
         <image name="wfh-icon.png" width="30" height="21"/>
645 638
     </resources>
646  
-    <classes>
647  
-        <class className="CPPlaceholderTextView" superclassName="UITextView">
648  
-            <source key="sourceIdentifier" type="project" relativePath="./Classes/CPPlaceholderTextView.h"/>
649  
-        </class>
650  
-        <class className="ChangeHeadlineViewController" superclassName="UIViewController">
651  
-            <source key="sourceIdentifier" type="project" relativePath="./Classes/ChangeHeadlineViewController.h"/>
652  
-            <relationships>
653  
-                <relationship kind="action" name="cancelButtonPressed:"/>
654  
-                <relationship kind="outlet" name="charCounterLabel" candidateClass="UILabel"/>
655  
-                <relationship kind="outlet" name="headlineTextView" candidateClass="CPPlaceholderTextView"/>
656  
-                <relationship kind="outlet" name="navigationBar" candidateClass="UINavigationBar"/>
657  
-            </relationships>
658  
-        </class>
659  
-        <class className="CheckInDetailsFrame" superclassName="UIView">
660  
-            <source key="sourceIdentifier" type="project" relativePath="./Classes/CheckInDetailsFrame.h"/>
661  
-        </class>
662  
-        <class className="CheckInDetailsViewController" superclassName="UIViewController">
663  
-            <source key="sourceIdentifier" type="project" relativePath="./Classes/CheckInDetailsViewController.h"/>
664  
-            <relationships>
665  
-                <relationship kind="action" name="sliderChanged:"/>
666  
-                <relationship kind="outlet" name="blueOverlay" candidateClass="UIView"/>
667  
-                <relationship kind="outlet" name="checkInButton" candidateClass="UIButton"/>
668  
-                <relationship kind="outlet" name="checkInDetails" candidateClass="UIView"/>
669  
-                <relationship kind="outlet" name="checkInLabel" candidateClass="UILabel"/>
670  
-                <relationship kind="outlet" name="durationHeader" candidateClass="UILabel"/>
671  
-                <relationship kind="outlet" name="fiveHoursLabel" candidateClass="UILabel"/>
672  
-                <relationship kind="outlet" name="infoBubbleNickname" candidateClass="UILabel"/>
673  
-                <relationship kind="outlet" name="infoBubbleStatus" candidateClass="UILabel"/>
674  
-                <relationship kind="outlet" name="mapView" candidateClass="MKMapView"/>
675  
-                <relationship kind="outlet" name="oneHourLabel" candidateClass="UILabel"/>
676  
-                <relationship kind="outlet" name="otherUsersScrollView" candidateClass="UIScrollView"/>
677  
-                <relationship kind="outlet" name="placeAddress" candidateClass="UILabel"/>
678  
-                <relationship kind="outlet" name="placeName" candidateClass="UILabel"/>
679  
-                <relationship kind="outlet" name="scrollView" candidateClass="TPKeyboardAvoidingScrollView"/>
680  
-                <relationship kind="outlet" name="sevenHoursLabel" candidateClass="UILabel"/>
681  
-                <relationship kind="outlet" name="statusTextField" candidateClass="UITextField"/>
682  
-                <relationship kind="outlet" name="threeHoursLabel" candidateClass="UILabel"/>
683  
-                <relationship kind="outlet" name="timeSlider" candidateClass="UISlider"/>
684  
-                <relationship kind="outlet" name="userInfoBubble" candidateClass="UIView"/>
685  
-                <relationship kind="outlet" name="venueInfo" candidateClass="UIView"/>
686  
-                <relationship kind="outlet" name="willLabel" candidateClass="UILabel"/>
687  
-            </relationships>
688  
-        </class>
689  
-        <class className="CheckInListCell" superclassName="UITableViewCell">
690  
-            <source key="sourceIdentifier" type="project" relativePath="./Classes/CheckInListCell.h"/>
691  
-            <relationships>
692  
-                <relationship kind="outlet" name="disclosureImageView" candidateClass="UIImageView"/>
693  
-                <relationship kind="outlet" name="distanceString" candidateClass="UILabel"/>
694  
-                <relationship kind="outlet" name="searchingSpinner" candidateClass="UIActivityIndicatorView"/>
695  
-                <relationship kind="outlet" name="venueAddress" candidateClass="UILabel"/>
696  
-                <relationship kind="outlet" name="venueName" candidateClass="UILabel"/>
697  
-            </relationships>
698  
-        </class>
699  
-        <class className="CheckInListViewController" superclassName="UIViewController">
700  
-            <source key="sourceIdentifier" type="project" relativePath="./Classes/CheckInListViewController.h"/>
701  
-            <relationships>
702  
-                <relationship kind="action" name="closeWindow:"/>
703  
-                <relationship kind="outlet" name="mapView" candidateClass="MKMapView"/>
704  
-                <relationship kind="outlet" name="searchBar" candidateClass="UISearchBar"/>
705  
-                <relationship kind="outlet" name="tableView" candidateClass="UITableView"/>
706  
-            </relationships>
707  
-        </class>
708  
-        <class className="TPKeyboardAvoidingScrollView" superclassName="UIScrollView">
709  
-            <source key="sourceIdentifier" type="project" relativePath="./Classes/TPKeyboardAvoidingScrollView.h"/>
710  
-        </class>
711  
-    </classes>
712 639
     <simulatedMetricsContainer key="defaultSimulatedMetrics">
713 640
         <simulatedStatusBarMetrics key="statusBar" statusBarStyle="blackTranslucent"/>
714 641
         <simulatedOrientationMetrics key="orientation"/>
0  candpiosapp/Utils/CPApiClient.h → candpiosapp/Common/CPApiClient.h
File renamed without changes
0  candpiosapp/Utils/CPApiClient.m → candpiosapp/Common/CPApiClient.m
File renamed without changes
3  candpiosapp/Utils/CPConstants.h → candpiosapp/Common/CPConstants.h
@@ -8,9 +8,6 @@
8 8
 
9 9
 #import <Foundation/Foundation.h>
10 10
 
11  
-// define a way to quickly grab the app delegate
12  
-#define CPAppDelegate (AppDelegate *)[UIApplication sharedApplication].delegate
13  
-
14 11
 @interface CPConstants : NSObject
15 12
 
16 13
 extern NSString* const kCandPWebServiceUrl;
0  candpiosapp/Utils/CPConstants.m → candpiosapp/Common/CPConstants.m
File renamed without changes
0  candpiosapp/Utils/CPLinkedInAPI.h → candpiosapp/Common/CPLinkedInAPI.h
File renamed without changes
0  candpiosapp/Utils/CPLinkedInAPI.m → candpiosapp/Common/CPLinkedInAPI.m
File renamed without changes
18  candpiosapp/Common/CPMacros.h
... ...
@@ -0,0 +1,18 @@
  1
+//
  2
+//  CPMacros.h
  3
+//  candpiosapp
  4
+//
  5
+//  Created by Stephen Birarda on 11/13/12.
  6
+//  Copyright (c) 2012 Coffee and Power Inc. All rights reserved.
  7
+//
  8
+
  9
+#ifndef candpiosapp_CPMacro_h
  10
+#define candpiosapp_CPMacro_h
  11
+
  12
+// redefine NSLog so it throws to TF and prints it all pretty
  13
+#define NSLog(__FORMAT__, ...) TFLog((@"%s [Line %d] " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
  14
+
  15
+// define a way to quickly grab the app delegate
  16
+#define CPAppDelegate (AppDelegate *)[UIApplication sharedApplication].delegate
  17
+
  18
+#endif
4  candpiosapp/Utils/CPUtils.h → candpiosapp/Common/CPUtils.h
@@ -22,4 +22,8 @@
22 22
 + (NSString *)relativeTimeStringFromDateToNow:(NSDate *)date;
23 23
 
24 24
 + (BOOL)validateEmailWithString:(NSString*)email;
  25
+
  26
++ (BOOL)systemVersionGreaterThanOrEqualTo:(CGFloat)version;
  27
++ (BOOL)isDeviceWithFourInchDisplay;
  28
+
25 29
 @end
12  candpiosapp/Utils/CPUtils.m → candpiosapp/Common/CPUtils.m
@@ -171,5 +171,17 @@ + (NSString *)relativeTimeStringFromDateToNow:(NSDate *)date
171 171
     }
172 172
 }
173 173
 
  174
+#pragma mark - Device Identification
  175
+
  176
++ (BOOL)systemVersionGreaterThanOrEqualTo:(CGFloat)version
  177
+{
  178
+    return [[[UIDevice currentDevice] systemVersion] floatValue] >= version;
  179
+}
  180
+
  181
++ (BOOL)isDeviceWithFourInchDisplay
  182
+{
  183
+    return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone && [[UIScreen mainScreen] bounds].size.height == 568);
  184
+}
  185
+
174 186
 
175 187
 @end
0  candpiosapp/Utils/CPapi.h → candpiosapp/Common/CPapi.h
File renamed without changes
0  candpiosapp/Utils/CPapi.m → candpiosapp/Common/CPapi.m
File renamed without changes
0  ...piosapp/Utils/NSDictionary+JsonParserWorkaround.h → ...iosapp/Common/NSDictionary+JsonParserWorkaround.h
File renamed without changes
0  ...piosapp/Utils/NSDictionary+JsonParserWorkaround.m → ...iosapp/Common/NSDictionary+JsonParserWorkaround.m
File renamed without changes
0  candpiosapp/Utils/Settings.h → candpiosapp/Common/Settings.h
File renamed without changes
0  candpiosapp/Utils/Settings.m → candpiosapp/Common/Settings.m
File renamed without changes
0  candpiosapp/Utils/CPAlertView.h → candpiosapp/Common/UI/CPAlertView.h
File renamed without changes
0  candpiosapp/Utils/CPAlertView.m → candpiosapp/Common/UI/CPAlertView.m
File renamed without changes
1  candpiosapp/Common/CPBaseTableViewController.h → candpiosapp/Common/UI/CPBaseTableViewController.h
@@ -14,6 +14,7 @@
14 14
 @property (strong, nonatomic) UIActivityIndicatorView *barSpinner;
15 15
 @property (weak, nonatomic) id delegate;
16 16
 
  17
+- (UIView *)tabBarButtonAvoidingFooterView;
17 18
 - (void)placeSpinnerOnRightBarButtonItem;
18 19
 - (void)showCorrectLoadingSpinnerForCount:(int)count;
19 20
 - (void)stopAppropriateLoadingSpinner;
8  candpiosapp/Common/CPBaseTableViewController.m → candpiosapp/Common/UI/CPBaseTableViewController.m
@@ -86,6 +86,14 @@ - (void) viewDidAppear:(BOOL)animated {
86 86
     [self unhighlightCells:YES];
87 87
 }
88 88
 
  89
+- (UIView *)tabBarButtonAvoidingFooterView
  90
+{
  91
+    return [[UIView alloc] initWithFrame:CGRectMake(0,
  92
+                                                    0,
  93
+                                                    self.tableView.frame.size.width,
  94
+                                                    [[CPAppDelegate tabBarController].thinBar actionButtonRadius])];
  95
+}
  96
+
89 97
 - (void)unhighlightCells:(BOOL)animated {
90 98
     NSTimeInterval duration = 0;
91 99
     if (animated) {
0  candpiosapp/Utils/CPPageControl.h → candpiosapp/Common/UI/CPPageControl.h
File renamed without changes
0  candpiosapp/Utils/CPPageControl.m → candpiosapp/Common/UI/CPPageControl.m
File renamed without changes
0  candpiosapp/Common/CPPlaceholderTextView.h → candpiosapp/Common/UI/CPPlaceholderTextView.h
File renamed without changes
0  candpiosapp/Common/CPPlaceholderTextView.m → candpiosapp/Common/UI/CPPlaceholderTextView.m
File renamed without changes
0  ...pp/Common/CPSwipeableTableViewCell/CPUserAction.h → ...Common/UI/CPSwipeableTableViewCell/CPUserAction.h
File renamed without changes
0  ...pp/Common/CPSwipeableTableViewCell/CPUserAction.m → ...Common/UI/CPSwipeableTableViewCell/CPUserAction.m
File renamed without changes
0  ...ommon/CPSwipeableTableViewCell/CPUserActionCell.h → ...on/UI/CPSwipeableTableViewCell/CPUserActionCell.h
File renamed without changes
0  ...ommon/CPSwipeableTableViewCell/CPUserActionCell.m → ...on/UI/CPSwipeableTableViewCell/CPUserActionCell.m
File renamed without changes
0  ...Cell/UIViewController+CPUserActionCellAdditions.h → ...Cell/UIViewController+CPUserActionCellAdditions.h
File renamed without changes
0  ...Cell/UIViewController+CPUserActionCellAdditions.m → ...Cell/UIViewController+CPUserActionCellAdditions.m
File renamed without changes
0  ...CPSwipeableTableViewCell/exchange-contacts-on.aif → ...CPSwipeableTableViewCell/exchange-contacts-on.aif
File renamed without changes
0  ...on/CPSwipeableTableViewCell/quick-action-chat.png → ...UI/CPSwipeableTableViewCell/quick-action-chat.png
File renamed without changes
0  ...CPSwipeableTableViewCell/quick-action-chat@2x.png → ...CPSwipeableTableViewCell/quick-action-chat@2x.png
File renamed without changes
0  ...CPSwipeableTableViewCell/quick-action-endorse.png → ...CPSwipeableTableViewCell/quick-action-endorse.png
File renamed without changes
0  ...wipeableTableViewCell/quick-action-endorse@2x.png → ...wipeableTableViewCell/quick-action-endorse@2x.png
File renamed without changes
0  ...ableTableViewCell/quick-action-exchange-cards.png → ...ableTableViewCell/quick-action-exchange-cards.png
File renamed without changes
0  ...eTableViewCell/quick-action-exchange-cards@2x.png → ...eTableViewCell/quick-action-exchange-cards@2x.png
File renamed without changes
0  .../Common/CPSwipeableTableViewCell/send-love-on.aif → ...mmon/UI/CPSwipeableTableViewCell/send-love-on.aif
File renamed without changes
0  ...mmon/CPSwipeableTableViewCell/send-message-on.aif → ...n/UI/CPSwipeableTableViewCell/send-message-on.aif
File renamed without changes
0  candpiosapp/Common/CPTouchableView.h → candpiosapp/Common/UI/CPTouchableView.h
File renamed without changes
0  candpiosapp/Common/CPTouchableView.m → candpiosapp/Common/UI/CPTouchableView.m
File renamed without changes
3  candpiosapp/Utils/CPUIHelper.h → candpiosapp/Common/UI/CPUIHelper.h
@@ -75,4 +75,7 @@ typedef enum {
75 75
 # pragma mark - Settings Button
76 76
 + (void)settingsButtonForNavigationItem:(UINavigationItem *)navigationItem;
77 77
 
  78
+# pragma mark - MapView shifting
  79
++ (void)shiftMapView:(MKMapView *)mapView forPinCenterInMapview:(CGPoint)mapPinCenter;
  80
+
78 81
 @end
13  candpiosapp/Utils/CPUIHelper.m → candpiosapp/Common/UI/CPUIHelper.m
@@ -309,4 +309,17 @@ + (void)settingsButtonForNavigationItem:(UINavigationItem *)navigationItem
309 309
     }
310 310
 }
311 311
 
  312
+# pragma mark - MapView shifting
  313
++ (void)shiftMapView:(MKMapView *)mapView forPinCenterInMapview:(CGPoint)mapPinCenter
  314
+{
  315
+    mapPinCenter.x -= 7;
  316
+    mapPinCenter.y += 18;
  317
+    mapPinCenter.x = mapView.frame.size.width -  mapPinCenter.x;
  318
+    mapPinCenter.y = mapView.frame.size.height - mapPinCenter.y;
  319
+    
  320
+    CLLocationCoordinate2D coordinate = [mapView convertPoint:mapPinCenter toCoordinateFromView:mapView];
  321
+    [mapView setCenterCoordinate:coordinate animated:NO];
  322
+}
  323
+
  324
+
312 325
 @end
0  candpiosapp/Utils/UIColor+EasyRGB.h → candpiosapp/Common/UI/UIColor+EasyRGB.h
File renamed without changes
0  candpiosapp/Utils/UIColor+EasyRGB.m → candpiosapp/Common/UI/UIColor+EasyRGB.m
File renamed without changes
0  candpiosapp/Utils/UIImage+ImageBlur.h → candpiosapp/Common/UI/UIImage+ImageBlur.h
File renamed without changes
0  candpiosapp/Utils/UIImage+ImageBlur.m → candpiosapp/Common/UI/UIImage+ImageBlur.m
File renamed without changes
0  candpiosapp/Utils/UIViewController+isModal.h → candpiosapp/Common/UI/UIViewController+isModal.h
File renamed without changes
0  candpiosapp/Utils/UIViewController+isModal.m → candpiosapp/Common/UI/UIViewController+isModal.m
File renamed without changes
0  candpiosapp/Utils/images/buttons/back-button.png → candpiosapp/Common/UI/images/buttons/back-button.png
File renamed without changes
0  candpiosapp/Utils/images/buttons/back-button@2x.png → ...osapp/Common/UI/images/buttons/back-button@2x.png
File renamed without changes
0  candpiosapp/Utils/images/buttons/button-grey.png → candpiosapp/Common/UI/images/buttons/button-grey.png
File renamed without changes
0  candpiosapp/Utils/images/buttons/button-grey@2x.png → ...osapp/Common/UI/images/buttons/button-grey@2x.png
File renamed without changes
0  ...pp/Utils/images/buttons/button-turquoise-32pt.png → ...ommon/UI/images/buttons/button-turquoise-32pt.png
File renamed without changes
0  ...Utils/images/buttons/button-turquoise-32pt@2x.png → ...on/UI/images/buttons/button-turquoise-32pt@2x.png
File renamed without changes
0  ...piosapp/Utils/images/buttons/button-turquoise.png → ...app/Common/UI/images/buttons/button-turquoise.png
File renamed without changes
0  ...sapp/Utils/images/buttons/button-turquoise@2x.png → .../Common/UI/images/buttons/button-turquoise@2x.png
File renamed without changes
0  candpiosapp/Utils/images/buttons/divider-button.png → ...osapp/Common/UI/images/buttons/divider-button.png
File renamed without changes
0  ...iosapp/Utils/images/buttons/divider-button@2x.png → ...pp/Common/UI/images/buttons/divider-button@2x.png
File renamed without changes
0  candpiosapp/Utils/images/buttons/header-button.png → ...iosapp/Common/UI/images/buttons/header-button.png
File renamed without changes
0  ...piosapp/Utils/images/buttons/header-button@2x.png → ...app/Common/UI/images/buttons/header-button@2x.png
File renamed without changes
0  candpiosapp/Utils/images/common/bullet.png → candpiosapp/Common/UI/images/common/bullet.png
File renamed without changes
0  candpiosapp/Utils/images/common/bullet@2x.png → candpiosapp/Common/UI/images/common/bullet@2x.png
File renamed without changes
0  candpiosapp/Utils/images/common/checkbox-checked.png → ...sapp/Common/UI/images/common/checkbox-checked.png
File renamed without changes
0  ...osapp/Utils/images/common/checkbox-checked@2x.png → ...p/Common/UI/images/common/checkbox-checked@2x.png
File renamed without changes
0  ...iosapp/Utils/images/common/checkbox-unchecked.png → ...pp/Common/UI/images/common/checkbox-unchecked.png
File renamed without changes
0  ...app/Utils/images/common/checkbox-unchecked@2x.png → ...Common/UI/images/common/checkbox-unchecked@2x.png
File renamed without changes
0  ...piosapp/Utils/images/common/expand-arrow-down.png → ...app/Common/UI/images/common/expand-arrow-down.png
File renamed without changes
0  ...sapp/Utils/images/common/expand-arrow-down@2x.png → .../Common/UI/images/common/expand-arrow-down@2x.png
File renamed without changes
0  candpiosapp/Utils/images/common/logo.png → candpiosapp/Common/UI/images/common/logo.png
File renamed without changes
0  candpiosapp/Utils/images/common/logo@2x.png → candpiosapp/Common/UI/images/common/logo@2x.png
File renamed without changes
0  candpiosapp/Utils/images/common/page-current.png → candpiosapp/Common/UI/images/common/page-current.png
File renamed without changes
0  candpiosapp/Utils/images/common/page-current@2x.png → ...osapp/Common/UI/images/common/page-current@2x.png
File renamed without changes
0  candpiosapp/Utils/images/common/page-normal.png → candpiosapp/Common/UI/images/common/page-normal.png
File renamed without changes
0  candpiosapp/Utils/images/common/page-normal@2x.png → ...iosapp/Common/UI/images/common/page-normal@2x.png
File renamed without changes
0  ...osapp/Utils/images/common/refresh-scroll-view.png → ...p/Common/UI/images/common/refresh-scroll-view.png
File renamed without changes
0  ...pp/Utils/images/common/refresh-scroll-view@2x.png → ...ommon/UI/images/common/refresh-scroll-view@2x.png
File renamed without changes
0  ...osapp/Utils/images/textures/cell-shadow-harsh.png → ...p/Common/UI/images/textures/cell-shadow-harsh.png
File renamed without changes
0  ...pp/Utils/images/textures/cell-shadow-harsh@2x.png → ...ommon/UI/images/textures/cell-shadow-harsh@2x.png
File renamed without changes
0  candpiosapp/Utils/images/textures/header-shadow.png → ...osapp/Common/UI/images/textures/header-shadow.png
File renamed without changes
0  ...iosapp/Utils/images/textures/header-shadow@2x.png → ...pp/Common/UI/images/textures/header-shadow@2x.png
File renamed without changes
0  candpiosapp/Utils/images/textures/header.png → candpiosapp/Common/UI/images/textures/header.png
File renamed without changes
0  candpiosapp/Utils/images/textures/header@2x.png → candpiosapp/Common/UI/images/textures/header@2x.png
File renamed without changes
0  ...piosapp/Utils/images/textures/menu-background.png → ...app/Common/UI/images/textures/menu-background.png
File renamed without changes
0  .../Utils/images/textures/menu-header-background.png → ...mon/UI/images/textures/menu-header-background.png
File renamed without changes
0  ...ils/images/textures/menu-header-background@2x.png → .../UI/images/textures/menu-header-background@2x.png
File renamed without changes
0  candpiosapp/Utils/images/textures/paper-texture.png → ...osapp/Common/UI/images/textures/paper-texture.png
File renamed without changes
0  ...iosapp/Utils/images/textures/paper-texture@2x.png → ...pp/Common/UI/images/textures/paper-texture@2x.png
File renamed without changes
0  ...piosapp/Utils/images/textures/perforated-skin.png → ...app/Common/UI/images/textures/perforated-skin.png
File renamed without changes
0  ...sapp/Utils/images/textures/perforated-skin@2x.png → .../Common/UI/images/textures/perforated-skin@2x.png
File renamed without changes
0  ...tils/images/textures/selected-menu-background.png → ...n/UI/images/textures/selected-menu-background.png
File renamed without changes
0  ...s/images/textures/texture-diagonal-noise-dark.png → ...I/images/textures/texture-diagonal-noise-dark.png
File renamed without changes
0  ...mages/textures/texture-diagonal-noise-dark@2x.png → ...mages/textures/texture-diagonal-noise-dark@2x.png
File renamed without changes
0  .../images/textures/texture-diagonal-noise-light.png → .../images/textures/texture-diagonal-noise-light.png
File renamed without changes
0  ...ages/textures/texture-diagonal-noise-light@2x.png → ...ages/textures/texture-diagonal-noise-light@2x.png
File renamed without changes
0  .../Utils/images/textures/texture-diagonal-noise.png → ...mon/UI/images/textures/texture-diagonal-noise.png
File renamed without changes
0  ...ils/images/textures/texture-diagonal-noise@2x.png → .../UI/images/textures/texture-diagonal-noise@2x.png
File renamed without changes
0  ...tils/images/textures/texture-lightpaperfibers.png → ...n/UI/images/textures/texture-lightpaperfibers.png
File renamed without changes
0  ...s/images/textures/texture-lightpaperfibers@2x.png → ...I/images/textures/texture-lightpaperfibers@2x.png
File renamed without changes
32  candpiosapp/Contacts/ContactListViewController.m
@@ -41,7 +41,7 @@ @interface ContactListViewController ()
41 41
 
42 42
 @property (strong, nonatomic) NSMutableArray *sortedContactList;
43 43
 @property (strong, nonatomic) NSArray *searchResults;
44  
-@property (weak, nonatomic) IBOutlet UIImageView *placeholderImage;
  44
+@property (strong, nonatomic) IBOutlet UIImageView *placeholderImageView;
45 45
 @property (nonatomic) BOOL userIsPerformingQuickAction;
46 46
 @property (nonatomic) BOOL reloadPrevented;
47 47
 @property (nonatomic) BOOL isSearching;
@@ -78,7 +78,7 @@ + (void)getNumberOfContactRequestsAndUpdateBadge
78 78
 - (void)viewWillAppear:(BOOL)animated
79 79
 {
80 80
     [super viewWillAppear:animated];
81  
-    [self hidePlaceholder:YES];
  81
+    [self hidePlaceholderImageView:YES];
82 82
     // place the settings button on the navigation item if required
83 83
     // or remove it if the user isn't logged in
84 84
     [CPUIHelper settingsButtonForNavigationItem:self.navigationItem];
@@ -91,7 +91,7 @@ - (void)viewDidAppear:(BOOL)animated
91 91
     self.tableView.allowsSelection = NO;
92 92
     
93 93
     // hide the search bar if it hasn't been scrolled
94  
-    if (self.tableView.contentOffset.y == 0.0f) {
  94
+    if (self.tableView.contentOffset.y == 0.0f && ![CPUtils isDeviceWithFourInchDisplay]) {
95 95
         [self.tableView setContentOffset:CGPointMake(0, 44) animated:NO];
96 96
     }
97 97
     
@@ -119,7 +119,7 @@ - (void)reloadContactList
119 119
                 NSArray *payload = [json objectForKey:@"payload"];
120 120
                 NSArray *contactRequests = [json objectForKey:@"contact_requests"];
121 121
                 
122  
-                [self hidePlaceholder:[payload count] > 0 || [contactRequests count] > 0];
  122
+                [self hidePlaceholderImageView:[payload count] > 0 || [contactRequests count] > 0];
123 123
                 
124 124
                 NSSortDescriptor *nicknameSort = [[NSSortDescriptor alloc] initWithKey:@"nickname" ascending:YES];
125 125
                 
@@ -193,12 +193,22 @@ - (void)setContacts:(NSMutableArray *)contactList {
193 193
     self.sortedContactList = [contactList mutableCopy];
194 194
 }
195 195
 
196  
-- (void)hidePlaceholder:(BOOL)hide
  196
+- (void)hidePlaceholderImageView:(BOOL)hiddenPlaceholder
197 197
 {
198  
-    [self.placeholderImage setHidden:hide];
199  
-    [self.tableView setScrollEnabled:hide];
200  
-    [self.searchBar setHidden:!hide];
201  
-    self.isSearching = !hide;
  198
+    if (!hiddenPlaceholder && !self.placeholderImageView) {
  199
+        self.placeholderImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"contacts-blank-slate"]];
  200
+    }
  201
+    
  202
+    self.tableView.tableFooterView = hiddenPlaceholder
  203
+        ? [self tabBarButtonAvoidingFooterView]
  204
+        : self.placeholderImageView;
  205
+    
  206
+    self.tableView.backgroundColor = hiddenPlaceholder
  207
+        ? [UIColor colorWithR:51 G:51 B:51 A:1]
  208
+        : [UIColor colorWithR:246 G:247 B:245 A:1]  ;
  209
+    
  210
+    self.tableView.scrollEnabled = hiddenPlaceholder;
  211
+    self.searchBar.hidden = !hiddenPlaceholder;
202 212
 }
203 213
 
204 214
 - (NSArray*)sectionIndexTitles
@@ -249,7 +259,7 @@ - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInte
249 259
 
250 260
 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
251 261
 {
252  
-    if (self.isSearching) {
  262
+    if (self.isSearching || self.sortedContactList.count == 0) {
253 263
         return nil;
254 264
     }
255 265
     
@@ -378,9 +388,11 @@ - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSIntege
378 388
 - (void)performSearch:(NSString *)searchText {
379 389
     if ([searchText isEqualToString:@""]) {
380 390
         self.searchResults = [NSArray arrayWithArray:self.sortedContactList];
  391
+        self.tableView.tableFooterView = [self tabBarButtonAvoidingFooterView];
381 392
     }
382 393
     else {
383 394
         self.searchResults = [self.sortedContactList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(nickname contains[cd] %@)", searchText]];
  395
+        self.tableView.tableFooterView = nil;
384 396
     }
385 397
     [self.tableView reloadData];
386 398
 }
BIN  candpiosapp/Contacts/images/contacts-blank-slate.png
BIN  candpiosapp/Contacts/images/contacts-blank-slate@2x.png
BIN  candpiosapp/Contacts/images/virtual-check-in-badge.png
BIN  candpiosapp/Contacts/images/virtual-check-in-badge@2x.png
0  candpiosapp/Utils/FoursquareAPIClient.h → candpiosapp/Foursquare/FoursquareAPIClient.h
File renamed without changes
0  candpiosapp/Utils/FoursquareAPIClient.m → candpiosapp/Foursquare/FoursquareAPIClient.m
File renamed without changes
BIN  candpiosapp/Icon/Default-568h@2x.png
5  candpiosapp/Login/SignupController.h
@@ -9,10 +9,5 @@
9 9
 #import <UIKit/UIKit.h>
10 10
 
11 11
 @interface SignupController : UIViewController
12  
-- (IBAction)loginWithLinkedInTapped:(id)sender;
13 12
 
14  
-@property (weak, nonatomic) IBOutlet UIButton *linkedinLoginButton;
15  
-@property (weak, nonatomic) IBOutlet UIButton *dismissButton;
16  
-
17  
-- (IBAction) dismissClick:(id)sender;
18 13
 @end
16  candpiosapp/Login/SignupController.m
@@ -10,6 +10,14 @@
10 10
 #import "Flurry.h"
11 11
 #import "UIViewController+isModal.h"
12 12
 
  13
+@interface SignupController()
  14
+
  15
+@property (weak, nonatomic) IBOutlet UIImageView *backgroundImageView;
  16
+@property (weak, nonatomic) IBOutlet UIButton *linkedinLoginButton;
  17
+@property (weak, nonatomic) IBOutlet UIButton *dismissButton;
  18
+
  19
+@end
  20
+
13 21
 @implementation SignupController
14 22
 
15 23
 #pragma mark - View lifecycle
@@ -29,6 +37,10 @@ - (void)viewDidLoad
29 37
         // then bring them to the map once they login
30 38
         [CPAppDelegate settingsMenuController].afterLoginAction = CPAfterLoginActionShowMap;
31 39
     }
  40
+    
  41
+    if ([CPUtils isDeviceWithFourInchDisplay]) {
  42
+        self.backgroundImageView.image = [UIImage imageNamed:@"Default-568h"];
  43
+    }
32 44
 }
33 45
 
34 46
 - (void)viewWillAppear:(BOOL)animated {
@@ -47,6 +59,8 @@ - (void)viewWillAppear:(BOOL)animated {
47 59
 }
48 60
 
49 61
 - (void) viewDidAppear:(BOOL)animated {
  62
+    [super viewDidAppear:animated];
  63
+    
50 64
     // fade in the icons to direct user attention at them
51 65
     [UIView animateWithDuration:0.3 animations:^{
52 66
         self.linkedinLoginButton.alpha = 1.0;
@@ -55,6 +69,8 @@ - (void) viewDidAppear:(BOOL)animated {
55 69
 }
56 70
 
57 71
 - (void)viewWillDisappear:(BOOL)animated {
  72
+    [super viewWillDisappear:animated];
  73
+    
58 74
     [self.navigationController setNavigationBarHidden:NO animated:animated];
59 75
 }
60 76
 
31  candpiosapp/Login/SignupStoryboard_iPhone.storyboard
... ...
@@ -1,9 +1,9 @@
1 1
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2  
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2843" systemVersion="12C60" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="crz-ik-TbX">
  2
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2844" systemVersion="12C60" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="crz-ik-TbX">
3 3
     <dependencies>
4 4
         <deployment defaultVersion="1536" identifier="iOS"/>
5 5
         <development version="4300" identifier="xcode"/>
6  
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1929"/>
  6
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1930"/>
7 7
     </dependencies>
8 8
     <scenes>
9 9
         <!--Navigation Controller - Log In-->
@@ -116,7 +116,7 @@ you an invite code, type it in above</string>
116 116
                         <subviews>
117 117
                             <imageView opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" image="Default.png" id="WSu-w6-gVi">
118 118
                                 <rect key="frame" x="0.0" y="-20" width="320" height="480"/>
119  
-                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
  119
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
120 120
                             </imageView>
121 121
                             <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="zvy-bo-mbF">
122 122
                                 <rect key="frame" x="98" y="304" width="124" height="74"/>
@@ -155,6 +155,7 @@ you an invite code, type it in above</string>
155 155
                     <nil key="simulatedTopBarMetrics"/>
156 156
                     <nil key="simulatedBottomBarMetrics"/>
157 157
                     <connections>
  158
+                        <outlet property="backgroundImageView" destination="WSu-w6-gVi" id="ZPN-0K-b4t"/>
158 159
                         <outlet property="dismissButton" destination="WNY-97-ttJ" id="3KR-xT-XXq"/>
159 160
                         <outlet property="linkedinLoginButton" destination="zvy-bo-mbF" id="nTi-qa-AD2"/>
160 161
                         <segue destination="0fs-TN-110" kind="push" identifier="ShowLinkedInLoginController" id="Y4e-Sg-yKH"/>
@@ -245,6 +246,30 @@ you an invite code, type it in above</string>
245 246
         <image name="sign-up-with-linkedin.png" width="124" height="74"/>
246 247
         <image name="tab-login.png" width="34" height="26"/>
247 248
     </resources>
  249
+    <classes>
  250
+        <class className="LinkedInLoginController" superclassName="UIViewController">
  251
+            <source key="sourceIdentifier" type="project" relativePath="./Classes/LinkedInLoginController.h"/>
  252
+            <relationships>
  253
+                <relationship kind="outlet" name="myWebView" candidateClass="UIWebView"/>
  254
+            </relationships>
  255
+        </class>
  256
+        <class className="SignupController" superclassName="UIViewController">
  257
+            <source key="sourceIdentifier" type="project" relativePath="./Classes/SignupController.h"/>
  258
+            <relationships>
  259
+                <relationship kind="action" name="dismissClick:"/>
  260
+                <relationship kind="action" name="loginWithLinkedInTapped:"/>
  261
+                <relationship kind="outlet" name="backgroundImageView" candidateClass="UIImageView"/>
  262
+                <relationship kind="outlet" name="dismissButton" candidateClass="UIButton"/>
  263
+                <relationship kind="outlet" name="linkedinLoginButton" candidateClass="UIButton"/>
  264
+            </relationships>
  265
+        </class>
  266
+        <class className="TutorialViewController" superclassName="UIViewController">
  267
+            <source key="sourceIdentifier" type="project" relativePath="./Classes/TutorialViewController.h"/>
  268
+            <relationships>
  269
+                <relationship kind="outlet" name="scrollView" candidateClass="UIScrollView"/>
  270
+            </relationships>
  271
+        </class>
  272
+    </classes>
248 273
     <simulatedMetricsContainer key="defaultSimulatedMetrics">
249 274
         <simulatedStatusBarMetrics key="statusBar" statusBarStyle="blackTranslucent"/>
250 275
         <simulatedOrientationMetrics key="orientation"/>
8  candpiosapp/Login/TutorialViewController.m
@@ -145,8 +145,14 @@ - (void)initializePageAtIndex:(NSUInteger)pageIndex withPageInfo:(NSDictionary *
145 145
     UIImageView *pageImageView = [[UIImageView alloc] initWithFrame:CGRectMake(pageIndex * self.scrollView.frame.size.width,
146 146
                                                                                0,
147 147
                                                                                self.scrollView.frame.size.width,
  148
+                     
148 149
                                                                                self.scrollView.frame.size.height)];
149  
-    [pageImageView setImageWithURL:[NSURL URLWithString:pageInfo[@"url"]]];
  150
+    
  151
+    NSString *imageURLString = [CPUtils isDeviceWithFourInchDisplay]
  152
+        ? [pageInfo[@"url"] stringByReplacingOccurrencesOfString:@".png" withString:@"-568h.png"]
  153
+        : pageInfo[@"url"];
  154
+    
  155
+    [pageImageView setImageWithURL:[NSURL URLWithString:imageURLString]];
150 156
     pageImageView.clipsToBounds = YES;
151 157
     [self.pageImageViews addObject:pageImageView];
152 158
     [self.scrollView addSubview:pageImageView];
BIN  candpiosapp/Map/images/map-marker.png
BIN  candpiosapp/Map/images/map-marker@2x.png
BIN  candpiosapp/Map/images/map-marker@2x~iphone.png
BIN  candpiosapp/Map/images/map-marker~iphone.png
2  candpiosapp/Navigation/CPThinTabBar.h
@@ -16,10 +16,12 @@
16 16
 
17 17
 @property (weak, nonatomic) UITabBarController *tabBarController;
18 18
 
  19
+- (CGFloat)actionButtonRadius;
19 20
 - (void)moveGreenLineToSelectedIndex:(NSUInteger)selectedIndex;
20 21
 - (void)refreshLastTab:(BOOL)loggedIn;
21 22
 - (void)setBadgeNumber:(NSNumber *)number atTabIndex:(NSUInteger)index;
22 23
 
23 24
 + (UIImage *)backgroundImage;
24 25
 
  26
+
25 27
 @end
15  candpiosapp/Navigation/CPThinTabBar.m
@@ -39,10 +39,6 @@ + (void)initialize
39 39
                                                 [UIImage imageNamed:@"tab-login"], nil];
40 40
     }
41 41
 }
42  
--(void)dealloc
43  
-{
44  
-    [[NSNotificationCenter defaultCenter] removeObserver:self];
45  
-}
46 42
 
47 43
 + (UIImage *)backgroundImage
48 44
 {
@@ -80,6 +76,17 @@ - (void)awakeFromNib
80 76
     [self refreshActionButton];
81 77
 }
82 78
 
  79
+-(void)dealloc
  80
+{
  81
+    [[NSNotificationCenter defaultCenter] removeObserver:self];
  82
+}
  83
+
  84
+- (CGFloat)actionButtonRadius
  85
+{
  86
+    // this seems kludgy but it keeps the actionButton as a private property of the thin bar
  87
+    return (self.actionButton.frame.size.height / 2);
  88
+}
  89
+
83 90
 - (void)moveGreenLineToSelectedIndex:(NSUInteger)selectedIndex
84 91
 {
85 92
     CGFloat xPosition = LEFT_AREA_WIDTH + (selectedIndex * BUTTON_WIDTH) + 1;
6  candpiosapp/User/UserListTableViewController.m
@@ -32,12 +32,15 @@ -(void)viewDidLoad
32 32
     [self.tableView addPullToRefreshWithActionHandler:^{
33 33
         [weakSelf refreshData];
34 34
     }];
  35
+    
  36
+    self.tableView.tableFooterView = [self tabBarButtonAvoidingFooterView];
  37
+    
  38
+    [self.tableView.pullToRefreshView triggerRefresh];
35 39
 }
36 40
 
37 41
 - (void)viewDidAppear:(BOOL)animated
38 42
 {
39 43
     [super viewDidAppear:animated];
40  
-    [SVProgressHUD showWithStatus:@"Loading..."];
41 44
     [self refreshData];
42 45
 }
43 46
 
@@ -46,7 +49,6 @@ - (void)viewDidAppear:(BOOL)animated
46 49
 - (void)refreshData
47 50
 {
48 51
     [CPapi getNearestCheckedInWithCompletion:^(NSDictionary *json, NSError *error) {
49  
-        [SVProgressHUD dismiss];
50 52
         if (!error) {
51 53
             [self.checkedInUsers removeAllObjects];
52 54
             if (![[json objectForKey:@"error"] boolValue]) {
18  candpiosapp/User/UserProfileStoryboard_iPhone.storyboard
@@ -12,7 +12,7 @@
12 12
                         <rect key="frame" x="0.0" y="64" width="320" height="416"/>
13 13
                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
14 14
                         <subviews>
15  
-                            <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" bounces="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" id="FvT-cB-xLT">
  15
+                            <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" directionalLockEnabled="YES" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" delaysContentTouches="NO" id="FvT-cB-xLT">
16 16
                                 <rect key="frame" x="0.0" y="0.0" width="320" height="416"/>
17 17
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
18 18
                                 <subviews>
@@ -185,7 +185,7 @@
185 185
                                         <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
186 186
                                     </view>
187 187
                                     <imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="map-marker.png" id="hs9-Nt-iuJ">
188  
-                                        <rect key="frame" x="221" y="171" width="41" height="41"/>
  188
+                                        <rect key="frame" x="222" y="171" width="40" height="36"/>
189 189
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
190 190
                                     </imageView>
191 191
                                     <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="jCv-cB-4k0">
@@ -198,8 +198,8 @@
198 198
                                         <size key="shadowOffset" width="1" height="1"/>
199 199
                                     </label>
200 200
                                     <view contentMode="scaleToFill" id="qvF-Ed-Z1a">
201  
-                                        <rect key="frame" x="10" y="263" width="300" height="153"/>
202  
-                                        <autoresizingMask key="autoresizingMask"/>
  201
+                                        <rect key="frame" x="10" y="263" width="300" height="123"/>
  202
+                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
203 203
                                         <subviews>
204 204
                                             <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" alpha="0.75" contentMode="left" text="Resume" lineBreakMode="tailTruncation" minimumFontSize="10" id="Do4-zK-XAE">
205 205
                                                 <rect key="frame" x="14" y="0.0" width="132" height="48"/>
@@ -471,7 +471,7 @@
471 471
                             </tableView>
472 472
                             <view contentMode="scaleToFill" id="8Xk-CN-gYQ">
473 473
                                 <rect key="frame" x="0.0" y="376" width="320" height="40"/>
474  
-                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  474
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
475 475
                                 <subviews>
476 476
                                     <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Type to chat" minimumFontSize="17" id="idG-ly-PzE">
477 477
                                         <rect key="frame" x="7" y="4" width="228" height="31"/>
@@ -562,7 +562,7 @@
562 562
                             </view>
563 563
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" bounces="NO" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="UOQ-R0-oNk">
564 564
                                 <rect key="frame" x="0.0" y="246" width="320" height="214"/>
565  
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  565
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
566 566
                                 <color key="backgroundColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
567 567
                                 <color key="separatorColor" red="0.22745098039215686" green="0.22745098039215686" blue="0.22745098039215686" alpha="1" colorSpace="calibratedRGB"/>
568 568
                                 <connections>
@@ -620,15 +620,15 @@
620 620
     </scenes>
621 621
     <resources>
622 622
         <image name="Default.png" width="320" height="480"/>
623  
-        <image name="available-for-icon.png" width="16" height="16"/>
  623
+        <image name="available-for-icon.png" width="9" height="9"/>
624 624
         <image name="chat-bubble-left-bottom.png" width="261" height="14"/>
625 625
         <image name="chat-bubble-left-middle.png" width="261" height="13"/>
626 626
         <image name="chat-bubble-left-top.png" width="261" height="14"/>
627 627
         <image name="chat-bubble-right-bottom.png" width="261" height="14"/>
628 628
         <image name="chat-bubble-right-middle.png" width="261" height="13"/>
629 629
         <image name="chat-bubble-right-top.png" width="261" height="14"/>
630  
-        <image name="map-marker.png" width="16" height="16"/>
631  
-        <image name="others-at-venue.png" width="16" height="16"/>
  630
+        <image name="map-marker.png" width="40" height="36"/>
  631
+        <image name="others-at-venue.png" width="11" height="9"/>
632 632
     </resources>
633 633
     <classes>
634 634
         <class className="CPPlaceholderTextView" superclassName="UITextView">
170  candpiosapp/User/UserProfileViewController.m
@@ -79,26 +79,12 @@ - (void)viewDidLoad
79 79
     // keep our own queue, so we can safely cancel
80 80
     self.operationQueue = [NSOperationQueue new];
81 81
     
82  
-    // when pulling the scroll view top down, present the map
83  
-    self.mapView.frame = CGRectUnion(self.mapView.frame,
84  
-                                     CGRectOffset(self.mapView.frame, 0, -self.mapView.frame.size.height));
85  
-    // add the blue overlay gradient in front of the map
86  
-    [self addGradientWithFrame:self.mapView.frame
87  
-                     locations:[NSArray arrayWithObjects:
88  
-                                [NSNumber numberWithFloat:0.25],
89  
-                                [NSNumber numberWithFloat:0.30],
90  
-                                [NSNumber numberWithFloat:0.5],
91  
-                                [NSNumber numberWithFloat:0.90],
92  
-                                [NSNumber numberWithFloat:1.0],
93  
-                                nil]
94  
-                        colors:[NSArray arrayWithObjects:
95  
-                                (id)[[UIColor colorWithRed:0.67 green:0.83 blue:0.94 alpha:1.0] CGColor],
96  
-                                (id)[[UIColor colorWithRed:0.67 green:0.83 blue:0.94 alpha:0.75] CGColor],
97  
-                                (id)[[UIColor colorWithRed:0.40 green:0.62 blue:0.64 alpha:0.4] CGColor],
98  
-                                (id)[[UIColor colorWithRed:0.67 green:0.83 blue:0.94 alpha:0.75] CGColor],
99  
-                                (id)[[UIColor colorWithRed:0.67 green:0.83 blue:0.94 alpha:1.0] CGColor],
100  
-                                nil]
101  
-     ];
  82
+    // set the navigation controller title to the user's nickname
  83
+    self.title = self.user.nickname;
  84
+    
  85
+    // set the booleans this VC uses in later control statements
  86
+    self.firstLoad = YES;
  87
+    self.mapAndDistanceLoaded = NO;
102 88
     
103 89
     // set LeagueGothic font where applicable
104 90
     [CPUIHelper changeFontForLabel:self.checkedIn toLeagueGothicOfSize:24];
@@ -112,12 +98,82 @@ - (void)viewDidLoad
112 98
     self.resumeWebView.opaque = NO;
113 99
     self.resumeWebView.backgroundColor = paper;
114 100
     
  101
+    self.userActionCell.user = self.user;
  102
+    self.userActionCell.delegate = self;
  103
+    
  104
+    // set the labels on the user business card
  105
+    self.cardNickname.text = self.user.nickname;
  106
+    [self setUserStatusWithQuotes:self.user.status];
  107
+    self.cardJobPosition.text = self.user.jobTitle;
  108
+    
  109
+    // set the card image to the user's profile image
  110
+    [CPUIHelper profileImageView:self.cardImage
  111
+             withProfileImageUrl:self.user.photoURL];
  112
+    
  113
+    // don't allow scrolling in the mustache view until it's loaded
  114
+    self.resumeWebView.userInteractionEnabled = NO;
  115
+    
  116
+    if (self.isF2FInvite) {
  117
+        // we're in an F2F invite
  118