private UploadMediaRequestOptions(Parcel source) {
    mItemName = source.readString();
    mMediaFilePath = source.readString();
    mDatabase = source.readString();
    mFileName = source.readString();

    mAuthOptions = new RequestOptions.AuthOptions();
    mAuthOptions.mIsAnonymous = source.readInt() == 1;
    mAuthOptions.mEncodedName = source.readString();
    mAuthOptions.mEncodedPassword = source.readString();

    mUrlOptions = new RequestOptions.UrlOptions();
    mUrlOptions.mBaseUrl = source.readString();
    mUrlOptions.mItemPath = source.readString();
    mUrlOptions.mSite = source.readString();
    mUrlOptions.mApiVersion = source.readInt();
  }
  /**
   * Class constructor specifying:
   *
   * @param itemPath media folder path to upload media to.
   * @param itemName item name.
   * @param mediaFilePath path to media file.
   */
  UploadMediaRequestOptions(String itemPath, String itemName, String mediaFilePath) {
    mItemName = itemName;
    mMediaFilePath = mediaFilePath;

    mAuthOptions = new RequestOptions.AuthOptions();
    mUrlOptions = new RequestOptions.UrlOptions();
    mUrlOptions.mItemPath = itemPath;
  }
 /**
  * Creates encoded url for uploading item based on:
  *
  * <ul>
  *   <li>item name
  *   <li>item path
  *   <li>database
  *   <li>site
  * </ul>
  *
  * @return {@link String} encoded url.
  * @see #UploadMediaRequestOptions(String, String, String)
  */
 public String getFullUrl() {
   StringBuilder builder = new StringBuilder(mUrlOptions.getUrl());
   builder.append("?name=").append(Uri.encode(mItemName));
   if (!TextUtils.isEmpty(mDatabase)) builder.append("&sc_database=").append(mDatabase);
   return builder.toString();
 }
 public void setSite(String site) {
   mUrlOptions.mSite = site;
 }