Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0241cacb authored by Mike Lockwood's avatar Mike Lockwood
Browse files

DO NOT MERGE MTP and media provider support for multiple storage devices:



- MTP support for multiple storage units

- Add storage_id column to media database for MTP storage ID

- Add framework resource for defining mount points and user visible descriptions
for multiple volumes

- Clean up locking in MtpServer JNI code

Change-Id: Ide6d47bd9aa1698ed2a13d695613e03f2a9b29e3
Signed-off-by: default avatarMike Lockwood <lockwood@android.com>
parent ae23aaee
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -70,6 +70,9 @@ public:
                                    int fileGroup, int filePerm, int directoryPerm);
    virtual             ~MtpServer();

    MtpStorage*         getStorage(MtpStorageID id);
    inline bool         hasStorage() { return mStorages.size() > 0; }
    bool                hasStorage(MtpStorageID id);
    void                addStorage(MtpStorage* storage);
    void                removeStorage(MtpStorage* storage);

@@ -79,9 +82,6 @@ public:
    void                sendObjectRemoved(MtpObjectHandle handle);

private:
    MtpStorage*         getStorage(MtpStorageID id);
    inline bool         hasStorage() { return mStorages.size() > 0; }
    bool                hasStorage(MtpStorageID id);
    void                sendStoreAdded(MtpStorageID id);
    void                sendStoreRemoved(MtpStorageID id);
    void                sendEvent(MtpEventCode code, uint32_t param1);
+4 −2
Original line number Diff line number Diff line
@@ -32,9 +32,11 @@

namespace android {

MtpStorage::MtpStorage(MtpStorageID id, const char* filePath, uint64_t reserveSpace)
MtpStorage::MtpStorage(MtpStorageID id, const char* filePath,
        const char* description, uint64_t reserveSpace)
    :   mStorageID(id),
        mFilePath(filePath),
        mDescription(description),
        mMaxCapacity(0),
        mReserveSpace(reserveSpace)
{
@@ -75,7 +77,7 @@ uint64_t MtpStorage::getFreeSpace() {
}

const char* MtpStorage::getDescription() const {
    return "Device Storage";
    return (const char *)mDescription;
}

}  // namespace android
+2 −1
Original line number Diff line number Diff line
@@ -29,13 +29,14 @@ class MtpStorage {
private:
    MtpStorageID            mStorageID;
    MtpString               mFilePath;
    MtpString               mDescription;
    uint64_t                mMaxCapacity;
    // amount of free space to leave unallocated
    uint64_t                mReserveSpace;

public:
                            MtpStorage(MtpStorageID id, const char* filePath,
                                    uint64_t reserveSpace);
                                    const char* description, uint64_t reserveSpace);
    virtual                 ~MtpStorage();

    inline MtpStorageID     getStorageID() const { return mStorageID; }
+0 −2
Original line number Diff line number Diff line
@@ -22,8 +22,6 @@

#define MTP_STANDARD_VERSION            100

#define MTP_FIRST_STORAGE_ID            0x00010001

// Container Types
#define MTP_CONTAINER_TYPE_UNDEFINED    0
#define MTP_CONTAINER_TYPE_COMMAND      1