View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0012848 | MMA | Synchronization | public | 2015-09-10 22:16 | 2015-11-22 21:18 |
Reporter | rusty | Assigned To | |||
Priority | immediate | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 1.1.3 | ||||
Target Version | 1.1.3 | Fixed in Version | 1.1.3 | ||
Summary | 0012848: Container playlists and their children don't sync (regression) | ||||
Description | In MMA 1.1.3, playlists that are children of empty container playlists fail to sync. | ||||
Tags | No tags attached. | ||||
Fixed in build | 507 | ||||
related to | 0012853 | closed | Ludek | MMW v4 | Empty M3U files should be deleted during auto-sync |
parent of | 0012962 | closed | Ludek | MMW v4 | MMA fails to update playlists synced via USB |
related to | 0012966 | closed | Ludek | MMW v4 | USB sync prompts for the deletion of Parent playlists unnecessarily |
related to | 0012097 | closed | Ludek | MMW v4 | Device Playlists: Are not sorted but loaded in order on Device Library. |
|
The issue is that MMW does not create empty m3u file and therefore this parent playlist is deleted in following MediaStore sync. I cannot reproduce it on my devices. I have added logs to build 476 |
|
I tested USB sync and see the same issue. Note that watching the code MMW has never written empty M3U files, but always just writse them to the MMA's DB (mmstore.db.synced), the true is that if I tweaked MMW to write also empty (0 Bytes) M3Us then the issue no longer appears. So I can tweak MMW to write empty M3Us, but I am just not sure whether it cannot be problematic for some Android apps to read such a dummy M3Us ? Wouldn't be better if MMA wouldn't delete such a "0 tracks" containers for which the M3U has never existed? Or does MMA also create empty M3Us during WiFi sync? If yes, MMW could write them too for consistency. |
|
IM duscussion: Rusty: I don't know the answer to that, but I can tell you that MMA 1.1.2 worked correctly with the empty playlist containers (even though MMW's behavior didn't change), so it should be possible to get it working agoin without changes on MMW's side. Luded: ok, the true is that such an empty M3U file is candidate for deletion from the user perspective ;) Marek: Yes, MMA creates this files during wifi sync too. And it was implemented due to MediaStore, because there are often this "ghost" playlists where m3u file doesn't exist. So MMA deletes all playlists with 0 tracks and no file... Marek: When user deleted some playlist in MediaStore, it stayed there as this empty playlist and Google Play didn't show empty playlists... Ludek: ok, if it was something that needed to be changed for MMA 1.1.3 then I can tweak it on MMW side, but as I wrote, there is still a probability that user will delete those empty M3Us manually. But not a big deal probably. |
|
I tested build 475 further, and it seems that: On a nexus device / android 5.1: the child playlists are created correctly (in MMA and in other apps via the MediaStore) and the empty 'container' playlist appears correctly in MMA as well, BUT also appears as an empty playlist in other apps via the MediaStore (it doesn't appear in the Google Play since Google Play hides empty playlists). Note: this is the exact same behaviour as MMA 1.1.2 BUT, on a samsung tab 4 pro / kitkat: the parent container and child playlists aren't created (neither for sync to internal memory or external memory) in MMA (even though this worked in MMA 1.1.2 on that device). Summary: a) We need to fix the problem that occurs on the samsung tablet b) We should probably prevent 'container' playlists that contain 0 tracks from being synced to the mediastore. |
|
Rusty: The discussion as we left it was that: a) the bug re. missing parent playlists doesn't have to be explicitly fixed (it'll be covered by changes b/c/d below) b) Marke would will implement - stop creating m3u files for empty playlists - stop delete empty playlists with childs - stop sync empty playlists with childs c) No conclusion re. whether to create .m3u files for container playlists in MMW (with no children) d) implement the same for USB sync BUT then Ludek indicated that this logic is overly complex and could yield regressions, and perhaps the .m3u playlists should just always be created. And I suggested that that always creating playlists would cause usability problems since users would delete empty playlists and they would repeatedly get recreated, so it would be better to just not create them at all. btw, to be clear about priorities (and to help me make sure that this is clear in my mind as well), MMA/MMW: i) must represent the hierarchy of MM playlists consistently across MMA/MMW ii) must bidirectionally sync MM playlists across MMA/MMW iii) should sync playlists in such a manner that they are accurately represented in 3rd party apps (i.e. they should display all playlists that contain tracks) iv) should bidirectionally sync playlists from the mediastore btw, I should add that in terms of the 4 priorities listed above, afaik MMA 1.1.2 meets all of them except for iii) which it only partially meets (it works for Google Music, but not for other music apps). For MMA 1.1.3 it would be ok if the same behavior/limitation remained. Afaik, the only really critical problem is the regression that child playlists aren't syncing on some devices as described at 0012848. Marek: Well I have already implemented it as you suggested: - empty M3U files for empty playlists are never created - empty playlists are not synced with MediaStore - when user syncs some playlists with tracks and these tracks are deleted or they are removed from playlists - the m3u file of this playlist is deleted. This playlist is also removed from MediaStore and de-synced. So it is consistent... ---- The remaining issue is whether to create a new MMW 4.1.9 build that implements consistent USB sync behavior (perhaps as a separate bug). |
|
Tracked as 0012853 |
|
Fixed in build 477 |
|
Fixed in build 477 |
|
Verified 477 |
|
This issue occurs again in build 504: the parent playlist is synced on Wi-Fi sync, but the children aren't. Debug logs of this are at 0012962. |
|
New test results: Re-installed 504 Initiated Wi-Fi sync Checked with ES Explorer--all playlists appear in app-specific folder (other Playlist directories are empty) MMA Playlists node shows: Ari's Bar Mitzvah but sub playlists are missing, New Pop 2.5+, Test Playlists but subplaylists are missing Debug log: XL4G7BLAFA |
|
Fixed in build 505 |
|
Build 505a: -Now I get a 'sync incomplete' error on Wi-Fi sync against MMW 4.1.9 using the S3/Android 4.4.2. Debug log: DUL1ZOCBQF -Same happens with the Tab 8 / Android 4.4.2. Debug log: FM09297RR6 Test results build 505b: On the S3: The container playlists sync, but the child playlists are missing (i.e. same as with build 504). i.e. the following playlists synced: Ari's Bar Mitzvah but sub playlists are missing, New Pop 2.5+, Test Playlists but subplaylists are missing. Debug log: 2PS73L7L6I |
|
This issue seems to be mostly (but not completely) resolved in build 506. See comments at 0012962:0043364. Marek, please confirm whether it's resolved or not (once you have a look at the logs). |
|
Fixed in build 507 |
|
Verified build 507. |