Merge lp:~urbanape/ubuntuone-ios-client/2.0-release into lp:ubuntuone-ios-client

Proposed by Zachery Bir
Status: Merged
Approved by: Zachery Bir
Approved revision: 203
Merged at revision: 198
Proposed branch: lp:~urbanape/ubuntuone-ios-client/2.0-release
Merge into: lp:ubuntuone-ios-client
Diff against target: 323 lines (+115/-28)
9 files modified
musicstreaming/iSub-Info.plist (+1/-1)
musicstreaming/view_controllers/AlbumViewController.m (+0/-1)
musicstreaming/view_controllers/PlaylistEditAlbumListViewController.m (+12/-1)
musicstreaming/view_controllers/PlaylistEditAlbumViewController.m (+13/-1)
musicstreaming/view_controllers/PlaylistEditArtistListViewController.m (+12/-1)
musicstreaming/view_controllers/PlaylistEditArtistViewController.m (+12/-1)
musicstreaming/view_controllers/PlaylistEditSongListViewController.m (+12/-1)
musicstreaming/view_controllers/PlaylistViewController.m (+49/-21)
musicstreaming/view_controllers/SongViewController.m (+4/-0)
To merge this branch: bzr merge lp:~urbanape/ubuntuone-ios-client/2.0-release
Reviewer Review Type Date Requested Status
Jason Foreman (community) Approve
Review via email: mp+65671@code.launchpad.net

Description of the change

This branch makes the Done button take precedent over the Now Playing button when in playlist edit mode, requires confirmation before clearing or deleting a playlist, and properly uses the default album art when in playback mode, if the track doesn't have its own album art.

To post a comment you must log in.
Revision history for this message
Jason Foreman (threeve) wrote :

Approved, assuming the fix from lp:~threeve/ubuntuone-ios-client/fix-clear-edit-playlist is merged in.

review: Approve
202. By Zachery Bir

Merged fix-clear-edit-playlist

203. By Zachery Bir

