View Issue Details

IDProjectCategoryView StatusLast Update
0014309MMW v4Synchronizationpublic2017-07-26 21:35
Reportermarek Assigned To 
PriorityurgentSeveritymajorReproducibilityalways
Status closedResolutionfixed 
PlatformAndroidOS-OS Versionall
Product Version4.1.17 
Target Version4.1.18Fixed in Version4.1.18 
Summary0014309: USB sync doesn't work for readonly storages
DescriptionSome devices restricts MMA to write to SD card completely. The only way to sync is USB sync. But MMA cannot write storageInfo to SD card. That is why MMA always stores all data to all storageInfo.xml files. But MMW doesn't use it and it inserts paths without prefix to mmstore.db.synced. This is unusable for MMA and USB sync fails.

I have list of all storageInfo.xml files from one device:

primary:MediaMonkey/files/storageInfo.xml

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<storages version="1.3" storageGuid="0123456789012345678901234567890.0.0af29a4f-6009-4c24-928d-484526b7d5ff">
  <storage>
    <title>Interner Speicher</title>
    <path>/storage/emulated/0</path>
    <prefix>primary:</prefix>
    <info>MediaMonkey/files/storageInfo.xml</info>
    <type>read-write</type>
    <current>1</current>
  </storage>
  <storage>
    <title>SD-Karte</title>
    <path>/mnt/external_sd</path>
    <prefix>63D5-E6FD:</prefix>
    <info>MediaMonkey/files/storageInfo.xml</info>
    <type>read-only</type>
    <current>0</current>
  </storage>
</storages>

63D5-E6FD:MediaMonkey/files/storageInfo.xml.mmw

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<storages version="1.0" storageGuid="246c63c5-d7de-4ea7-a290-4dea38916db1.0.58bf0381-6833-4a56-bae0-be67e6d602b9">
</storages>

Btw. I can maybe add <guid> tag for each storage. Now there is GUID for current storage only. StorageInfo.xml version will be 1.4:

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<storages version="1.4" storageGuid="0123456789012345678901234567890.0.0af29a4f-6009-4c24-928d-484526b7d5ff">
  <storage>
    <title>Interner Speicher</title>
    <path>/storage/emulated/0</path>
    <prefix>primary:</prefix>
    <guid>0123456789012345678901234567890.0.0af29a4f-6009-4c24-928d-484526b7d5ff</guid>
    <info>MediaMonkey/files/storageInfo.xml</info>
    <type>read-write</type>
    <current>1</current>
  </storage>
  <storage>
    <title>SD-Karte</title>
    <path>/mnt/external_sd</path>
    <prefix>63D5-E6FD:</prefix>
    <guid>246c63c5-d7de-4ea7-a290-4dea38916db1.0.58bf0381-6833-4a56-bae0-be67e6d602b9</guid>
    <info>MediaMonkey/files/storageInfo.xml</info>
    <type>read-only</type>
    <current>0</current>
  </storage>
</storages>

I actually don't know why we do not have it this way since beginning. This way you can pair it more easily.

I know that ther are usecases where MMW won't have prefix but it cannot do USB sync without it.
TagsNo tags attached.
Fixed in build1842

Relationships

related to 0014150 closedLudek MMW v4 MMW syncs with deprecated paths over USB 
related to 0014312 closedmarek MMA Add GUID to storageInfo.xml for all storages so MMW can match the storages 

Activities

marek

2017-07-25 10:12

developer   ~0048400

GUID for all storages was added to MMA build 718. Storage info version was increased to 1.4.

attribute storageGuid remains for backward compatibility:
<storages version="1.4" storageGuid="0123456789012345678901234567890.0.0af29a4f-6009-4c24-928d-484526b7d5ff">

Ludek

2017-07-25 19:07

developer   ~0048406

Last edited: 2017-07-25 19:09

Fixed in 4.1.18.1841 and merged to 5.0.0.2073

Test note: Needs to be tested against MMA build 718 so that the <guid> element is presented for each storage to pair accordingly (as one Android device can have more than one SD card)

peke

2017-07-26 01:14

developer   ~0048415

I guess you meant 1842?

Ludek

2017-07-26 11:27

developer   ~0048416

yes, corrected

peke

2017-07-26 21:35

developer   ~0048419

Verified 1842/719