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

Commit 1d4779c2 authored by Daichi Hirono's avatar Daichi Hirono
Browse files

Add operationsSupported to device info.

Because not all MTP devices support getPartialObject, we need to check
supported operation of MTP devices. The CL adds operationsSupported
field to MtpDeviceInfo class.

BUG=26147375

Change-Id: Iaad968fb4497a5ad11bf6489097abea99c3cbac7
parent 359a8ae0
Loading
Loading
Loading
Loading
+36 −0
Original line number Original line Diff line number Diff line
@@ -22456,6 +22456,41 @@ package android.mtp {
    field public static final int FORMAT_WMV = 47489; // 0xb981
    field public static final int FORMAT_WMV = 47489; // 0xb981
    field public static final int FORMAT_WPL_PLAYLIST = 47632; // 0xba10
    field public static final int FORMAT_WPL_PLAYLIST = 47632; // 0xba10
    field public static final int FORMAT_XML_DOCUMENT = 47746; // 0xba82
    field public static final int FORMAT_XML_DOCUMENT = 47746; // 0xba82
    field public static final int OPERATION_CLOSE_SESSION = 4099; // 0x1003
    field public static final int OPERATION_COPY_OBJECT = 4122; // 0x101a
    field public static final int OPERATION_DELETE_OBJECT = 4107; // 0x100b
    field public static final int OPERATION_FORMAT_STORE = 4111; // 0x100f
    field public static final int OPERATION_GET_DEVICE_INFO = 4097; // 0x1001
    field public static final int OPERATION_GET_DEVICE_PROP_DESC = 4116; // 0x1014
    field public static final int OPERATION_GET_DEVICE_PROP_VALUE = 4117; // 0x1015
    field public static final int OPERATION_GET_NUM_OBJECTS = 4102; // 0x1006
    field public static final int OPERATION_GET_OBJECT = 4105; // 0x1009
    field public static final int OPERATION_GET_OBJECT_HANDLES = 4103; // 0x1007
    field public static final int OPERATION_GET_OBJECT_INFO = 4104; // 0x1008
    field public static final int OPERATION_GET_OBJECT_PROPS_SUPPORTED = 38913; // 0x9801
    field public static final int OPERATION_GET_OBJECT_PROP_DESC = 38914; // 0x9802
    field public static final int OPERATION_GET_OBJECT_PROP_VALUE = 38915; // 0x9803
    field public static final int OPERATION_GET_OBJECT_REFERENCES = 38928; // 0x9810
    field public static final int OPERATION_GET_PARTIAL_OBJECT = 4123; // 0x101b
    field public static final int OPERATION_GET_STORAGE_INFO = 4101; // 0x1005
    field public static final int OPERATION_GET_STORAGE_I_DS = 4100; // 0x1004
    field public static final int OPERATION_GET_THUMB = 4106; // 0x100a
    field public static final int OPERATION_INITIATE_CAPTURE = 4110; // 0x100e
    field public static final int OPERATION_INITIATE_OPEN_CAPTURE = 4124; // 0x101c
    field public static final int OPERATION_MOVE_OBJECT = 4121; // 0x1019
    field public static final int OPERATION_OPEN_SESSION = 4098; // 0x1002
    field public static final int OPERATION_POWER_DOWN = 4115; // 0x1013
    field public static final int OPERATION_RESET_DEVICE = 4112; // 0x1010
    field public static final int OPERATION_RESET_DEVICE_PROP_VALUE = 4119; // 0x1017
    field public static final int OPERATION_SELF_TEST = 4113; // 0x1011
    field public static final int OPERATION_SEND_OBJECT = 4109; // 0x100d
    field public static final int OPERATION_SEND_OBJECT_INFO = 4108; // 0x100c
    field public static final int OPERATION_SET_DEVICE_PROP_VALUE = 4118; // 0x1016
    field public static final int OPERATION_SET_OBJECT_PROP_VALUE = 38916; // 0x9804
    field public static final int OPERATION_SET_OBJECT_PROTECTION = 4114; // 0x1012
    field public static final int OPERATION_SET_OBJECT_REFERENCES = 38929; // 0x9811
    field public static final int OPERATION_SKIP = 38944; // 0x9820
    field public static final int OPERATION_TERMINATE_OPEN_CAPTURE = 4120; // 0x1018
    field public static final int PROTECTION_STATUS_NONE = 0; // 0x0
    field public static final int PROTECTION_STATUS_NONE = 0; // 0x0
    field public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 32771; // 0x8003
    field public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 32771; // 0x8003
    field public static final int PROTECTION_STATUS_READ_ONLY = 32769; // 0x8001
    field public static final int PROTECTION_STATUS_READ_ONLY = 32769; // 0x8001
@@ -22489,6 +22524,7 @@ package android.mtp {
  public class MtpDeviceInfo {
  public class MtpDeviceInfo {
    method public final java.lang.String getManufacturer();
    method public final java.lang.String getManufacturer();
    method public final java.lang.String getModel();
    method public final java.lang.String getModel();
    method public final int[] getOperationsSupported();
    method public final java.lang.String getSerialNumber();
    method public final java.lang.String getSerialNumber();
    method public final java.lang.String getVersion();
    method public final java.lang.String getVersion();
  }
  }
+36 −0
Original line number Original line Diff line number Diff line
@@ -24002,6 +24002,41 @@ package android.mtp {
    field public static final int FORMAT_WMV = 47489; // 0xb981
    field public static final int FORMAT_WMV = 47489; // 0xb981
    field public static final int FORMAT_WPL_PLAYLIST = 47632; // 0xba10
    field public static final int FORMAT_WPL_PLAYLIST = 47632; // 0xba10
    field public static final int FORMAT_XML_DOCUMENT = 47746; // 0xba82
    field public static final int FORMAT_XML_DOCUMENT = 47746; // 0xba82
    field public static final int OPERATION_CLOSE_SESSION = 4099; // 0x1003
    field public static final int OPERATION_COPY_OBJECT = 4122; // 0x101a
    field public static final int OPERATION_DELETE_OBJECT = 4107; // 0x100b
    field public static final int OPERATION_FORMAT_STORE = 4111; // 0x100f
    field public static final int OPERATION_GET_DEVICE_INFO = 4097; // 0x1001
    field public static final int OPERATION_GET_DEVICE_PROP_DESC = 4116; // 0x1014
    field public static final int OPERATION_GET_DEVICE_PROP_VALUE = 4117; // 0x1015
    field public static final int OPERATION_GET_NUM_OBJECTS = 4102; // 0x1006
    field public static final int OPERATION_GET_OBJECT = 4105; // 0x1009
    field public static final int OPERATION_GET_OBJECT_HANDLES = 4103; // 0x1007
    field public static final int OPERATION_GET_OBJECT_INFO = 4104; // 0x1008
    field public static final int OPERATION_GET_OBJECT_PROPS_SUPPORTED = 38913; // 0x9801
    field public static final int OPERATION_GET_OBJECT_PROP_DESC = 38914; // 0x9802
    field public static final int OPERATION_GET_OBJECT_PROP_VALUE = 38915; // 0x9803
    field public static final int OPERATION_GET_OBJECT_REFERENCES = 38928; // 0x9810
    field public static final int OPERATION_GET_PARTIAL_OBJECT = 4123; // 0x101b
    field public static final int OPERATION_GET_STORAGE_INFO = 4101; // 0x1005
    field public static final int OPERATION_GET_STORAGE_I_DS = 4100; // 0x1004
    field public static final int OPERATION_GET_THUMB = 4106; // 0x100a
    field public static final int OPERATION_INITIATE_CAPTURE = 4110; // 0x100e
    field public static final int OPERATION_INITIATE_OPEN_CAPTURE = 4124; // 0x101c
    field public static final int OPERATION_MOVE_OBJECT = 4121; // 0x1019
    field public static final int OPERATION_OPEN_SESSION = 4098; // 0x1002
    field public static final int OPERATION_POWER_DOWN = 4115; // 0x1013
    field public static final int OPERATION_RESET_DEVICE = 4112; // 0x1010
    field public static final int OPERATION_RESET_DEVICE_PROP_VALUE = 4119; // 0x1017
    field public static final int OPERATION_SELF_TEST = 4113; // 0x1011
    field public static final int OPERATION_SEND_OBJECT = 4109; // 0x100d
    field public static final int OPERATION_SEND_OBJECT_INFO = 4108; // 0x100c
    field public static final int OPERATION_SET_DEVICE_PROP_VALUE = 4118; // 0x1016
    field public static final int OPERATION_SET_OBJECT_PROP_VALUE = 38916; // 0x9804
    field public static final int OPERATION_SET_OBJECT_PROTECTION = 4114; // 0x1012
    field public static final int OPERATION_SET_OBJECT_REFERENCES = 38929; // 0x9811
    field public static final int OPERATION_SKIP = 38944; // 0x9820
    field public static final int OPERATION_TERMINATE_OPEN_CAPTURE = 4120; // 0x1018
    field public static final int PROTECTION_STATUS_NONE = 0; // 0x0
    field public static final int PROTECTION_STATUS_NONE = 0; // 0x0
    field public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 32771; // 0x8003
    field public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 32771; // 0x8003
    field public static final int PROTECTION_STATUS_READ_ONLY = 32769; // 0x8001
    field public static final int PROTECTION_STATUS_READ_ONLY = 32769; // 0x8001
@@ -24035,6 +24070,7 @@ package android.mtp {
  public class MtpDeviceInfo {
  public class MtpDeviceInfo {
    method public final java.lang.String getManufacturer();
    method public final java.lang.String getManufacturer();
    method public final java.lang.String getModel();
    method public final java.lang.String getModel();
    method public final int[] getOperationsSupported();
    method public final java.lang.String getSerialNumber();
    method public final java.lang.String getSerialNumber();
    method public final java.lang.String getVersion();
    method public final java.lang.String getVersion();
  }
  }
+36 −0
Original line number Original line Diff line number Diff line
@@ -22464,6 +22464,41 @@ package android.mtp {
    field public static final int FORMAT_WMV = 47489; // 0xb981
    field public static final int FORMAT_WMV = 47489; // 0xb981
    field public static final int FORMAT_WPL_PLAYLIST = 47632; // 0xba10
    field public static final int FORMAT_WPL_PLAYLIST = 47632; // 0xba10
    field public static final int FORMAT_XML_DOCUMENT = 47746; // 0xba82
    field public static final int FORMAT_XML_DOCUMENT = 47746; // 0xba82
    field public static final int OPERATION_CLOSE_SESSION = 4099; // 0x1003
    field public static final int OPERATION_COPY_OBJECT = 4122; // 0x101a
    field public static final int OPERATION_DELETE_OBJECT = 4107; // 0x100b
    field public static final int OPERATION_FORMAT_STORE = 4111; // 0x100f
    field public static final int OPERATION_GET_DEVICE_INFO = 4097; // 0x1001
    field public static final int OPERATION_GET_DEVICE_PROP_DESC = 4116; // 0x1014
    field public static final int OPERATION_GET_DEVICE_PROP_VALUE = 4117; // 0x1015
    field public static final int OPERATION_GET_NUM_OBJECTS = 4102; // 0x1006
    field public static final int OPERATION_GET_OBJECT = 4105; // 0x1009
    field public static final int OPERATION_GET_OBJECT_HANDLES = 4103; // 0x1007
    field public static final int OPERATION_GET_OBJECT_INFO = 4104; // 0x1008
    field public static final int OPERATION_GET_OBJECT_PROPS_SUPPORTED = 38913; // 0x9801
    field public static final int OPERATION_GET_OBJECT_PROP_DESC = 38914; // 0x9802
    field public static final int OPERATION_GET_OBJECT_PROP_VALUE = 38915; // 0x9803
    field public static final int OPERATION_GET_OBJECT_REFERENCES = 38928; // 0x9810
    field public static final int OPERATION_GET_PARTIAL_OBJECT = 4123; // 0x101b
    field public static final int OPERATION_GET_STORAGE_INFO = 4101; // 0x1005
    field public static final int OPERATION_GET_STORAGE_I_DS = 4100; // 0x1004
    field public static final int OPERATION_GET_THUMB = 4106; // 0x100a
    field public static final int OPERATION_INITIATE_CAPTURE = 4110; // 0x100e
    field public static final int OPERATION_INITIATE_OPEN_CAPTURE = 4124; // 0x101c
    field public static final int OPERATION_MOVE_OBJECT = 4121; // 0x1019
    field public static final int OPERATION_OPEN_SESSION = 4098; // 0x1002
    field public static final int OPERATION_POWER_DOWN = 4115; // 0x1013
    field public static final int OPERATION_RESET_DEVICE = 4112; // 0x1010
    field public static final int OPERATION_RESET_DEVICE_PROP_VALUE = 4119; // 0x1017
    field public static final int OPERATION_SELF_TEST = 4113; // 0x1011
    field public static final int OPERATION_SEND_OBJECT = 4109; // 0x100d
    field public static final int OPERATION_SEND_OBJECT_INFO = 4108; // 0x100c
    field public static final int OPERATION_SET_DEVICE_PROP_VALUE = 4118; // 0x1016
    field public static final int OPERATION_SET_OBJECT_PROP_VALUE = 38916; // 0x9804
    field public static final int OPERATION_SET_OBJECT_PROTECTION = 4114; // 0x1012
    field public static final int OPERATION_SET_OBJECT_REFERENCES = 38929; // 0x9811
    field public static final int OPERATION_SKIP = 38944; // 0x9820
    field public static final int OPERATION_TERMINATE_OPEN_CAPTURE = 4120; // 0x1018
    field public static final int PROTECTION_STATUS_NONE = 0; // 0x0
    field public static final int PROTECTION_STATUS_NONE = 0; // 0x0
    field public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 32771; // 0x8003
    field public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 32771; // 0x8003
    field public static final int PROTECTION_STATUS_READ_ONLY = 32769; // 0x8001
    field public static final int PROTECTION_STATUS_READ_ONLY = 32769; // 0x8001
@@ -22497,6 +22532,7 @@ package android.mtp {
  public class MtpDeviceInfo {
  public class MtpDeviceInfo {
    method public final java.lang.String getManufacturer();
    method public final java.lang.String getManufacturer();
    method public final java.lang.String getModel();
    method public final java.lang.String getModel();
    method public final int[] getOperationsSupported();
    method public final java.lang.String getSerialNumber();
    method public final java.lang.String getSerialNumber();
    method public final java.lang.String getVersion();
    method public final java.lang.String getVersion();
  }
  }
+71 −0
Original line number Original line Diff line number Diff line
@@ -610,4 +610,75 @@ public final class MtpConstants {
    public static final int EVENT_OBJECT_PROP_DESC_CHANGED = 0xC802;
    public static final int EVENT_OBJECT_PROP_DESC_CHANGED = 0xC802;
    /** Event code for OBJECT_REFERENCES_CHANGED event */
    /** Event code for OBJECT_REFERENCES_CHANGED event */
    public static final int EVENT_OBJECT_REFERENCES_CHANGED = 0xC803;
    public static final int EVENT_OBJECT_REFERENCES_CHANGED = 0xC803;

    /** Operation code for GetDeviceInfo */
    public static final int OPERATION_GET_DEVICE_INFO = 0x1001;
    /** Operation code for OpenSession */
    public static final int OPERATION_OPEN_SESSION = 0x1002;
    /** Operation code for CloseSession */
    public static final int OPERATION_CLOSE_SESSION = 0x1003;
    /** Operation code for GetStorageIDs */
    public static final int OPERATION_GET_STORAGE_I_DS = 0x1004;
    /** Operation code for GetStorageInfo */
    public static final int OPERATION_GET_STORAGE_INFO = 0x1005;
    /** Operation code for GetNumObjects */
    public static final int OPERATION_GET_NUM_OBJECTS = 0x1006;
    /** Operation code for GetObjectHandles */
    public static final int OPERATION_GET_OBJECT_HANDLES = 0x1007;
    /** Operation code for GetObjectInfo */
    public static final int OPERATION_GET_OBJECT_INFO = 0x1008;
    /** Operation code for GetObject */
    public static final int OPERATION_GET_OBJECT = 0x1009;
    /** Operation code for GetThumb */
    public static final int OPERATION_GET_THUMB = 0x100A;
    /** Operation code for DeleteObject */
    public static final int OPERATION_DELETE_OBJECT = 0x100B;
    /** Operation code for SendObjectInfo */
    public static final int OPERATION_SEND_OBJECT_INFO = 0x100C;
    /** Operation code for SendObject */
    public static final int OPERATION_SEND_OBJECT = 0x100D;
    /** Operation code for InitiateCapture */
    public static final int OPERATION_INITIATE_CAPTURE = 0x100E;
    /** Operation code for FormatStore */
    public static final int OPERATION_FORMAT_STORE = 0x100F;
    /** Operation code for ResetDevice */
    public static final int OPERATION_RESET_DEVICE = 0x1010;
    /** Operation code for SelfTest */
    public static final int OPERATION_SELF_TEST = 0x1011;
    /** Operation code for SetObjectProtection */
    public static final int OPERATION_SET_OBJECT_PROTECTION = 0x1012;
    /** Operation code for PowerDown */
    public static final int OPERATION_POWER_DOWN = 0x1013;
    /** Operation code for GetDevicePropDesc */
    public static final int OPERATION_GET_DEVICE_PROP_DESC = 0x1014;
    /** Operation code for GetDevicePropValue */
    public static final int OPERATION_GET_DEVICE_PROP_VALUE = 0x1015;
    /** Operation code for SetDevicePropValue */
    public static final int OPERATION_SET_DEVICE_PROP_VALUE = 0x1016;
    /** Operation code for ResetDevicePropValue */
    public static final int OPERATION_RESET_DEVICE_PROP_VALUE = 0x1017;
    /** Operation code for TerminateOpenCapture */
    public static final int OPERATION_TERMINATE_OPEN_CAPTURE = 0x1018;
    /** Operation code for MoveObject */
    public static final int OPERATION_MOVE_OBJECT = 0x1019;
    /** Operation code for CopyObject */
    public static final int OPERATION_COPY_OBJECT = 0x101A;
    /** Operation code for GetPartialObject */
    public static final int OPERATION_GET_PARTIAL_OBJECT = 0x101B;
    /** Operation code for InitiateOpenCapture */
    public static final int OPERATION_INITIATE_OPEN_CAPTURE = 0x101C;
    /** Operation code for GetObjectPropsSupported */
    public static final int OPERATION_GET_OBJECT_PROPS_SUPPORTED = 0x9801;
    /** Operation code for GetObjectPropDesc */
    public static final int OPERATION_GET_OBJECT_PROP_DESC = 0x9802;
    /** Operation code for GetObjectPropValue */
    public static final int OPERATION_GET_OBJECT_PROP_VALUE = 0x9803;
    /** Operation code for SetObjectPropValue */
    public static final int OPERATION_SET_OBJECT_PROP_VALUE = 0x9804;
    /** Operation code for GetObjectReferences */
    public static final int OPERATION_GET_OBJECT_REFERENCES = 0x9810;
    /** Operation code for SetObjectReferences */
    public static final int OPERATION_SET_OBJECT_REFERENCES = 0x9811;
    /** Operation code for Skip */
    public static final int OPERATION_SKIP = 0x9820;
}
}
+13 −1
Original line number Original line Diff line number Diff line
@@ -16,6 +16,8 @@


package android.mtp;
package android.mtp;


import android.annotation.Nullable;

/**
/**
 * This class encapsulates information about an MTP device.
 * This class encapsulates information about an MTP device.
 * This corresponds to the DeviceInfo Dataset described in
 * This corresponds to the DeviceInfo Dataset described in
@@ -27,6 +29,7 @@ public class MtpDeviceInfo {
    private String mModel;
    private String mModel;
    private String mVersion;
    private String mVersion;
    private String mSerialNumber;
    private String mSerialNumber;
    private int[] mOperationsSupported;


    // only instantiated via JNI
    // only instantiated via JNI
    private MtpDeviceInfo() {
    private MtpDeviceInfo() {
@@ -67,4 +70,13 @@ public class MtpDeviceInfo {
    public final String getSerialNumber() {
    public final String getSerialNumber() {
        return mSerialNumber;
        return mSerialNumber;
    }
    }

    /**
     * Returns operation code supported by the device.
     *
     * @return supported operation code
     */
    public final @Nullable int[] getOperationsSupported() {
        return mOperationsSupported;
    }
}
}
Loading