/// <summary> /// Get the transfer "AppData" (substrings separated by '#') /// <para>- Substring 1: Boolean value to indicate if the download is for Save For Offline (SFO).</para> /// <para>- Substring 2: String which contains the download folder path external to the app sandbox cache.</para> /// </summary> /// <param name="transfer">MEGA SDK transfer to obtain the "AppData".</param> /// <param name="megaTransfer">App transfer object to be displayed.</param> /// <returns>Boolean value indicating if all was good.</returns> public static bool GetTransferAppData(MTransfer transfer, TransferObjectModel megaTransfer) { // Default values megaTransfer.IsSaveForOfflineTransfer = false; megaTransfer.ExternalDownloadPath = null; // Only the downloads can contain app data if (transfer.getType() != MTransferType.TYPE_DOWNLOAD) { return(false); } // Get the transfer "AppData" String transferAppData = transfer.getAppData(); if (String.IsNullOrWhiteSpace(transferAppData)) { return(false); } // Split the string into the substrings separated by '#' string[] splittedAppData = transferAppData.Split("#".ToCharArray(), 2); if (splittedAppData.Count() < 1) { return(false); } // Set the corresponding values megaTransfer.IsSaveForOfflineTransfer = Convert.ToBoolean(splittedAppData[0]); if (splittedAppData.Count() >= 2) { megaTransfer.ExternalDownloadPath = splittedAppData[1]; } return(true); }