/**
  * Inserts a part upload record into database with the given values.
  *
  * @param bucket The name of the bucket to upload to.
  * @param key The key in the specified bucket by which to store the new object.
  * @param file The file to upload.
  * @param fileOffset The byte offset for the file to upload.
  * @param partNumber The part number of this part.
  * @param uploadId The multipart upload id of the upload.
  * @param bytesTotal The Total bytes of the file.
  * @param isLastPart Whether this part is the last part of the upload.
  * @return An Uri of the record inserted.
  */
 public Uri insertMultipartUploadRecord(
     String bucket,
     String key,
     File file,
     long fileOffset,
     int partNumber,
     String uploadId,
     long bytesTotal,
     int isLastPart) {
   ContentValues values =
       generateContentValuesForMultiPartUpload(
           bucket,
           key,
           file,
           fileOffset,
           partNumber,
           uploadId,
           bytesTotal,
           isLastPart,
           new ObjectMetadata());
   return transferDBBase.insert(transferDBBase.getContentUri(), values);
 }
 /**
  * Inserts a transfer record into database with the given values.
  *
  * @param type The type of the transfer, can be "upload" or "download".
  * @param bucket The name of the bucket to upload to.
  * @param key The key in the specified bucket by which to store the new object.
  * @param file The file to upload.
  * @param metadata The S3 Object metadata associated with this object
  * @return An Uri of the record inserted.
  */
 public Uri insertSingleTransferRecord(
     TransferType type, String bucket, String key, File file, ObjectMetadata metadata) {
   ContentValues values =
       generateContentValuesForSinglePartTransfer(type, bucket, key, file, metadata);
   return transferDBBase.insert(transferDBBase.getContentUri(), values);
 }