Merge lp:~rockstar/ubuntuone-ios-music/more-little-changes into lp:ubuntuone-ios-music

Proposed by Paul Hummer
Status: Merged
Approved by: Paul Hummer
Approved revision: 269
Merged at revision: 246
Proposed branch: lp:~rockstar/ubuntuone-ios-music/more-little-changes
Merge into: lp:ubuntuone-ios-music
Prerequisite: lp:~rockstar/ubuntuone-ios-music/settings-view
Diff against target: 307 lines (+143/-31)
5 files modified
Music/Models/Song.m (+1/-1)
Music/Models/UOModel.m (+0/-17)
Music/Storyboard_iPhone.storyboard (+125/-8)
Music/Utilities/UODownloader.m (+1/-2)
U1Music.xcodeproj/project.pbxproj (+16/-3)
To merge this branch: bzr merge lp:~rockstar/ubuntuone-ios-music/more-little-changes
Reviewer Review Type Date Requested Status
Michał Karnicki (community) Approve
Review via email: mp+145266@code.launchpad.net

Commit message

Set the build version to bzr release number.

Description of the change

With the backlog of reviews, here's two little things that I thought I'd do quick. The first is a trivial change to highlight tapped table cells in grey, rather than blue.

The other change is to set the build version of the built app based on the bzr revno. I figured out a way to do this on the copied plist, rather than the source controlled plist, so this works out well for us, as long as we only roll out from trunk, and I'm pretty committed to do just that (we weren't very committed to that previously).

