Bug Fix: Fix resume playback on startup
In case multiple playlist entries are left marked as "current" in the playlist database, resume playback on the first one, and unmark all the rest of them. Signed-off-by: Christopher Snowhill <kode54@gmail.com>
This commit is contained in:
parent
92dbe351af
commit
b858a48032
1 changed files with 8 additions and 1 deletions
|
@ -249,7 +249,7 @@ static AppController *kAppController = nil;
|
||||||
NSError *error = nil;
|
NSError *error = nil;
|
||||||
NSArray *results = [playlistController.persistentContainer.viewContext executeFetchRequest:request error:&error];
|
NSArray *results = [playlistController.persistentContainer.viewContext executeFetchRequest:request error:&error];
|
||||||
|
|
||||||
if(results && [results count] == 1) {
|
if(results && [results count] > 0) {
|
||||||
PlaylistEntry *pe = results[0];
|
PlaylistEntry *pe = results[0];
|
||||||
if([[NSUserDefaults standardUserDefaults] boolForKey:@"resumePlaybackOnStartup"]) {
|
if([[NSUserDefaults standardUserDefaults] boolForKey:@"resumePlaybackOnStartup"]) {
|
||||||
[playbackController playEntryAtIndex:pe.index startPaused:(lastStatus == CogStatusPaused) andSeekTo:@(pe.currentPosition)];
|
[playbackController playEntryAtIndex:pe.index startPaused:(lastStatus == CogStatusPaused) andSeekTo:@(pe.currentPosition)];
|
||||||
|
@ -260,6 +260,13 @@ static AppController *kAppController = nil;
|
||||||
pe.countAdded = NO;
|
pe.countAdded = NO;
|
||||||
[playlistController commitPersistentStore];
|
[playlistController commitPersistentStore];
|
||||||
}
|
}
|
||||||
|
// Bug fix
|
||||||
|
if([results count] > 1) {
|
||||||
|
for(size_t i = 1; i < [results count]; ++i) {
|
||||||
|
PlaylistEntry *pe = results[i];
|
||||||
|
[pe setCurrent:NO];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue