internal async static Task CopyNecessaryFilesFromCurrentPackageAsync(IFile diffManifestFile, IFolder currentPackageFolder, IFolder newPackageFolder) { await FileUtils.MergeFoldersAsync(currentPackageFolder, newPackageFolder).ConfigureAwait(false); JObject diffManifest = await CodePushUtils.GetJObjectFromFileAsync(diffManifestFile).ConfigureAwait(false); var deletedFiles = (JArray)diffManifest["deletedFiles"]; foreach (string fileNameToDelete in deletedFiles) { var fileToDelete = await newPackageFolder.GetFileAsync(fileNameToDelete).ConfigureAwait(false); await fileToDelete.DeleteAsync().ConfigureAwait(false); } }
private async Task <JObject> GetCurrentPackageInfoAsync() { var statusFile = await GetStatusFileAsync().ConfigureAwait(false); var info = await CodePushUtils.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 CodePushUtils.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(CodePushConstants.PackageFileName).AsTask().ConfigureAwait(false); return(await CodePushUtils.GetJObjectFromFileAsync(packageFile).ConfigureAwait(false)); } catch (IOException) { return(null); } }
// internal async static Task CopyNecessaryFilesFromCurrentPackageAsync(IFile diffManifestFile,IFolder unzipedPackageFolder, IFolder currentPackageFolder, IFolder newPackageFolder) internal async static Task CopyNecessaryFilesFromCurrentPackageAsync(IFile diffManifestFile, IFolder currentPackageFolder, IFolder newPackageFolder) { await FileUtils.MergeFoldersAsync(currentPackageFolder, newPackageFolder).ConfigureAwait(false); JObject diffManifest = await CodePushUtils.GetJObjectFromFileAsync(diffManifestFile).ConfigureAwait(false); var deletedFiles = (JArray)diffManifest["deletedFiles"]; if (deletedFiles != null) { foreach (string fileNameToDelete in deletedFiles) { var fileToDelete = await newPackageFolder.GetFileAsync(fileNameToDelete).ConfigureAwait(false); await fileToDelete.DeleteAsync().ConfigureAwait(false); } } // var patchedFiles = (JArray)diffManifest["patchedFiles"]; // if (patchedFiles != null) // { // foreach (string fileNameToPatch in patchedFiles) // { // var patchFile = await unzipedPackageFolder.GetFileAsync(fileNameToPatch).ConfigureAwait(false); // var patchFileContent = await patchFile.ReadAllTextAsync().ConfigureAwait(false); // var bundleFile = await newPackageFolder.GetFileAsync(fileNameToPatch.Replace(".patch","")).ConfigureAwait(false); // var bundleFileContent = await bundleFile.ReadAllTextAsync().ConfigureAwait(false); // var dmp = new DiffMatchPatch(); // var fileToDelete = await newPackageFolder.GetFileAsync(fileNameToPatch).ConfigureAwait(false); // await fileToDelete.DeleteAsync().ConfigureAwait(false); // } // } }
private async Task <JObject> GetCurrentPackageInfoAsync() { StorageFile statusFile = await GetStatusFileAsync().ConfigureAwait(false); return(await CodePushUtils.GetJObjectFromFileAsync(statusFile).ConfigureAwait(false)); }