To post a comment you must log in.
Revision history for this message
Michał Karnicki (karni) :
review: Approve
Revision history for this message
Ubuntu One Auto Pilot (otto-pilot) wrote :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Music/Models/Song.m'
2--- Music/Models/Song.m 2013-01-30 20:09:23 +0000
3+++ Music/Models/Song.m 2013-01-30 20:09:23 +0000
4@@ -164,7 +164,7 @@
5 }
6
7 - (NSString *)cacheFilePath {
8- NSString *cachePath = [[[[UOAppDelegate delegate] songDirectory] URLByAppendingPathComponent:[NSString stringWithFormat:@"%@", self.path]] path];
9+ NSString *cachePath = [[[[UOAppDelegate delegate] songDirectory] URLByAppendingPathComponent:self.path] path];
10 NSString *cacheDir = [cachePath stringByDeletingLastPathComponent];
11
12 if (![[NSFileManager defaultManager] fileExistsAtPath:cacheDir]) {
13
14=== modified file 'Music/Models/UOModel.m'
15--- Music/Models/UOModel.m 2013-01-30 20:09:23 +0000
16+++ Music/Models/UOModel.m 2013-01-30 20:09:23 +0000
17@@ -44,23 +44,6 @@
18 return [UIImage imageWithContentsOfFile:path];
19 }
20
21-<<<<<<< TREE
22-- (void)fetchArt:(void (^)(UIImage *))completionBlock {
23- NSOperationQueue *queue = [[UOAppDelegate delegate] queue];
24- NSString *path = [self artPath];
25- NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:self.artUrl]];
26- [request setHTTPMethod:@"GET"];
27- [request addValue:[[UOAuthManager sharedAuthManager] authorizationHeaderString] forHTTPHeaderField:AUTHORIZATION_HEADER_KEY];
28-
29- [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
30- UIImage *image = [UIImage imageWithData:data];
31- [UIImageJPEGRepresentation(image, 1) writeToFile:path atomically:YES];
32- completionBlock(image);
33- }];
34-}
35-
36-=======
37->>>>>>> MERGE-SOURCE
38 - (NSString *)artPath {
39 return nil;
40 }
41
42=== modified file 'Music/Storyboard_iPhone.storyboard'
43--- Music/Storyboard_iPhone.storyboard 2013-01-30 20:09:23 +0000
44+++ Music/Storyboard_iPhone.storyboard 2013-01-30 20:09:23 +0000
45@@ -1,8 +1,8 @@
46 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
47-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2844" systemVersion="12C60" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="pWo-yt-KiV">
48+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="12C60" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="pWo-yt-KiV">
49 <dependencies>
50 <deployment version="1280" identifier="iOS"/>
51- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1930"/>
52+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="2083"/>
53 </dependencies>
54 <scenes>
55 <!--Tab Bar Controller-->
56@@ -37,7 +37,7 @@
57 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
58 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
59 <prototypes>
60- <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="Wy4-11-qhh" detailTextLabel="PUO-bG-eLt" imageView="EvX-DO-a8s" style="IBUITableViewCellStyleSubtitle" id="TCk-Kb-c61" customClass="ArtistCell">
61+ <tableViewCell contentMode="scaleToFill" selectionStyle="gray" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="Wy4-11-qhh" detailTextLabel="PUO-bG-eLt" imageView="EvX-DO-a8s" style="IBUITableViewCellStyleSubtitle" id="TCk-Kb-c61" customClass="ArtistCell">
62 <rect key="frame" x="0.0" y="22" width="320" height="44"/>
63 <autoresizingMask key="autoresizingMask"/>
64 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
65@@ -99,7 +99,7 @@
66 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
67 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
68 <prototypes>
69- <tableViewCell contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" reuseIdentifier="Cell" textLabel="G72-IX-jh9" detailTextLabel="VIc-Rn-YXm" imageView="F2l-py-JAO" style="IBUITableViewCellStyleSubtitle" id="Y5x-0G-rno" customClass="AlbumCell">
70+ <tableViewCell contentMode="scaleToFill" selectionStyle="gray" indentationWidth="10" reuseIdentifier="Cell" textLabel="G72-IX-jh9" detailTextLabel="VIc-Rn-YXm" imageView="F2l-py-JAO" style="IBUITableViewCellStyleSubtitle" id="Y5x-0G-rno" customClass="AlbumCell">
71 <rect key="frame" x="0.0" y="22" width="320" height="44"/>
72 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
73 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
74@@ -187,7 +187,7 @@
75 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
76 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
77 <prototypes>
78- <tableViewCell contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" reuseIdentifier="Cell" rowHeight="43" id="vAU-q1-3Z9" customClass="SongCell">
79+ <tableViewCell contentMode="scaleToFill" selectionStyle="gray" indentationWidth="10" reuseIdentifier="Cell" rowHeight="43" id="vAU-q1-3Z9" customClass="SongCell">
80 <rect key="frame" x="0.0" y="22" width="320" height="43"/>
81 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
82 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
83@@ -425,7 +425,7 @@
84 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
85 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
86 <prototypes>
87- <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="lHq-bS-Zm9" detailTextLabel="03B-YT-E7s" imageView="apM-jL-xHe" style="IBUITableViewCellStyleSubtitle" id="5s2-Qn-BOB" customClass="AlbumCell">
88+ <tableViewCell contentMode="scaleToFill" selectionStyle="gray" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="lHq-bS-Zm9" detailTextLabel="03B-YT-E7s" imageView="apM-jL-xHe" style="IBUITableViewCellStyleSubtitle" id="5s2-Qn-BOB" customClass="AlbumCell">
89 <rect key="frame" x="0.0" y="22" width="320" height="44"/>
90 <autoresizingMask key="autoresizingMask"/>
91 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
92@@ -483,7 +483,7 @@
93 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
94 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
95 <prototypes>
96- <tableViewCell contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" reuseIdentifier="Cell" id="EzM-5L-53C" customClass="SongCell">
97+ <tableViewCell contentMode="scaleToFill" selectionStyle="gray" indentationWidth="10" reuseIdentifier="Cell" id="EzM-5L-53C" customClass="SongCell">
98 <rect key="frame" x="0.0" y="22" width="320" height="44"/>
99 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
100 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
101@@ -546,7 +546,7 @@
102 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
103 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
104 <prototypes>
105- <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="JsP-i0-8FD" detailTextLabel="tKX-ZD-fxt" style="IBUITableViewCellStyleSubtitle" id="B41-VB-iYU" customClass="PlaylistCell">
106+ <tableViewCell contentMode="scaleToFill" selectionStyle="gray" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="JsP-i0-8FD" detailTextLabel="tKX-ZD-fxt" style="IBUITableViewCellStyleSubtitle" id="B41-VB-iYU" customClass="PlaylistCell">
107 <rect key="frame" x="0.0" y="22" width="320" height="44"/>
108 <autoresizingMask key="autoresizingMask"/>
109 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
110@@ -874,6 +874,123 @@
111 <image name="settings.png" width="30" height="30"/>
112 <image name="songs.png" width="30" height="30"/>
113 </resources>
114+ <classes>
115+ <class className="AlbumCell" superclassName="UITableViewCell">
116+ <source key="sourceIdentifier" type="project" relativePath="./Classes/AlbumCell.h"/>
117+ </class>
118+ <class className="AlbumViewController" superclassName="UIViewController">
119+ <source key="sourceIdentifier" type="project" relativePath="./Classes/AlbumViewController.h"/>
120+ <relationships>
121+ <relationship kind="outlet" name="albumArt" candidateClass="UIImageView"/>
122+ <relationship kind="outlet" name="albumDescription" candidateClass="UILabel"/>
123+ <relationship kind="outlet" name="albumTitle" candidateClass="UILabel"/>
124+ <relationship kind="outlet" name="nowPlayingButton" candidateClass="UIBarButtonItem"/>
125+ <relationship kind="outlet" name="tableView" candidateClass="UITableView"/>
126+ </relationships>
127+ </class>
128+ <class className="AlbumsViewController" superclassName="UOIndexedViewController">
129+ <source key="sourceIdentifier" type="project" relativePath="./Classes/AlbumsViewController.h"/>
130+ </class>
131+ <class className="ArtistCell" superclassName="UITableViewCell">
132+ <source key="sourceIdentifier" type="project" relativePath="./Classes/ArtistCell.h"/>
133+ </class>
134+ <class className="ArtistViewController" superclassName="SubsonicTableViewController">
135+ <source key="sourceIdentifier" type="project" relativePath="./Classes/ArtistViewController.h"/>
136+ <relationships>
137+ <relationship kind="outlet" name="albumArt" candidateClass="UIImageView"/>
138+ <relationship kind="outlet" name="artistDescription" candidateClass="UILabel"/>
139+ <relationship kind="outlet" name="artistName" candidateClass="UILabel"/>
140+ <relationship kind="outlet" name="tableView" candidateClass="UITableView"/>
141+ </relationships>
142+ </class>
143+ <class className="ArtistsViewController" superclassName="UOIndexedViewController">
144+ <source key="sourceIdentifier" type="project" relativePath="./Classes/ArtistsViewController.h"/>
145+ </class>
146+ <class className="PlayerHeaderView" superclassName="UIView">
147+ <source key="sourceIdentifier" type="project" relativePath="./Classes/PlayerHeaderView.h"/>
148+ <relationships>
149+ <relationship kind="outlet" name="album" candidateClass="UILabel"/>
150+ <relationship kind="outlet" name="artist" candidateClass="UILabel"/>
151+ <relationship kind="outlet" name="title" candidateClass="UILabel"/>
152+ </relationships>
153+ </class>
154+ <class className="PlayerViewController" superclassName="UIViewController">
155+ <source key="sourceIdentifier" type="project" relativePath="./Classes/PlayerViewController.h"/>
156+ <relationships>
157+ <relationship kind="action" name="hide:"/>
158+ <relationship kind="action" name="next:"/>
159+ <relationship kind="action" name="pause:"/>
160+ <relationship kind="action" name="play:"/>
161+ <relationship kind="action" name="previous:"/>
162+ <relationship kind="outlet" name="albumart" candidateClass="UIButton"/>
163+ <relationship kind="outlet" name="artistLabel" candidateClass="UILabel"/>
164+ <relationship kind="outlet" name="controlBar" candidateClass="UIToolbar"/>
165+ <relationship kind="outlet" name="nextButton" candidateClass="UIBarButtonItem"/>
166+ <relationship kind="outlet" name="pauseButton" candidateClass="UIBarButtonItem"/>
167+ <relationship kind="outlet" name="playButton" candidateClass="UIBarButtonItem"/>
168+ <relationship kind="outlet" name="previousButton" candidateClass="UIBarButtonItem"/>
169+ <relationship kind="outlet" name="titleLabel" candidateClass="UILabel"/>
170+ </relationships>
171+ </class>
172+ <class className="PlaylistCell" superclassName="UITableViewCell">
173+ <source key="sourceIdentifier" type="project" relativePath="./Classes/PlaylistCell.h"/>
174+ </class>
175+ <class className="PlaylistsViewController" superclassName="UOIndexedViewController">
176+ <source key="sourceIdentifier" type="project" relativePath="./Classes/PlaylistsViewController.h"/>
177+ </class>
178+ <class className="PullRefreshTableViewController" superclassName="UITableViewController">
179+ <source key="sourceIdentifier" type="project" relativePath="./Classes/PullRefreshTableViewController.h"/>
180+ </class>
181+ <class className="SettingsAuthenticationViewController" superclassName="UIViewController">
182+ <source key="sourceIdentifier" type="project" relativePath="./Classes/SettingsAuthenticationViewController.h"/>
183+ <relationships>
184+ <relationship kind="action" name="authenticate:"/>
185+ <relationship kind="outlet" name="passwordField" candidateClass="UITextField"/>
186+ <relationship kind="outlet" name="shade" candidateClass="UIView"/>
187+ <relationship kind="outlet" name="spinner" candidateClass="UIActivityIndicatorView"/>
188+ <relationship kind="outlet" name="usernameField" candidateClass="UITextField"/>
189+ </relationships>
190+ </class>
191+ <class className="SettingsViewController" superclassName="UIViewController">
192+ <source key="sourceIdentifier" type="project" relativePath="./Classes/SettingsViewController.h"/>
193+ <relationships>
194+ <relationship kind="action" name="deleteCaches:"/>
195+ <relationship kind="action" name="deleteCredentials:"/>
196+ <relationship kind="outlet" name="artCacheSize" candidateClass="UILabel"/>
197+ <relationship kind="outlet" name="buildNumber" candidateClass="UILabel"/>
198+ <relationship kind="outlet" name="songCacheSize" candidateClass="UILabel"/>
199+ <relationship kind="outlet" name="versionNumber" candidateClass="UILabel"/>
200+ </relationships>
201+ </class>
202+ <class className="SongCell" superclassName="UITableViewCell">
203+ <source key="sourceIdentifier" type="project" relativePath="./Classes/SongCell.h"/>
204+ <relationships>
205+ <relationship kind="outlet" name="cacheImageIndicator" candidateClass="UIImageView"/>
206+ <relationship kind="outlet" name="cacheIndicator" candidateClass="UIView"/>
207+ <relationship kind="outlet" name="clock" candidateClass="UILabel"/>
208+ <relationship kind="outlet" name="handle" candidateClass="UIImageView"/>
209+ <relationship kind="outlet" name="title" candidateClass="UILabel"/>
210+ <relationship kind="outlet" name="topView" candidateClass="UIView"/>
211+ <relationship kind="outlet" name="track" candidateClass="UILabel"/>
212+ </relationships>
213+ </class>
214+ <class className="SongsViewController" superclassName="UOIndexedViewController">
215+ <source key="sourceIdentifier" type="project" relativePath="./Classes/SongsViewController.h"/>
216+ </class>
217+ <class className="SubsonicTableViewController" superclassName="PullRefreshTableViewController">
218+ <source key="sourceIdentifier" type="project" relativePath="./Classes/SubsonicTableViewController.h"/>
219+ <relationships>
220+ <relationship kind="action" name="nowPlayingAction:"/>
221+ <relationship kind="action" name="reload:"/>
222+ </relationships>
223+ </class>
224+ <class className="UOIndexedViewController" superclassName="UITableViewController">
225+ <source key="sourceIdentifier" type="project" relativePath="./Classes/UOIndexedViewController.h"/>
226+ <relationships>
227+ <relationship kind="outlet" name="nowPlayingButton" candidateClass="UIBarButtonItem"/>
228+ </relationships>
229+ </class>
230+ </classes>
231 <simulatedMetricsContainer key="defaultSimulatedMetrics">
232 <simulatedStatusBarMetrics key="statusBar"/>
233 <simulatedOrientationMetrics key="orientation"/>
234
235=== modified file 'Music/Utilities/UODownloader.m'
236--- Music/Utilities/UODownloader.m 2013-01-30 20:09:23 +0000
237+++ Music/Utilities/UODownloader.m 2013-01-30 20:09:23 +0000
238@@ -62,10 +62,9 @@
239 #pragma mark - Private methods
240
241 - (NSURLRequest *)requestWithURL:(NSURL *)url {
242- NSURLRequest *echo = [UOAuthManager oauthRequestForPath:[url absoluteString]];
243 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
244 [request setHTTPMethod:@"GET"];
245- [request addValue:[echo valueForHTTPHeaderField:@"Authorization"] forHTTPHeaderField:@"Authorization"];
246+ [request addValue:[[UOAuthManager sharedAuthManager] authorizationHeaderString] forHTTPHeaderField:AUTHORIZATION_HEADER_KEY];
247
248 return (NSURLRequest *)request;
249 }
250
251=== modified file 'U1Music.xcodeproj/project.pbxproj'
252--- U1Music.xcodeproj/project.pbxproj 2013-01-30 20:09:23 +0000
253+++ U1Music.xcodeproj/project.pbxproj 2013-01-30 20:09:23 +0000
254@@ -1280,6 +1280,7 @@
255 1D60588F0D05DD3D006BFB54 /* Frameworks */,
256 913A54A81450C1310081FD67 /* Run Script */,
257 1D60588D0D05DD3D006BFB54 /* Resources */,
258+ 5297671616B70D6A00A40EDB /* ShellScript */,
259 );
260 buildRules = (
261 );
262@@ -1297,7 +1298,7 @@
263 29B97313FDCFA39411CA2CEA /* Project object */ = {
264 isa = PBXProject;
265 attributes = {
266- LastUpgradeCheck = 0440;
267+ LastUpgradeCheck = 0460;
268 ORGANIZATIONNAME = Canonical;
269 };
270 buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "U1Music" */;
271@@ -1465,6 +1466,20 @@
272 /* End PBXResourcesBuildPhase section */
273
274 /* Begin PBXShellScriptBuildPhase section */
275+ 5297671616B70D6A00A40EDB /* ShellScript */ = {
276+ isa = PBXShellScriptBuildPhase;
277+ buildActionMask = 2147483647;
278+ files = (
279+ );
280+ inputPaths = (
281+ );
282+ outputPaths = (
283+ );
284+ runOnlyForDeploymentPostprocessing = 0;
285+ shellPath = /bin/sh;
286+ shellScript = "buildPlist=${CODESIGNING_FOLDER_PATH}/../${INFOPLIST_PATH}\nCFBundleVersion=`/usr/local/bin/bzr revno`\nCFBuildDate=$(date +%Y%m%d%H%M%S)\n\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $CFBundleVersion\" \"$buildPlist\"\n/usr/libexec/PlistBuddy -c \"Add :CFBuildDate date $CFBuildDate\" \"$buildPlist\"";
287+ showEnvVarsInLog = 0;
288+ };
289 913A54A81450C1310081FD67 /* Run Script */ = {
290 isa = PBXShellScriptBuildPhase;
291 buildActionMask = 2147483647;
292@@ -1594,7 +1609,6 @@
293 ALWAYS_SEARCH_USER_PATHS = NO;
294 ARCHS = "$(ARCHS_STANDARD_32_BIT)";
295 CLANG_ENABLE_OBJC_ARC = YES;
296- CLANG_WARN_OBJCPP_ARC_ABI = YES;
297 CODE_SIGN_ENTITLEMENTS = "";
298 CODE_SIGN_IDENTITY = "iPhone Developer";
299 "CODE_SIGN_IDENTITY[sdk=*]" = "iPhone Developer";
300@@ -1634,7 +1648,6 @@
301 ALWAYS_SEARCH_USER_PATHS = NO;
302 ARCHS = "$(ARCHS_STANDARD_32_BIT)";
303 CLANG_ENABLE_OBJC_ARC = YES;
304- CLANG_WARN_OBJCPP_ARC_ABI = YES;
305 CODE_SIGN_ENTITLEMENTS = Entitlements.plist;
306 CODE_SIGN_IDENTITY = "iPhone Distribution";
307 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";

Subscribers

People subscribed via source and target branches