Bumped version

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'musicstreaming/iSub-Info.plist'
2--- musicstreaming/iSub-Info.plist 2011-06-22 19:22:45 +0000
3+++ musicstreaming/iSub-Info.plist 2011-06-23 18:49:47 +0000
4@@ -41,7 +41,7 @@
5 </dict>
6 </array>
7 <key>CFBundleVersion</key>
8- <string>14</string>
9+ <string>17</string>
10 <key>LSRequiresIPhoneOS</key>
11 <false/>
12 <key>NSMainNibFile</key>
13
14=== modified file 'musicstreaming/view_controllers/AlbumViewController.m'
15--- musicstreaming/view_controllers/AlbumViewController.m 2011-06-22 19:22:45 +0000
16+++ musicstreaming/view_controllers/AlbumViewController.m 2011-06-23 18:49:47 +0000
17@@ -325,7 +325,6 @@
18 cancelButtonItem:cancelButton otherButtonItems:dismissButton, nil];
19 [alertView show];
20 [alertView release];
21-
22 }
23 }
24 }
25
26=== modified file 'musicstreaming/view_controllers/PlaylistEditAlbumListViewController.m'
27--- musicstreaming/view_controllers/PlaylistEditAlbumListViewController.m 2011-05-27 18:37:16 +0000
28+++ musicstreaming/view_controllers/PlaylistEditAlbumListViewController.m 2011-06-23 18:49:47 +0000
29@@ -22,6 +22,8 @@
30 #import "Playlist.h"
31 #import "Album.h"
32 #import "PlaylistEditAlbumViewController.h"
33+#import "StreamingPlayer.h"
34+#import "Reachability.h"
35
36
37 @implementation PlaylistEditAlbumListViewController
38@@ -33,13 +35,22 @@
39 PlaylistEditAlbumListViewController *playlistEditAlbumListViewController = [[[PlaylistEditAlbumListViewController alloc] initWithTitle:NSLocalizedString(@"Albums", @"")] autorelease];
40 playlistEditAlbumListViewController.originator = originator;
41 playlistEditAlbumListViewController.navigationItem.prompt = [NSString stringWithFormat:@"%@ \"%@\".", NSLocalizedString(@"Add songs to", @""), originator.playlist.name];
42- playlistEditAlbumListViewController.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", @"") style:UIBarButtonItemStylePlain target:originator action:@selector(finish:)] autorelease];
43 UINavigationController *nav = [[[UINavigationController alloc] initWithRootViewController:playlistEditAlbumListViewController] autorelease];
44 nav.navigationBar.barStyle = UIBarStyleBlack;
45 nav.tabBarItem.image = [[UIImage imageNamed:@"albums"] autorelease];
46 return nav;
47 }
48
49+- (void)viewWillAppear:(BOOL)animated
50+{
51+ [super viewWillAppear:animated];
52+
53+ self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", @"") style:UIBarButtonItemStylePlain target:originator action:@selector(finish:)] autorelease];
54+
55+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
56+ [self updateReachability:[[Subsonic sharedSubsonic] reachability]];
57+}
58+
59 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
60 {
61 Album *selection = nil;
62
63=== modified file 'musicstreaming/view_controllers/PlaylistEditAlbumViewController.m'
64--- musicstreaming/view_controllers/PlaylistEditAlbumViewController.m 2011-06-22 16:06:39 +0000
65+++ musicstreaming/view_controllers/PlaylistEditAlbumViewController.m 2011-06-23 18:49:47 +0000
66@@ -23,6 +23,8 @@
67 #import "Song.h"
68 #import "PlaylistEditSongUITableViewCell.h"
69 #import "NSDate+Extras.h"
70+#import "StreamingPlayer.h"
71+#import "Reachability.h"
72
73 @implementation PlaylistEditAlbumViewController
74 @synthesize originator;
75@@ -34,10 +36,20 @@
76 {
77 self.originator = playlistEditViewController;
78 self.navigationItem.prompt = [NSString stringWithFormat:@"%@ \"%@\".", NSLocalizedString(@"Add songs to", @""), self.originator.playlist.name];
79- self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", @"") style:UIBarButtonItemStylePlain target:self.originator action:@selector(finish:)] autorelease];
80 }
81 return self;
82 }
83+
84+- (void)viewWillAppear:(BOOL)animated
85+{
86+ [super viewWillAppear:animated];
87+
88+ self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", @"") style:UIBarButtonItemStylePlain target:originator action:@selector(finish:)] autorelease];
89+
90+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
91+ [self updateReachability:[[Subsonic sharedSubsonic] reachability]];
92+}
93+
94 #pragma mark - Table view data source
95
96 - (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
97
98=== modified file 'musicstreaming/view_controllers/PlaylistEditArtistListViewController.m'
99--- musicstreaming/view_controllers/PlaylistEditArtistListViewController.m 2011-05-27 18:37:16 +0000
100+++ musicstreaming/view_controllers/PlaylistEditArtistListViewController.m 2011-06-23 18:49:47 +0000
101@@ -22,6 +22,8 @@
102 #import "PlaylistEditViewController.h"
103 #import "Playlist.h"
104 #import "Artist.h"
105+#import "StreamingPlayer.h"
106+#import "Reachability.h"
107
108
109 @implementation PlaylistEditArtistListViewController
110@@ -33,13 +35,22 @@
111 PlaylistEditArtistListViewController *playlistEditArtistListViewController = [[[PlaylistEditArtistListViewController alloc] initWithTitle:NSLocalizedString(@"Artists", @"")] autorelease];
112 playlistEditArtistListViewController.originator = originator;
113 playlistEditArtistListViewController.navigationItem.prompt = [NSString stringWithFormat:@"%@ \"%@\".", NSLocalizedString(@"Add songs to", @""), originator.playlist.name];
114- playlistEditArtistListViewController.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", @"") style:UIBarButtonItemStylePlain target:originator action:@selector(finish:)] autorelease];
115 UINavigationController *nav = [[[UINavigationController alloc] initWithRootViewController:playlistEditArtistListViewController] autorelease];
116 nav.navigationBar.barStyle = UIBarStyleBlack;
117 nav.tabBarItem.image = [[UIImage imageNamed:@"artists"] autorelease];
118 return nav;
119 }
120
121+- (void)viewWillAppear:(BOOL)animated
122+{
123+ [super viewWillAppear:animated];
124+
125+ self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", @"") style:UIBarButtonItemStylePlain target:originator action:@selector(finish:)] autorelease];
126+
127+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
128+ [self updateReachability:[[Subsonic sharedSubsonic] reachability]];
129+}
130+
131 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
132 {
133 Artist *selection = nil;
134
135=== modified file 'musicstreaming/view_controllers/PlaylistEditArtistViewController.m'
136--- musicstreaming/view_controllers/PlaylistEditArtistViewController.m 2011-05-18 14:26:11 +0000
137+++ musicstreaming/view_controllers/PlaylistEditArtistViewController.m 2011-06-23 18:49:47 +0000
138@@ -23,6 +23,8 @@
139 #import "Album.h"
140 #import "Artist.h"
141 #import "Playlist.h"
142+#import "StreamingPlayer.h"
143+#import "Reachability.h"
144
145
146 @implementation PlaylistEditArtistViewController
147@@ -35,11 +37,20 @@
148 {
149 self.originator = playlistEditViewController;
150 self.navigationItem.prompt = [NSString stringWithFormat:@"%@ \"%@\".", NSLocalizedString(@"Add songs to", @""), self.originator.playlist.name];
151- self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", @"") style:UIBarButtonItemStylePlain target:self.originator action:@selector(finish:)] autorelease];
152 }
153 return self;
154 }
155
156+- (void)viewWillAppear:(BOOL)animated
157+{
158+ [super viewWillAppear:animated];
159+
160+ self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", @"") style:UIBarButtonItemStylePlain target:originator action:@selector(finish:)] autorelease];
161+
162+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
163+ [self updateReachability:[[Subsonic sharedSubsonic] reachability]];
164+}
165+
166 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
167 {
168 if (0 == indexPath.section)
169
170=== modified file 'musicstreaming/view_controllers/PlaylistEditSongListViewController.m'
171--- musicstreaming/view_controllers/PlaylistEditSongListViewController.m 2011-06-22 16:06:39 +0000
172+++ musicstreaming/view_controllers/PlaylistEditSongListViewController.m 2011-06-23 18:49:47 +0000
173@@ -22,6 +22,8 @@
174 #import "PlaylistSongIndex.h"
175 #import "Playlist.h"
176 #import "Song.h"
177+#import "StreamingPlayer.h"
178+#import "Reachability.h"
179
180
181 @implementation PlaylistEditSongListViewController
182@@ -32,13 +34,22 @@
183 PlaylistEditSongListViewController *playlistEditSongListViewController = [[[PlaylistEditSongListViewController alloc] initWithTitle:NSLocalizedString(@"Songs", @"")] autorelease];
184 playlistEditSongListViewController.originator = originator;
185 playlistEditSongListViewController.navigationItem.prompt = [NSString stringWithFormat:@"%@ \"%@\".", NSLocalizedString(@"Add songs to", @""), originator.playlist.name];
186- playlistEditSongListViewController.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", @"") style:UIBarButtonItemStylePlain target:originator action:@selector(finish:)] autorelease];
187 UINavigationController *nav = [[[UINavigationController alloc] initWithRootViewController:playlistEditSongListViewController] autorelease];
188 nav.navigationBar.barStyle = UIBarStyleBlack;
189 nav.tabBarItem.image = [[UIImage imageNamed:@"songs"] autorelease];
190 return nav;
191 }
192
193+- (void)viewWillAppear:(BOOL)animated
194+{
195+ [super viewWillAppear:animated];
196+
197+ self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", @"") style:UIBarButtonItemStylePlain target:originator action:@selector(finish:)] autorelease];
198+
199+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
200+ [self updateReachability:[[Subsonic sharedSubsonic] reachability]];
201+}
202+
203 #pragma mark - UITableView
204
205 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
206
207=== modified file 'musicstreaming/view_controllers/PlaylistViewController.m'
208--- musicstreaming/view_controllers/PlaylistViewController.m 2011-06-21 17:04:19 +0000
209+++ musicstreaming/view_controllers/PlaylistViewController.m 2011-06-23 18:49:47 +0000
210@@ -23,6 +23,8 @@
211 #import "PlaylistParser.h"
212 #import "Song.h"
213 #import "NSMutableArray+Extras.h"
214+#import "RIButtonItem.h"
215+#import "UIAlertView+Blocks.h"
216
217 @interface PlaylistViewController ()
218 - (void)deleteLocalPlaylist;
219@@ -115,14 +117,12 @@
220 - (void)didReceiveMemoryWarning
221 {
222 [super didReceiveMemoryWarning];
223-
224- self.playlist = NULL;
225 }
226
227 - (void)dealloc
228 {
229- self.playlist = NULL;
230-
231+ self.playlist = nil;
232+ self.songs = nil;
233 [super dealloc];
234 }
235
236@@ -217,27 +217,55 @@
237
238 - (void)clearPlaylist
239 {
240- self.playlist.playlistSongIndexes = nil;
241- self.songs = nil;
242- SaveContext();
243- [self.tableView reloadData];
244+ RIButtonItem *cancelButton = [RIButtonItem item];
245+ cancelButton.label = NSLocalizedString(@"Cancel", @"");
246+
247+ RIButtonItem *clearButton = [RIButtonItem item];
248+ clearButton.label = NSLocalizedString(@"Clear", @"");
249+ clearButton.action = ^
250+ {
251+ self.playlist.playlistSongIndexes = nil;
252+ [self.songs removeAllObjects];
253+ SaveContext();
254+ [self.tableView reloadData];
255+ };
256+
257+ UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Clear Playlist", @"")
258+ message:NSLocalizedString(@"This will clear this playlist. It cannot be undone.", @"")
259+ cancelButtonItem:cancelButton otherButtonItems:clearButton, nil];
260+ [alertView show];
261+ [alertView release];
262 }
263
264 - (void)deletePlaylist
265 {
266- if (self.playlist.playlistId)
267- {
268- NSMutableArray *extraParameters = [NSMutableArray array];
269- [extraParameters addKeyValueObjectFromArray:[NSArray arrayWithObjects:@"id", self.playlist.playlistId, nil]];
270- NSURL *url = [[Subsonic sharedSubsonic] getBaseURL:@"deletePlaylist.view" parameters:extraParameters];
271- NSURLRequest *request = [[[NSURLRequest alloc] initWithURL:url] autorelease];
272- NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
273- [connection start];
274- }
275- else
276- {
277- [self deleteLocalPlaylist];
278- }
279+ RIButtonItem *cancelButton = [RIButtonItem item];
280+ cancelButton.label = NSLocalizedString(@"Cancel", @"");
281+
282+ RIButtonItem *deleteButton = [RIButtonItem item];
283+ deleteButton.label = NSLocalizedString(@"Delete", @"");
284+ deleteButton.action = ^
285+ {
286+ if (self.playlist.playlistId)
287+ {
288+ NSMutableArray *extraParameters = [NSMutableArray array];
289+ [extraParameters addKeyValueObjectFromArray:[NSArray arrayWithObjects:@"id", self.playlist.playlistId, nil]];
290+ NSURL *url = [[Subsonic sharedSubsonic] getBaseURL:@"deletePlaylist.view" parameters:extraParameters];
291+ NSURLRequest *request = [[[NSURLRequest alloc] initWithURL:url] autorelease];
292+ NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
293+ [connection start];
294+ }
295+ else
296+ {
297+ [self deleteLocalPlaylist];
298+ }
299+ };
300+
301+ UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Delete Playlist", @"")
302+ message:NSLocalizedString(@"This will delete this playlist. It cannot be undone.", @"")
303+ cancelButtonItem:cancelButton otherButtonItems:deleteButton, nil];
304+ [alertView show];
305+ [alertView release];
306 }
307
308 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
309
310=== modified file 'musicstreaming/view_controllers/SongViewController.m'
311--- musicstreaming/view_controllers/SongViewController.m 2011-06-18 02:04:11 +0000
312+++ musicstreaming/view_controllers/SongViewController.m 2011-06-23 18:49:47 +0000
313@@ -400,6 +400,10 @@
314 [loader download:albumCoverArtId];
315 }
316 }
317+ else
318+ {
319+ coverArtImageView.image = [loader defaultAlbumArt];
320+ }
321
322 [StreamingPlayer sharedStreamingPlayer].currentCoverArt = coverArtImageView.image;
323 }

Subscribers

People subscribed via source and target branches

to all changes: