internal async static Task CopyNecessaryFilesFromCurrentPackageAsync(StorageFile diffManifestFile, StorageFolder currentPackageFolder, StorageFolder newPackageFolder) { await FileUtils.MergeFoldersAsync(currentPackageFolder, newPackageFolder).ConfigureAwait(false); JObject diffManifest = await GreatPushUtils.GetJObjectFromFileAsync(diffManifestFile).ConfigureAwait(false); var deletedFiles = (JArray)diffManifest["deletedFiles"]; foreach (string fileNameToDelete in deletedFiles) { StorageFile fileToDelete = await newPackageFolder.GetFileAsync(fileNameToDelete.Replace("/", "\\")).AsTask().ConfigureAwait(false); await fileToDelete.DeleteAsync().AsTask().ConfigureAwait(false); } }
private async Task <JObject> GetCurrentPackageInfoAsync() { var statusFile = await GetStatusFileAsync().ConfigureAwait(false); var info = await GreatPushUtils.GetJObjectFromFileAsync(statusFile).ConfigureAwait(false); if (info != null) { return(info); } // info file has been corrupted - re-create it await statusFile.DeleteAsync().ConfigureAwait(false); statusFile = await GetStatusFileAsync().ConfigureAwait(false); return(await GreatPushUtils.GetJObjectFromFileAsync(statusFile).ConfigureAwait(false)); }
internal async Task <JObject> GetPackageAsync(string packageHash) { StorageFolder packageFolder = await GetPackageFolderAsync(packageHash, false).ConfigureAwait(false); if (packageFolder == null) { return(null); } try { StorageFile packageFile = await packageFolder.GetFileAsync(GreatPushConstants.PackageFileName).AsTask().ConfigureAwait(false); return(await GreatPushUtils.GetJObjectFromFileAsync(packageFile).ConfigureAwait(false)); } catch (IOException) { return(null); } }
private async Task <JObject> GetCurrentPackageInfoAsync() { StorageFile statusFile = await GetStatusFileAsync().ConfigureAwait(false); return(await GreatPushUtils.GetJObjectFromFileAsync(statusFile).ConfigureAwait(false)); }