@@ -6,6 +6,7 @@ import { EventHub } from './EventHub';
66import { DownloadTaskParams } from './DownloadTaskParams' ;
77import Pushy from 'librnupdate.so' ;
88import { saveFileToSandbox } from './SaveFile' ;
9+ import { util } from '@kit.ArkTS' ;
910
1011interface ZipEntry {
1112 filename : string ;
@@ -255,12 +256,10 @@ export class DownloadTask {
255256
256257 if ( fn === '__diff.json' ) {
257258 foundDiff = true ;
258- let jsonContent = '' ;
259259 const bufferArray = new Uint8Array ( entry . content ) ;
260- for ( let i = 0 ; i < bufferArray . length ; i ++ ) {
261- jsonContent += String . fromCharCode ( bufferArray [ i ] ) ;
262- }
263- const obj = JSON . parse ( jsonContent ) ;
260+ const obj = JSON . parse (
261+ new util . TextDecoder ( ) . decodeToString ( bufferArray ) ,
262+ ) ;
264263
265264 const copies = obj . copies as Record < string , string > ;
266265 for ( const [ to , rawPath ] of Object . entries ( copies ) ) {
@@ -345,12 +344,10 @@ export class DownloadTask {
345344 console . error ( 'copy error:' , error ) ;
346345 } ) ;
347346
348- let jsonContent = '' ;
349347 const bufferArray = new Uint8Array ( entry . content ) ;
350- for ( let i = 0 ; i < bufferArray . length ; i ++ ) {
351- jsonContent += String . fromCharCode ( bufferArray [ i ] ) ;
352- }
353- const obj = JSON . parse ( jsonContent ) ;
348+ const obj = JSON . parse (
349+ new util . TextDecoder ( ) . decodeToString ( bufferArray ) ,
350+ ) ;
354351
355352 const { copies, deletes } = obj ;
356353 for ( const [ to , from ] of Object . entries ( copies ) ) {
0 commit comments