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

Commit d3bfecb0 authored by Mike Lockwood's avatar Mike Lockwood
Browse files

MTP: Reenable GetObjectPropValue and SetObjectPropValue



Windows no longer chokes now that we implement the minimum set of properties

BUG: 2869730

Change-Id: Ie8bd9107610b9b38f060ad8a2f05334a3b4aff9b
Signed-off-by: default avatarMike Lockwood <lockwood@android.com>
parent 9f679248
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -282,9 +282,13 @@ public class MtpDatabase {
        return new int[] {
            MtpConstants.PROPERTY_STORAGE_ID,
            MtpConstants.PROPERTY_OBJECT_FORMAT,
            MtpConstants.PROPERTY_PROTECTION_STATUS,
            MtpConstants.PROPERTY_OBJECT_SIZE,
            MtpConstants.PROPERTY_OBJECT_FILE_NAME,
            MtpConstants.PROPERTY_DATE_MODIFIED,
            MtpConstants.PROPERTY_PARENT_OBJECT,
            MtpConstants.PROPERTY_PERSISTENT_UID,
            MtpConstants.PROPERTY_NAME,
        };
    }

@@ -301,6 +305,11 @@ public class MtpDatabase {
        String column = null;
        boolean isString = false;

        // temporary hack
        if (property == MtpConstants.PROPERTY_NAME) {
            property = MtpConstants.PROPERTY_OBJECT_FILE_NAME;
        }

        switch (property) {
            case MtpConstants.PROPERTY_STORAGE_ID:
                outIntValue[0] = mStorageID;
+11 −6
Original line number Diff line number Diff line
@@ -672,12 +672,15 @@ struct PropertyTableEntry {
};

static const PropertyTableEntry   kObjectPropertyTable[] = {
    {   MTP_PROPERTY_PARENT_OBJECT,     MTP_TYPE_UINT32 },
    {   MTP_PROPERTY_STORAGE_ID,        MTP_TYPE_UINT32     },
    {   MTP_PROPERTY_OBJECT_FORMAT,     MTP_TYPE_UINT16     },
    {   MTP_PROPERTY_OBJECT_FILE_NAME,  MTP_TYPE_STR    },
    {   MTP_PROPERTY_PROTECTION_STATUS, MTP_TYPE_UINT16     },
    {   MTP_PROPERTY_OBJECT_SIZE,       MTP_TYPE_UINT64     },
    {   MTP_PROPERTY_OBJECT_FILE_NAME,  MTP_TYPE_STR        },
    {   MTP_PROPERTY_DATE_MODIFIED,     MTP_TYPE_STR        },
    {   MTP_PROPERTY_PARENT_OBJECT,     MTP_TYPE_UINT32     },
    {   MTP_PROPERTY_PERSISTENT_UID,    MTP_TYPE_UINT128    },
    {   MTP_PROPERTY_NAME,              MTP_TYPE_STR        },
};

static const PropertyTableEntry   kDevicePropertyTable[] = {
@@ -764,6 +767,7 @@ MtpProperty* MyMtpDatabase::getObjectPropertyDesc(MtpObjectProperty property,
        case MTP_PROPERTY_PERSISTENT_UID:
            result = new MtpProperty(property, MTP_TYPE_UINT128);
            break;
        case MTP_PROPERTY_NAME:
        case MTP_PROPERTY_OBJECT_FILE_NAME:
        case MTP_PROPERTY_DATE_MODIFIED:
            result = new MtpProperty(property, MTP_TYPE_STR);
@@ -780,6 +784,7 @@ MtpProperty* MyMtpDatabase::getDevicePropertyDesc(MtpDeviceProperty property) {
        case MTP_DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME:
            // writeable string properties
            result = new MtpProperty(property, MTP_TYPE_STR, true);
            // FIXME - set current value here!
            break;
    }

+2 −2
Original line number Diff line number Diff line
@@ -70,8 +70,8 @@ static const MtpOperationCode kSupportedOperationCodes[] = {
//    MTP_OPERATION_INITIATE_OPEN_CAPTURE,
    MTP_OPERATION_GET_OBJECT_PROPS_SUPPORTED,
    MTP_OPERATION_GET_OBJECT_PROP_DESC,
//    MTP_OPERATION_GET_OBJECT_PROP_VALUE,
//    MTP_OPERATION_SET_OBJECT_PROP_VALUE,
    MTP_OPERATION_GET_OBJECT_PROP_VALUE,
    MTP_OPERATION_SET_OBJECT_PROP_VALUE,
    MTP_OPERATION_GET_OBJECT_REFERENCES,
    MTP_OPERATION_SET_OBJECT_REFERENCES,
//    MTP_OPERATION_SKIP,