Use getCompressedSizeLong to get correct size for 2G file
The MtpObjectInfo#getCompressedSize() returns the value in
Java int (signed 32-bit integer), so when the MtpObject size is
larger than 2^31-1, use getCompressedSize() will encounter
the IllegalStateException error.
Use getCompressedSizeLong() instead of getCompressedSize() can
get the correct size.
Test: manual - connect Android device to Android Automotive
Test: manual - select MTP/File Transfer in android device
Test: manual - copy a file which is bigger than 2GB from automotive to the android device.
bug: 115451170
Change-Id: Idb3529b6d6e8588c59d18aad1eae9c46df2e6fe0
Signed-off-by: robinz1x <robinx.zhang@intel.com>
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
1 file changed