Skip to content

Commit ba5b358

Browse files
committed
fix unzip
1 parent 3134f36 commit ba5b358

3 files changed

Lines changed: 21 additions & 27 deletions

File tree

harmony/pushy/src/main/ets/DownloadTask.ts

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import http from '@ohos.net.http';
22
import fileIo from '@ohos.file.fs';
3-
import util from '@ohos.util';
43
import common from '@ohos.app.ability.common';
5-
import { BusinessError } from '@kit.BasicServicesKit';
64
import { buffer } from '@kit.ArkTS';
7-
import zip from '@ohos.zlib';
5+
import { zlib, BusinessError } from '@kit.BasicServicesKit';
86
import { EventHub } from './EventHub';
97
import { DownloadTaskParams } from './DownloadTaskParams';
108
import Pushy from 'librnupdate.so';
@@ -37,7 +35,9 @@ export class DownloadTask {
3735
if (stat.isDirectory()) {
3836
const files = await fileIo.listFile(path);
3937
for (const file of files) {
40-
if (file === '.' || file === '..') continue;
38+
if (file === '.' || file === '..') {
39+
continue;
40+
}
4141
await this.removeDirectory(`${path}/${file}`);
4242
}
4343
await fileIo.rmdir(path);
@@ -180,20 +180,17 @@ export class DownloadTask {
180180
await this.removeDirectory(params.unzipDirectory);
181181
await fileIo.mkdir(params.unzipDirectory);
182182

183-
try {
184-
await zip.decompressFile(params.targetFile, params.unzipDirectory);
185-
} catch (error) {
186-
console.error('Unzip failed:', error);
187-
throw error;
188-
}
183+
await zlib.decompressFile(params.targetFile, params.unzipDirectory);
189184
}
190185

191186
private async processUnzippedFiles(directory: string): Promise<ZipFile> {
192187
const entries: ZipEntry[] = [];
193188
try {
194189
const files = await fileIo.listFile(directory);
195190
for (const file of files) {
196-
if (file === '.' || file === '..') continue;
191+
if (file === '.' || file === '..') {
192+
continue;
193+
}
197194

198195
const filePath = `${directory}/${file}`;
199196
const stat = await fileIo.stat(filePath);
@@ -230,7 +227,7 @@ export class DownloadTask {
230227
let foundDiff = false;
231228
let foundBundlePatch = false;
232229
const copyList: Map<string, Array<any>> = new Map();
233-
await zip.decompressFile(params.targetFile, params.unzipDirectory);
230+
await zlib.decompressFile(params.targetFile, params.unzipDirectory);
234231
const zipFile = await this.processUnzippedFiles(params.unzipDirectory);
235232
for (const entry of zipFile.entries) {
236233
const fn = entry.filename;
@@ -295,10 +292,6 @@ export class DownloadTask {
295292
throw error;
296293
}
297294
}
298-
299-
if (fn !== '.DS_Store') {
300-
await zip.decompressFile(fn, params.unzipDirectory);
301-
}
302295
}
303296

304297
if (!foundDiff) {
@@ -318,7 +311,7 @@ export class DownloadTask {
318311
let foundDiff = false;
319312
let foundBundlePatch = false;
320313
const copyList: Map<string, Array<any>> = new Map();
321-
await zip.decompressFile(params.targetFile, params.unzipDirectory);
314+
await zlib.decompressFile(params.targetFile, params.unzipDirectory);
322315
const zipFile = await this.processUnzippedFiles(params.unzipDirectory);
323316
for (const entry of zipFile.entries) {
324317
const fn = entry.filename;
@@ -389,8 +382,6 @@ export class DownloadTask {
389382
}
390383
}
391384
}
392-
393-
await zip.decompressFile(entry.filename, params.unzipDirectory);
394385
}
395386

396387
if (!foundDiff) {
@@ -410,7 +401,9 @@ export class DownloadTask {
410401

411402
const files = await fileIo.listFile(bundlePath);
412403
for (const file of files) {
413-
if (file === '.' || file === '..') continue;
404+
if (file === '.' || file === '..') {
405+
continue;
406+
}
414407

415408
const targets = copyList.get(file);
416409
if (targets) {
@@ -443,7 +436,9 @@ export class DownloadTask {
443436
try {
444437
const files = await fileIo.listFile(params.unzipDirectory);
445438
for (const file of files) {
446-
if (file.startsWith('.')) continue;
439+
if (file.startsWith('.')) {
440+
continue;
441+
}
447442

448443
const filePath = `${params.unzipDirectory}/${file}`;
449444
const stat = await fileIo.stat(filePath);

harmony/pushy/src/main/ets/PushyFileJSBundleProvider.ets

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,13 @@ export class PushyFileJSBundleProvider extends JSBundleProvider {
2626
if (!this.path) {
2727
throw new JSBundleProviderError({
2828
whatHappened: 'No pushy bundle found. using default bundle',
29+
howCanItBeFixed: ['']
2930
})
3031
}
3132
try {
32-
const status = await fs.access(this.path, fs.OpenMode.READ_ONLY);
33-
if (status) {
34-
return {
35-
filePath: this.path
36-
}
33+
await fs.access(this.path, fs.OpenMode.READ_ONLY);
34+
return {
35+
filePath: this.path
3736
}
3837
} catch (error) {
3938
throw new JSBundleProviderError({

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-update",
3-
"version": "10.35.1",
3+
"version": "10.35.2",
44
"description": "react-native hot update",
55
"main": "src/index",
66
"scripts": {

0 commit comments

Comments
 (0)