rn-update 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README-CN.md +97 -0
- package/README.md +97 -0
- package/THIRD_PARTY_NOTICES.md +8 -0
- package/android/build.gradle +253 -0
- package/android/jni/Android.mk +41 -0
- package/android/jni/Application.mk +20 -0
- package/android/jni/HDiffPatch/.travis.yml +33 -0
- package/android/jni/HDiffPatch/CHANGELOG.md +153 -0
- package/android/jni/HDiffPatch/LICENSE +48 -0
- package/android/jni/HDiffPatch/Makefile +157 -0
- package/android/jni/HDiffPatch/README.md +307 -0
- package/android/jni/HDiffPatch/_atosize.h +83 -0
- package/android/jni/HDiffPatch/_clock_for_demo.h +47 -0
- package/android/jni/HDiffPatch/_dir_ignore.h +191 -0
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +37 -0
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +7 -0
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +1 -0
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +1 -0
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +18 -0
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +20 -0
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +28 -0
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +8 -0
- package/android/jni/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +8 -0
- package/android/jni/HDiffPatch/builds/codeblocks/HDiffZ.cbp +219 -0
- package/android/jni/HDiffPatch/builds/codeblocks/HPatchZ.cbp +156 -0
- package/android/jni/HDiffPatch/builds/codeblocks/unitTest.cbp +65 -0
- package/android/jni/HDiffPatch/builds/vc/HDiffPatch.sln +105 -0
- package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj +237 -0
- package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +3 -0
- package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj +318 -0
- package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +3 -0
- package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj +182 -0
- package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj.user +3 -0
- package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +30 -0
- package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +408 -0
- package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +573 -0
- package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +396 -0
- package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +268 -0
- package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +361 -0
- package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +301 -0
- package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +411 -0
- package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +504 -0
- package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/android/jni/HDiffPatch/checksum_plugin_demo.h +344 -0
- package/android/jni/HDiffPatch/compress_parallel.cpp +166 -0
- package/android/jni/HDiffPatch/compress_parallel.h +59 -0
- package/android/jni/HDiffPatch/compress_plugin_demo.h +1152 -0
- package/android/jni/HDiffPatch/decompress_plugin_demo.h +995 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +797 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +65 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +200 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +178 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +357 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +87 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +151 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +770 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +236 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +47 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +112 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +53 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_types.h +61 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +331 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +144 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +176 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +84 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +146 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +61 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +152 -0
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +76 -0
- package/android/jni/HDiffPatch/file_for_patch.c +524 -0
- package/android/jni/HDiffPatch/file_for_patch.h +259 -0
- package/android/jni/HDiffPatch/hdiffz.cpp +1570 -0
- package/android/jni/HDiffPatch/hpatch_dir_listener.h +290 -0
- package/android/jni/HDiffPatch/hpatchz.c +1221 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +1025 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.h +116 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +72 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +213 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +63 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +170 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +86 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +89 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +13 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +398 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +194 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +13 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +204 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +207 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +815 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +586 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +381 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +352 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +137 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +137 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +70 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +628 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +87 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +363 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +139 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +68 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +115 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +342 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +94 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +52 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch.c +2292 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch.h +215 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch_private.h +165 -0
- package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch_types.h +251 -0
- package/android/jni/HDiffPatch/libParallel/parallel_channel.cpp +174 -0
- package/android/jni/HDiffPatch/libParallel/parallel_channel.h +73 -0
- package/android/jni/HDiffPatch/libParallel/parallel_import.cpp +367 -0
- package/android/jni/HDiffPatch/libParallel/parallel_import.h +92 -0
- package/android/jni/hpatch.c +232 -0
- package/android/jni/hpatch.h +43 -0
- package/android/jni/lzma/Asm/arm/7zCrcOpt.asm +100 -0
- package/android/jni/lzma/Asm/x86/7zAsm.asm +147 -0
- package/android/jni/lzma/Asm/x86/7zCrcOpt.asm +147 -0
- package/android/jni/lzma/Asm/x86/AesOpt.asm +237 -0
- package/android/jni/lzma/Asm/x86/LzmaDecOpt.asm +1258 -0
- package/android/jni/lzma/Asm/x86/XzCrc64Opt.asm +205 -0
- package/android/jni/lzma/C/7z.h +202 -0
- package/android/jni/lzma/C/7zAlloc.c +80 -0
- package/android/jni/lzma/C/7zAlloc.h +19 -0
- package/android/jni/lzma/C/7zArcIn.c +1771 -0
- package/android/jni/lzma/C/7zBuf.c +36 -0
- package/android/jni/lzma/C/7zBuf.h +35 -0
- package/android/jni/lzma/C/7zBuf2.c +52 -0
- package/android/jni/lzma/C/7zCrc.c +128 -0
- package/android/jni/lzma/C/7zCrc.h +25 -0
- package/android/jni/lzma/C/7zCrcOpt.c +115 -0
- package/android/jni/lzma/C/7zDec.c +591 -0
- package/android/jni/lzma/C/7zFile.c +286 -0
- package/android/jni/lzma/C/7zFile.h +83 -0
- package/android/jni/lzma/C/7zStream.c +176 -0
- package/android/jni/lzma/C/7zTypes.h +375 -0
- package/android/jni/lzma/C/7zVersion.h +27 -0
- package/android/jni/lzma/C/7zVersion.rc +55 -0
- package/android/jni/lzma/C/Aes.c +306 -0
- package/android/jni/lzma/C/Aes.h +38 -0
- package/android/jni/lzma/C/AesOpt.c +184 -0
- package/android/jni/lzma/C/Alloc.c +455 -0
- package/android/jni/lzma/C/Alloc.h +51 -0
- package/android/jni/lzma/C/Bcj2.c +257 -0
- package/android/jni/lzma/C/Bcj2.h +146 -0
- package/android/jni/lzma/C/Bcj2Enc.c +311 -0
- package/android/jni/lzma/C/Bra.c +230 -0
- package/android/jni/lzma/C/Bra.h +64 -0
- package/android/jni/lzma/C/Bra86.c +82 -0
- package/android/jni/lzma/C/BraIA64.c +53 -0
- package/android/jni/lzma/C/Compiler.h +33 -0
- package/android/jni/lzma/C/CpuArch.c +218 -0
- package/android/jni/lzma/C/CpuArch.h +336 -0
- package/android/jni/lzma/C/Delta.c +64 -0
- package/android/jni/lzma/C/Delta.h +19 -0
- package/android/jni/lzma/C/DllSecur.c +108 -0
- package/android/jni/lzma/C/DllSecur.h +20 -0
- package/android/jni/lzma/C/LzFind.c +1127 -0
- package/android/jni/lzma/C/LzFind.h +121 -0
- package/android/jni/lzma/C/LzFindMt.c +853 -0
- package/android/jni/lzma/C/LzFindMt.h +101 -0
- package/android/jni/lzma/C/LzHash.h +57 -0
- package/android/jni/lzma/C/Lzma2Dec.c +488 -0
- package/android/jni/lzma/C/Lzma2Dec.h +120 -0
- package/android/jni/lzma/C/Lzma2DecMt.c +1082 -0
- package/android/jni/lzma/C/Lzma2DecMt.h +79 -0
- package/android/jni/lzma/C/Lzma2Enc.c +803 -0
- package/android/jni/lzma/C/Lzma2Enc.h +55 -0
- package/android/jni/lzma/C/Lzma86.h +111 -0
- package/android/jni/lzma/C/Lzma86Dec.c +54 -0
- package/android/jni/lzma/C/Lzma86Enc.c +106 -0
- package/android/jni/lzma/C/LzmaDec.c +1185 -0
- package/android/jni/lzma/C/LzmaDec.h +234 -0
- package/android/jni/lzma/C/LzmaEnc.c +2976 -0
- package/android/jni/lzma/C/LzmaEnc.h +76 -0
- package/android/jni/lzma/C/LzmaLib.c +40 -0
- package/android/jni/lzma/C/LzmaLib.h +131 -0
- package/android/jni/lzma/C/MtCoder.c +601 -0
- package/android/jni/lzma/C/MtCoder.h +141 -0
- package/android/jni/lzma/C/MtDec.c +1138 -0
- package/android/jni/lzma/C/MtDec.h +201 -0
- package/android/jni/lzma/C/Ppmd.h +85 -0
- package/android/jni/lzma/C/Ppmd7.c +712 -0
- package/android/jni/lzma/C/Ppmd7.h +142 -0
- package/android/jni/lzma/C/Ppmd7Dec.c +191 -0
- package/android/jni/lzma/C/Ppmd7Enc.c +187 -0
- package/android/jni/lzma/C/Precomp.h +10 -0
- package/android/jni/lzma/C/RotateDefs.h +30 -0
- package/android/jni/lzma/C/Sha256.c +248 -0
- package/android/jni/lzma/C/Sha256.h +26 -0
- package/android/jni/lzma/C/Sort.c +141 -0
- package/android/jni/lzma/C/Sort.h +18 -0
- package/android/jni/lzma/C/Threads.c +95 -0
- package/android/jni/lzma/C/Threads.h +70 -0
- package/android/jni/lzma/C/ThreadsP.c +396 -0
- package/android/jni/lzma/C/ThreadsP.h +31 -0
- package/android/jni/lzma/C/Util/7z/7z.dsp +241 -0
- package/android/jni/lzma/C/Util/7z/7z.dsw +29 -0
- package/android/jni/lzma/C/Util/7z/7zMain.c +686 -0
- package/android/jni/lzma/C/Util/7z/Precomp.c +4 -0
- package/android/jni/lzma/C/Util/7z/Precomp.h +10 -0
- package/android/jni/lzma/C/Util/7z/makefile +40 -0
- package/android/jni/lzma/C/Util/7z/makefile.gcc +75 -0
- package/android/jni/lzma/C/Util/Lzma/LzmaUtil.c +258 -0
- package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsp +168 -0
- package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsw +29 -0
- package/android/jni/lzma/C/Util/Lzma/makefile +28 -0
- package/android/jni/lzma/C/Util/Lzma/makefile.gcc +44 -0
- package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.def +4 -0
- package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsp +178 -0
- package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsw +29 -0
- package/android/jni/lzma/C/Util/LzmaLib/LzmaLibExports.c +14 -0
- package/android/jni/lzma/C/Util/LzmaLib/makefile +34 -0
- package/android/jni/lzma/C/Util/LzmaLib/resource.rc +3 -0
- package/android/jni/lzma/C/Util/SfxSetup/Precomp.c +4 -0
- package/android/jni/lzma/C/Util/SfxSetup/Precomp.h +10 -0
- package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.c +640 -0
- package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsp +231 -0
- package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsw +29 -0
- package/android/jni/lzma/C/Util/SfxSetup/makefile +37 -0
- package/android/jni/lzma/C/Util/SfxSetup/makefile_con +38 -0
- package/android/jni/lzma/C/Util/SfxSetup/resource.rc +5 -0
- package/android/jni/lzma/C/Util/SfxSetup/setup.ico +0 -0
- package/android/jni/lzma/C/Xz.c +90 -0
- package/android/jni/lzma/C/Xz.h +460 -0
- package/android/jni/lzma/C/XzCrc64.c +86 -0
- package/android/jni/lzma/C/XzCrc64.h +26 -0
- package/android/jni/lzma/C/XzCrc64Opt.c +69 -0
- package/android/jni/lzma/C/XzDec.c +2766 -0
- package/android/jni/lzma/C/XzEnc.c +1329 -0
- package/android/jni/lzma/C/XzEnc.h +60 -0
- package/android/jni/lzma/C/XzIn.c +319 -0
- package/android/jni/lzma/CPP/7zip/7zip.mak +240 -0
- package/android/jni/lzma/CPP/7zip/Aes.mak +7 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +76 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +569 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.h +70 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +678 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.h +92 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +423 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +139 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +61 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +763 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.h +181 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +942 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.h +148 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.cpp +1666 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.h +445 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zItem.h +202 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.cpp +901 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.h +335 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +174 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.h +22 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +21 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +22 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +35 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +2500 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.h +139 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/Archive/Archive.def +12 -0
- package/android/jni/lzma/CPP/7zip/Archive/Archive2.def +19 -0
- package/android/jni/lzma/CPP/7zip/Archive/ArchiveExports.cpp +151 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +1125 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +25 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +232 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.h +110 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +46 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +67 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +88 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +28 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +191 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.h +89 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +37 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
- package/android/jni/lzma/CPP/7zip/Archive/Common/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/Archive/DllExports2.cpp +122 -0
- package/android/jni/lzma/CPP/7zip/Archive/IArchive.h +608 -0
- package/android/jni/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
- package/android/jni/lzma/CPP/7zip/Archive/LzmaHandler.cpp +629 -0
- package/android/jni/lzma/CPP/7zip/Archive/SplitHandler.cpp +359 -0
- package/android/jni/lzma/CPP/7zip/Archive/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/Archive/XzHandler.cpp +1308 -0
- package/android/jni/lzma/CPP/7zip/Archive/XzHandler.h +11 -0
- package/android/jni/lzma/CPP/7zip/Asm.mak +9 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +1910 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/makefile +154 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +96 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/makefile +116 -0
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +799 -0
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +477 -0
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile +59 -0
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +195 -0
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +715 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +912 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +482 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/makefile +134 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +5 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +86 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +137 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +803 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +364 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +13 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/makefile +117 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +988 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +241 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +14 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/makefile +153 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +50 -0
- package/android/jni/lzma/CPP/7zip/Common/CWrappers.cpp +250 -0
- package/android/jni/lzma/CPP/7zip/Common/CWrappers.h +120 -0
- package/android/jni/lzma/CPP/7zip/Common/CreateCoder.cpp +536 -0
- package/android/jni/lzma/CPP/7zip/Common/CreateCoder.h +192 -0
- package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
- package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.h +10 -0
- package/android/jni/lzma/CPP/7zip/Common/FileStreams.cpp +475 -0
- package/android/jni/lzma/CPP/7zip/Common/FileStreams.h +166 -0
- package/android/jni/lzma/CPP/7zip/Common/FilterCoder.cpp +435 -0
- package/android/jni/lzma/CPP/7zip/Common/FilterCoder.h +205 -0
- package/android/jni/lzma/CPP/7zip/Common/InBuffer.cpp +163 -0
- package/android/jni/lzma/CPP/7zip/Common/InBuffer.h +92 -0
- package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +127 -0
- package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.h +48 -0
- package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.cpp +367 -0
- package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.h +252 -0
- package/android/jni/lzma/CPP/7zip/Common/LockedStream.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Common/LockedStream.h +6 -0
- package/android/jni/lzma/CPP/7zip/Common/MethodId.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/Common/MethodId.h +10 -0
- package/android/jni/lzma/CPP/7zip/Common/MethodProps.cpp +509 -0
- package/android/jni/lzma/CPP/7zip/Common/MethodProps.h +264 -0
- package/android/jni/lzma/CPP/7zip/Common/OffsetStream.cpp +39 -0
- package/android/jni/lzma/CPP/7zip/Common/OffsetStream.h +26 -0
- package/android/jni/lzma/CPP/7zip/Common/OutBuffer.cpp +111 -0
- package/android/jni/lzma/CPP/7zip/Common/OutBuffer.h +66 -0
- package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.cpp +51 -0
- package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.h +35 -0
- package/android/jni/lzma/CPP/7zip/Common/PropId.cpp +108 -0
- package/android/jni/lzma/CPP/7zip/Common/RegisterArc.h +78 -0
- package/android/jni/lzma/CPP/7zip/Common/RegisterCodec.h +106 -0
- package/android/jni/lzma/CPP/7zip/Common/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/Common/StreamBinder.cpp +156 -0
- package/android/jni/lzma/CPP/7zip/Common/StreamBinder.h +60 -0
- package/android/jni/lzma/CPP/7zip/Common/StreamObjects.cpp +285 -0
- package/android/jni/lzma/CPP/7zip/Common/StreamObjects.h +157 -0
- package/android/jni/lzma/CPP/7zip/Common/StreamUtils.cpp +56 -0
- package/android/jni/lzma/CPP/7zip/Common/StreamUtils.h +13 -0
- package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.cpp +57 -0
- package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.h +26 -0
- package/android/jni/lzma/CPP/7zip/Common/VirtThread.cpp +48 -0
- package/android/jni/lzma/CPP/7zip/Common/VirtThread.h +24 -0
- package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +666 -0
- package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.h +120 -0
- package/android/jni/lzma/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
- package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.cpp +24 -0
- package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.h +31 -0
- package/android/jni/lzma/CPP/7zip/Compress/BcjRegister.cpp +17 -0
- package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.cpp +23 -0
- package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.h +35 -0
- package/android/jni/lzma/CPP/7zip/Compress/BranchRegister.cpp +41 -0
- package/android/jni/lzma/CPP/7zip/Compress/ByteSwap.cpp +92 -0
- package/android/jni/lzma/CPP/7zip/Compress/CodecExports.cpp +344 -0
- package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.cpp +120 -0
- package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.h +49 -0
- package/android/jni/lzma/CPP/7zip/Compress/CopyRegister.cpp +15 -0
- package/android/jni/lzma/CPP/7zip/Compress/DeltaFilter.cpp +128 -0
- package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +265 -0
- package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.h +96 -0
- package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +122 -0
- package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.h +42 -0
- package/android/jni/lzma/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
- package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +343 -0
- package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.h +113 -0
- package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +182 -0
- package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.h +46 -0
- package/android/jni/lzma/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
- package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +170 -0
- package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.h +86 -0
- package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +152 -0
- package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.h +58 -0
- package/android/jni/lzma/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
- package/android/jni/lzma/CPP/7zip/Compress/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.cpp +150 -0
- package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.h +92 -0
- package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.cpp +245 -0
- package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.h +46 -0
- package/android/jni/lzma/CPP/7zip/Crc.mak +8 -0
- package/android/jni/lzma/CPP/7zip/Crc64.mak +8 -0
- package/android/jni/lzma/CPP/7zip/Crypto/7zAes.cpp +280 -0
- package/android/jni/lzma/CPP/7zip/Crypto/7zAes.h +118 -0
- package/android/jni/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
- package/android/jni/lzma/CPP/7zip/Crypto/MyAes.cpp +112 -0
- package/android/jni/lzma/CPP/7zip/Crypto/MyAes.h +57 -0
- package/android/jni/lzma/CPP/7zip/Crypto/MyAesReg.cpp +16 -0
- package/android/jni/lzma/CPP/7zip/Crypto/RandGen.cpp +233 -0
- package/android/jni/lzma/CPP/7zip/Crypto/RandGen.h +40 -0
- package/android/jni/lzma/CPP/7zip/Crypto/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/GuiCommon.rc +84 -0
- package/android/jni/lzma/CPP/7zip/Guid.txt +220 -0
- package/android/jni/lzma/CPP/7zip/ICoder.h +399 -0
- package/android/jni/lzma/CPP/7zip/IDecl.h +28 -0
- package/android/jni/lzma/CPP/7zip/IPassword.h +23 -0
- package/android/jni/lzma/CPP/7zip/IProgress.h +19 -0
- package/android/jni/lzma/CPP/7zip/IStream.h +127 -0
- package/android/jni/lzma/CPP/7zip/LzmaDec.mak +5 -0
- package/android/jni/lzma/CPP/7zip/MyVersion.h +2 -0
- package/android/jni/lzma/CPP/7zip/MyVersionInfo.rc +2 -0
- package/android/jni/lzma/CPP/7zip/PropID.h +127 -0
- package/android/jni/lzma/CPP/7zip/SubBuild.mak +3 -0
- package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +993 -0
- package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +235 -0
- package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
- package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/UI/Client7z/makefile +28 -0
- package/android/jni/lzma/CPP/7zip/UI/Client7z/resource.rc +3 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1295 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +136 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +1715 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +403 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +155 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.h +10 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +161 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +112 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/Bench.cpp +3618 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/Bench.h +77 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.h +11 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/DirItem.h +190 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +1096 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.h +42 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ExitCode.h +27 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/Extract.cpp +482 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/Extract.h +94 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ExtractMode.h +34 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +280 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.cpp +347 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.h +110 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +114 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +1074 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.h +424 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +3553 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.h +436 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +668 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/Property.h +14 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.cpp +80 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.h +10 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.h +10 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.cpp +19 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.h +16 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/Update.cpp +1704 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/Update.h +200 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.h +66 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +771 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.h +162 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +233 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.h +27 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +70 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.h +55 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.cpp +94 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.h +26 -0
- package/android/jni/lzma/CPP/7zip/UI/Common/ZipRegistry.h +130 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.h +14 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/Console.mak +43 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/Console.manifest +13 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +69 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.h +33 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +825 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +164 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.cpp +367 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.h +48 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/List.cpp +1359 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/List.h +27 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/Main.cpp +1154 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/MainAr.cpp +175 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +66 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +183 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.h +62 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +702 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +124 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +110 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/makefile +64 -0
- package/android/jni/lzma/CPP/7zip/UI/Console/resource.rc +7 -0
- package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +37 -0
- package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1025 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +21 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1037 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +328 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/LangUtils.h +40 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +76 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +122 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +69 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +91 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +17 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +14 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +196 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +170 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1337 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +351 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +48 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +80 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +95 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +255 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +62 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/resource.h +177 -0
- package/android/jni/lzma/CPP/7zip/UI/FileManager/resourceGui.h +15 -0
- package/android/jni/lzma/CPP/7zip/UI/GUI/Extract.rc +59 -0
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +418 -0
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +280 -0
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +38 -0
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
- package/android/jni/lzma/CPP/7zip/UI/GUI/HashGUI.h +27 -0
- package/android/jni/lzma/CPP/7zip/UI/GUI/resource2.h +2 -0
- package/android/jni/lzma/CPP/Build.mak +156 -0
- package/android/jni/lzma/CPP/Common/AutoPtr.h +35 -0
- package/android/jni/lzma/CPP/Common/CRC.cpp +7 -0
- package/android/jni/lzma/CPP/Common/C_FileIO.cpp +92 -0
- package/android/jni/lzma/CPP/Common/C_FileIO.h +53 -0
- package/android/jni/lzma/CPP/Common/ComTry.h +21 -0
- package/android/jni/lzma/CPP/Common/CommandLineParser.cpp +197 -0
- package/android/jni/lzma/CPP/Common/CommandLineParser.h +63 -0
- package/android/jni/lzma/CPP/Common/Common.h +43 -0
- package/android/jni/lzma/CPP/Common/CrcReg.cpp +98 -0
- package/android/jni/lzma/CPP/Common/Defs.h +15 -0
- package/android/jni/lzma/CPP/Common/DynamicBuffer.h +64 -0
- package/android/jni/lzma/CPP/Common/IntToString.cpp +193 -0
- package/android/jni/lzma/CPP/Common/IntToString.h +28 -0
- package/android/jni/lzma/CPP/Common/Lang.h +23 -0
- package/android/jni/lzma/CPP/Common/ListFileUtils.cpp +132 -0
- package/android/jni/lzma/CPP/Common/ListFileUtils.h +18 -0
- package/android/jni/lzma/CPP/Common/MyBuffer.h +259 -0
- package/android/jni/lzma/CPP/Common/MyBuffer2.h +100 -0
- package/android/jni/lzma/CPP/Common/MyCom.h +277 -0
- package/android/jni/lzma/CPP/Common/MyException.h +14 -0
- package/android/jni/lzma/CPP/Common/MyGuidDef.h +54 -0
- package/android/jni/lzma/CPP/Common/MyInitGuid.h +45 -0
- package/android/jni/lzma/CPP/Common/MyLinux.h +42 -0
- package/android/jni/lzma/CPP/Common/MyString.cpp +1659 -0
- package/android/jni/lzma/CPP/Common/MyString.h +868 -0
- package/android/jni/lzma/CPP/Common/MyTypes.h +35 -0
- package/android/jni/lzma/CPP/Common/MyUnknown.h +17 -0
- package/android/jni/lzma/CPP/Common/MyVector.cpp +3 -0
- package/android/jni/lzma/CPP/Common/MyVector.h +634 -0
- package/android/jni/lzma/CPP/Common/MyWindows.cpp +145 -0
- package/android/jni/lzma/CPP/Common/MyWindows.h +231 -0
- package/android/jni/lzma/CPP/Common/NewHandler.cpp +163 -0
- package/android/jni/lzma/CPP/Common/NewHandler.h +88 -0
- package/android/jni/lzma/CPP/Common/Sha256Reg.cpp +40 -0
- package/android/jni/lzma/CPP/Common/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/Common/StdInStream.cpp +89 -0
- package/android/jni/lzma/CPP/Common/StdInStream.h +38 -0
- package/android/jni/lzma/CPP/Common/StdOutStream.cpp +163 -0
- package/android/jni/lzma/CPP/Common/StdOutStream.h +71 -0
- package/android/jni/lzma/CPP/Common/StringConvert.cpp +319 -0
- package/android/jni/lzma/CPP/Common/StringConvert.h +88 -0
- package/android/jni/lzma/CPP/Common/StringToInt.cpp +144 -0
- package/android/jni/lzma/CPP/Common/StringToInt.h +21 -0
- package/android/jni/lzma/CPP/Common/TextConfig.cpp +124 -0
- package/android/jni/lzma/CPP/Common/TextConfig.h +19 -0
- package/android/jni/lzma/CPP/Common/UTFConvert.cpp +288 -0
- package/android/jni/lzma/CPP/Common/UTFConvert.h +12 -0
- package/android/jni/lzma/CPP/Common/Wildcard.cpp +676 -0
- package/android/jni/lzma/CPP/Common/Wildcard.h +149 -0
- package/android/jni/lzma/CPP/Common/XzCrc64Init.cpp +7 -0
- package/android/jni/lzma/CPP/Common/XzCrc64Reg.cpp +42 -0
- package/android/jni/lzma/CPP/Windows/COM.h +70 -0
- package/android/jni/lzma/CPP/Windows/CommonDialog.cpp +185 -0
- package/android/jni/lzma/CPP/Windows/CommonDialog.h +23 -0
- package/android/jni/lzma/CPP/Windows/Control/ComboBox.cpp +66 -0
- package/android/jni/lzma/CPP/Windows/Control/ComboBox.h +65 -0
- package/android/jni/lzma/CPP/Windows/Control/CommandBar.h +52 -0
- package/android/jni/lzma/CPP/Windows/Control/Dialog.cpp +251 -0
- package/android/jni/lzma/CPP/Windows/Control/Dialog.h +170 -0
- package/android/jni/lzma/CPP/Windows/Control/Edit.h +19 -0
- package/android/jni/lzma/CPP/Windows/Control/ImageList.cpp +10 -0
- package/android/jni/lzma/CPP/Windows/Control/ImageList.h +87 -0
- package/android/jni/lzma/CPP/Windows/Control/ListView.cpp +155 -0
- package/android/jni/lzma/CPP/Windows/Control/ListView.h +146 -0
- package/android/jni/lzma/CPP/Windows/Control/ProgressBar.h +35 -0
- package/android/jni/lzma/CPP/Windows/Control/PropertyPage.cpp +143 -0
- package/android/jni/lzma/CPP/Windows/Control/PropertyPage.h +50 -0
- package/android/jni/lzma/CPP/Windows/Control/ReBar.h +34 -0
- package/android/jni/lzma/CPP/Windows/Control/Static.h +28 -0
- package/android/jni/lzma/CPP/Windows/Control/StatusBar.h +42 -0
- package/android/jni/lzma/CPP/Windows/Control/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/Windows/Control/ToolBar.h +43 -0
- package/android/jni/lzma/CPP/Windows/Control/Trackbar.h +27 -0
- package/android/jni/lzma/CPP/Windows/Control/Window2.cpp +200 -0
- package/android/jni/lzma/CPP/Windows/Control/Window2.h +51 -0
- package/android/jni/lzma/CPP/Windows/DLL.cpp +109 -0
- package/android/jni/lzma/CPP/Windows/DLL.h +58 -0
- package/android/jni/lzma/CPP/Windows/Defs.h +17 -0
- package/android/jni/lzma/CPP/Windows/ErrorMsg.cpp +66 -0
- package/android/jni/lzma/CPP/Windows/ErrorMsg.h +15 -0
- package/android/jni/lzma/CPP/Windows/FileDir.cpp +714 -0
- package/android/jni/lzma/CPP/Windows/FileDir.h +117 -0
- package/android/jni/lzma/CPP/Windows/FileFind.cpp +749 -0
- package/android/jni/lzma/CPP/Windows/FileFind.h +161 -0
- package/android/jni/lzma/CPP/Windows/FileIO.cpp +432 -0
- package/android/jni/lzma/CPP/Windows/FileIO.h +212 -0
- package/android/jni/lzma/CPP/Windows/FileLink.cpp +440 -0
- package/android/jni/lzma/CPP/Windows/FileMapping.cpp +12 -0
- package/android/jni/lzma/CPP/Windows/FileMapping.h +66 -0
- package/android/jni/lzma/CPP/Windows/FileName.cpp +839 -0
- package/android/jni/lzma/CPP/Windows/FileName.h +115 -0
- package/android/jni/lzma/CPP/Windows/FileSystem.cpp +131 -0
- package/android/jni/lzma/CPP/Windows/FileSystem.h +27 -0
- package/android/jni/lzma/CPP/Windows/Handle.h +37 -0
- package/android/jni/lzma/CPP/Windows/MemoryLock.cpp +112 -0
- package/android/jni/lzma/CPP/Windows/MemoryLock.h +40 -0
- package/android/jni/lzma/CPP/Windows/NtCheck.h +46 -0
- package/android/jni/lzma/CPP/Windows/PropVariant.cpp +347 -0
- package/android/jni/lzma/CPP/Windows/PropVariant.h +114 -0
- package/android/jni/lzma/CPP/Windows/PropVariantConv.cpp +138 -0
- package/android/jni/lzma/CPP/Windows/PropVariantConv.h +37 -0
- package/android/jni/lzma/CPP/Windows/Registry.cpp +390 -0
- package/android/jni/lzma/CPP/Windows/Registry.h +84 -0
- package/android/jni/lzma/CPP/Windows/ResourceString.cpp +103 -0
- package/android/jni/lzma/CPP/Windows/ResourceString.h +16 -0
- package/android/jni/lzma/CPP/Windows/SecurityUtils.cpp +181 -0
- package/android/jni/lzma/CPP/Windows/SecurityUtils.h +167 -0
- package/android/jni/lzma/CPP/Windows/Shell.cpp +358 -0
- package/android/jni/lzma/CPP/Windows/Shell.h +94 -0
- package/android/jni/lzma/CPP/Windows/StdAfx.h +8 -0
- package/android/jni/lzma/CPP/Windows/Synchronization.cpp +10 -0
- package/android/jni/lzma/CPP/Windows/Synchronization.h +164 -0
- package/android/jni/lzma/CPP/Windows/System.cpp +142 -0
- package/android/jni/lzma/CPP/Windows/System.h +40 -0
- package/android/jni/lzma/CPP/Windows/Thread.h +38 -0
- package/android/jni/lzma/CPP/Windows/TimeUtils.cpp +213 -0
- package/android/jni/lzma/CPP/Windows/TimeUtils.h +32 -0
- package/android/jni/lzma/CPP/Windows/Window.cpp +179 -0
- package/android/jni/lzma/CPP/Windows/Window.h +284 -0
- package/android/jni/lzma/CS/7zip/Common/CRC.cs +55 -0
- package/android/jni/lzma/CS/7zip/Common/CommandLineParser.cs +274 -0
- package/android/jni/lzma/CS/7zip/Common/InBuffer.cs +72 -0
- package/android/jni/lzma/CS/7zip/Common/OutBuffer.cs +47 -0
- package/android/jni/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +24 -0
- package/android/jni/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +367 -0
- package/android/jni/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +132 -0
- package/android/jni/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +110 -0
- package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +76 -0
- package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +398 -0
- package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +1480 -0
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +364 -0
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +90 -0
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +20 -0
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +340 -0
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +29 -0
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +70 -0
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +42 -0
- package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +234 -0
- package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +117 -0
- package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +157 -0
- package/android/jni/lzma/CS/7zip/ICoder.cs +157 -0
- package/android/jni/lzma/DOC/7zC.txt +187 -0
- package/android/jni/lzma/DOC/7zFormat.txt +469 -0
- package/android/jni/lzma/DOC/Methods.txt +173 -0
- package/android/jni/lzma/DOC/installer.txt +166 -0
- package/android/jni/lzma/DOC/lzma-history.txt +446 -0
- package/android/jni/lzma/DOC/lzma-sdk.txt +357 -0
- package/android/jni/lzma/DOC/lzma-specification.txt +1176 -0
- package/android/jni/lzma/DOC/lzma.txt +328 -0
- package/android/jni/lzma/Java/SevenZip/CRC.java +52 -0
- package/android/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.java +382 -0
- package/android/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.java +131 -0
- package/android/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +85 -0
- package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Base.java +88 -0
- package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +329 -0
- package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +1416 -0
- package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +55 -0
- package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +99 -0
- package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +88 -0
- package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +151 -0
- package/android/jni/lzma/Java/SevenZip/ICodeProgress.java +6 -0
- package/android/jni/lzma/Java/SevenZip/LzmaAlone.java +253 -0
- package/android/jni/lzma/Java/SevenZip/LzmaBench.java +392 -0
- package/android/jni/lzma/bin/7zS2.sfx +0 -0
- package/android/jni/lzma/bin/7zS2con.sfx +0 -0
- package/android/jni/lzma/bin/7zSD.sfx +0 -0
- package/android/jni/lzma/bin/installer/config.txt +5 -0
- package/android/jni/lzma/bin/installer/cr.bat +5 -0
- package/android/lib/arm64-v8a/librnupdate.so +0 -0
- package/android/lib/armeabi-v7a/librnupdate.so +0 -0
- package/android/lib/x86/librnupdate.so +0 -0
- package/android/lib/x86_64/librnupdate.so +0 -0
- package/android/proguard.pro +83 -0
- package/android/src/main/AndroidManifest.xml +14 -0
- package/android/src/main/AndroidManifestNew.xml +13 -0
- package/android/src/main/java/cn/reactnative/modules/update/ApkInstaller.java +292 -0
- package/android/src/main/java/cn/reactnative/modules/update/ArchiveLimits.java +50 -0
- package/android/src/main/java/cn/reactnative/modules/update/ArchivePatchPlanResult.java +11 -0
- package/android/src/main/java/cn/reactnative/modules/update/BundledResourceCopier.java +394 -0
- package/android/src/main/java/cn/reactnative/modules/update/CleanupKeepNames.java +30 -0
- package/android/src/main/java/cn/reactnative/modules/update/CopyGroupResult.java +11 -0
- package/android/src/main/java/cn/reactnative/modules/update/CrashRescue.java +120 -0
- package/android/src/main/java/cn/reactnative/modules/update/DownloadTask.java +954 -0
- package/android/src/main/java/cn/reactnative/modules/update/DownloadTaskParams.java +64 -0
- package/android/src/main/java/cn/reactnative/modules/update/ErrorCodes.java +32 -0
- package/android/src/main/java/cn/reactnative/modules/update/FileOperationException.java +20 -0
- package/android/src/main/java/cn/reactnative/modules/update/HttpUtils.java +64 -0
- package/android/src/main/java/cn/reactnative/modules/update/InstallRecord.java +156 -0
- package/android/src/main/java/cn/reactnative/modules/update/NativeCheckOrchestrator.java +725 -0
- package/android/src/main/java/cn/reactnative/modules/update/NativeUpdateCore.java +43 -0
- package/android/src/main/java/cn/reactnative/modules/update/NativeUpdateFlow.java +30 -0
- package/android/src/main/java/cn/reactnative/modules/update/PackageInstallerStatusReceiver.java +17 -0
- package/android/src/main/java/cn/reactnative/modules/update/PatchFailedException.java +21 -0
- package/android/src/main/java/cn/reactnative/modules/update/ReactReloadManager.java +274 -0
- package/android/src/main/java/cn/reactnative/modules/update/SafeZipFile.java +187 -0
- package/android/src/main/java/cn/reactnative/modules/update/StateCoreResult.java +22 -0
- package/android/src/main/java/cn/reactnative/modules/update/StateSerialRunner.java +70 -0
- package/android/src/main/java/cn/reactnative/modules/update/UiThreadRunner.java +42 -0
- package/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +952 -0
- package/android/src/main/java/cn/reactnative/modules/update/UpdateEventEmitter.java +70 -0
- package/android/src/main/java/cn/reactnative/modules/update/UpdateFileUtils.java +110 -0
- package/android/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.java +403 -0
- package/android/src/main/java/cn/reactnative/modules/update/UpdatePackage.java +51 -0
- package/android/src/main/java/expo/modules/pakta/ExpoPaktaModule.kt +15 -0
- package/android/src/main/java/expo/modules/pakta/ExpoPaktaPackage.java +29 -0
- package/android/src/newarch/cn/reactnative/modules/update/UpdateModule.java +126 -0
- package/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java +130 -0
- package/cpp/patch_core/archive_limits.h +49 -0
- package/cpp/patch_core/archive_patch_core.cpp +146 -0
- package/cpp/patch_core/archive_patch_core.h +69 -0
- package/cpp/patch_core/digest.cpp +235 -0
- package/cpp/patch_core/digest.h +66 -0
- package/cpp/patch_core/error_codes.h +57 -0
- package/cpp/patch_core/hbc_transform.cpp +152 -0
- package/cpp/patch_core/hbc_transform.h +58 -0
- package/cpp/patch_core/hbc_transform_wire.cpp +332 -0
- package/cpp/patch_core/hbc_transform_wire.h +57 -0
- package/cpp/patch_core/install_record.h +41 -0
- package/cpp/patch_core/jni_util.h +65 -0
- package/cpp/patch_core/patch_core.cpp +849 -0
- package/cpp/patch_core/patch_core.h +103 -0
- package/cpp/patch_core/patch_core_android.cpp +102 -0
- package/cpp/patch_core/state_core.cpp +122 -0
- package/cpp/patch_core/state_core.h +66 -0
- package/cpp/patch_core/state_ops.h +29 -0
- package/cpp/patch_core/update_core_android.cpp +502 -0
- package/cpp/update_flow_core/flow_json.cpp +660 -0
- package/cpp/update_flow_core/flow_json.h +121 -0
- package/cpp/update_flow_core/update_flow_core.cpp +418 -0
- package/cpp/update_flow_core/update_flow_core.h +100 -0
- package/cpp/update_flow_core/update_flow_jni.cpp +157 -0
- package/expo-module.config.json +13 -0
- package/harmony/hvigor-plugin.ts +212 -0
- package/harmony/pakta/src/README.md +74 -0
- package/harmony/pakta/src/main/cpp/CMakeLists.txt +92 -0
- package/harmony/pakta/src/main/cpp/PaktaPackage.h +60 -0
- package/harmony/pakta/src/main/cpp/PaktaTurboModule.cpp +123 -0
- package/harmony/pakta/src/main/cpp/PaktaTurboModule.h +43 -0
- package/harmony/pakta/src/main/cpp/pakta.cpp +1243 -0
- package/harmony/pakta/src/main/ets/ArchiveLimits.ts +144 -0
- package/harmony/pakta/src/main/ets/DownloadTask.ts +1375 -0
- package/harmony/pakta/src/main/ets/DownloadTaskParams.ts +27 -0
- package/harmony/pakta/src/main/ets/ErrorCodes.ts +80 -0
- package/harmony/pakta/src/main/ets/EventHub.ts +46 -0
- package/harmony/pakta/src/main/ets/InstallRecord.ts +192 -0
- package/harmony/pakta/src/main/ets/Logger.ts +83 -0
- package/harmony/pakta/src/main/ets/MonotonicClock.ts +18 -0
- package/harmony/pakta/src/main/ets/NativeCheckOrchestrator.ts +640 -0
- package/harmony/pakta/src/main/ets/NativePatchCore.ts +123 -0
- package/harmony/pakta/src/main/ets/PaktaFileJSBundleProvider.ets +54 -0
- package/harmony/pakta/src/main/ets/PaktaPackage.ets +15 -0
- package/harmony/pakta/src/main/ets/PaktaPackageCompat.ts +15 -0
- package/harmony/pakta/src/main/ets/PaktaPackageFactory.ts +19 -0
- package/harmony/pakta/src/main/ets/PaktaTurboModule.ts +433 -0
- package/harmony/pakta/src/main/ets/PathUtils.ts +32 -0
- package/harmony/pakta/src/main/ets/SaveFile.ts +39 -0
- package/harmony/pakta/src/main/ets/UpdateContext.ts +1059 -0
- package/harmony/pakta/src/main/module.json5 +14 -0
- package/harmony/pakta/src/main/resources/base/element/string.json +8 -0
- package/harmony/pakta/src/main/resources/en_US/element/string.json +8 -0
- package/harmony/pakta/src/main/resources/zh_CN/element/string.json +8 -0
- package/harmony/pakta.har +0 -0
- package/ios/Expo/ExpoPaktaModule.swift +12 -0
- package/ios/Expo/ExpoPaktaReactDelegateHandler.swift +25 -0
- package/ios/ImportReact.h +7 -0
- package/ios/PrivacyInfo.xcprivacy +84 -0
- package/ios/RCTPakta/RCTPakta.h +14 -0
- package/ios/RCTPakta/RCTPakta.mm +2775 -0
- package/ios/RCTPakta/RCTPaktaDownloader.h +29 -0
- package/ios/RCTPakta/RCTPaktaDownloader.mm +625 -0
- package/ios/pakta_build_time.txt +1 -0
- package/package.json +88 -0
- package/react-native.config.js +6 -0
- package/rn-update.podspec +221 -0
- package/src/NativePakta.ts +85 -0
- package/src/client.ts +1839 -0
- package/src/context.ts +102 -0
- package/src/core.ts +190 -0
- package/src/endpoint.ts +204 -0
- package/src/error.ts +168 -0
- package/src/errorReporting.ts +141 -0
- package/src/globals.d.ts +6 -0
- package/src/i18n.ts +113 -0
- package/src/index.ts +46 -0
- package/src/locales/en.ts +77 -0
- package/src/locales/zh.ts +71 -0
- package/src/metadata.ts +175 -0
- package/src/provider.tsx +629 -0
- package/src/telemetry.ts +104 -0
- package/src/type.ts +243 -0
- package/src/updateFlowCore.ts +428 -0
- package/src/utils.ts +268 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: 依赖 System.loadLibrary 加载的 librnupdate 与 getSupportedDiffVersion JNI 符号
|
|
3
|
+
* [OUTPUT]: 对内提供幂等 ensureLoaded 和原生 supportedDiffVersion 能力查询
|
|
4
|
+
* [POS]: Android 共享原生库加载门,被状态、下载和冷启动决策桥共同复用
|
|
5
|
+
*/
|
|
6
|
+
package cn.reactnative.modules.update;
|
|
7
|
+
|
|
8
|
+
final class NativeUpdateCore {
|
|
9
|
+
private static boolean loaded = false;
|
|
10
|
+
|
|
11
|
+
private NativeUpdateCore() {
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static synchronized void ensureLoaded() {
|
|
15
|
+
if (loaded) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
System.loadLibrary("rnupdate");
|
|
21
|
+
} catch (UnsatisfiedLinkError error) {
|
|
22
|
+
UnsatisfiedLinkError wrapped = new UnsatisfiedLinkError(
|
|
23
|
+
"Failed to load rnupdate native library. Original error: "
|
|
24
|
+
+ error.getMessage());
|
|
25
|
+
wrapped.initCause(error);
|
|
26
|
+
throw wrapped;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
loaded = true;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 原生 patch 内核可消费的 diff 轨道版本(2 = hdiffv2 轨道)。
|
|
34
|
+
* 经 getConstants 暴露给 JS,再随 checkUpdate 以 diffV 上报,
|
|
35
|
+
* 服务端按能力门控下发。
|
|
36
|
+
*/
|
|
37
|
+
static int supportedDiffVersion() {
|
|
38
|
+
ensureLoaded();
|
|
39
|
+
return getSupportedDiffVersion();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
private static native int getSupportedDiffVersion();
|
|
43
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: 依赖 NativeUpdateCore 与 cpp/update_flow_core 的字符串 JSON JNI 实现
|
|
3
|
+
* [OUTPUT]: 对内提供检查请求构造、端点排序和响应决策三个无 IO 原生入口
|
|
4
|
+
* [POS]: NativeCheckOrchestrator 与跨平台纯决策核心之间的窄桥,不解释或持久化 JSON
|
|
5
|
+
*/
|
|
6
|
+
package cn.reactnative.modules.update;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* JNI bindings to the shared update-flow decision layer
|
|
10
|
+
* (cpp/update_flow_core). String-in/string-out JSON on purpose — it matches
|
|
11
|
+
* the decision layer's own boundary and keeps this surface trivially stable.
|
|
12
|
+
* A null return means the input did not parse; callers skip the check round.
|
|
13
|
+
*/
|
|
14
|
+
final class NativeUpdateFlow {
|
|
15
|
+
static {
|
|
16
|
+
NativeUpdateCore.ensureLoaded();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
private NativeUpdateFlow() {
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static native String buildCheckRequestBody(String inputJson);
|
|
23
|
+
|
|
24
|
+
static native String orderEndpointCandidates(String endpointsJson, double randomSample);
|
|
25
|
+
|
|
26
|
+
static native boolean isValidCheckResponse(String responseText);
|
|
27
|
+
|
|
28
|
+
static native String handleCheckResponse(
|
|
29
|
+
String responseText, String identityJson, String afterDownload);
|
|
30
|
+
}
|
package/android/src/main/java/cn/reactnative/modules/update/PackageInstallerStatusReceiver.java
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: 依赖 Android BroadcastReceiver 生命周期与 manifest 注册的安装回执 Intent
|
|
3
|
+
* [OUTPUT]: 把 PackageInstaller 会话状态广播转交给 ApkInstaller.handleStatus 归类
|
|
4
|
+
* [POS]: Android APK 安装回执的入口 Receiver,无自身状态
|
|
5
|
+
*/
|
|
6
|
+
package cn.reactnative.modules.update;
|
|
7
|
+
|
|
8
|
+
import android.content.BroadcastReceiver;
|
|
9
|
+
import android.content.Context;
|
|
10
|
+
import android.content.Intent;
|
|
11
|
+
|
|
12
|
+
public final class PackageInstallerStatusReceiver extends BroadcastReceiver {
|
|
13
|
+
@Override
|
|
14
|
+
public void onReceive(Context context, Intent intent) {
|
|
15
|
+
ApkInstaller.handleStatus(context, intent);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: 依赖 IOException 与 DownloadTask 对下载阶段/补丁阶段的失败分类
|
|
3
|
+
* [OUTPUT]: 对内提供 PatchFailedException,标记解包、hdiff 或资源复制失败
|
|
4
|
+
* [POS]: Android 失败语义边界,使 UpdateModuleImpl 和客户端遥测不会把补丁质量问题归入网络噪声
|
|
5
|
+
*/
|
|
6
|
+
package cn.reactnative.modules.update;
|
|
7
|
+
|
|
8
|
+
import java.io.IOException;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A download task failure that happened after the artifact was fully
|
|
12
|
+
* downloaded — unzip, hdiff apply, or bundled-resource copy (including the
|
|
13
|
+
* copiesCrc content verification). UpdateModuleImpl rejects these with
|
|
14
|
+
* PATCH_FAILED instead of DOWNLOAD_FAILED so the JS layer and server-side
|
|
15
|
+
* telemetry can separate patch health from network health.
|
|
16
|
+
*/
|
|
17
|
+
class PatchFailedException extends IOException {
|
|
18
|
+
PatchFailedException(String message, Throwable cause) {
|
|
19
|
+
super(message, cause);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: 依赖 UpdateContext、ReactApplicationContext 与 ReactHost/ReactInstanceManager/ReactActivity 的跨版本反射能力
|
|
3
|
+
* [OUTPUT]: 对内提供 restartApp,在切换可选版本后按新架构 Host、旧架构 InstanceManager、Activity 重建顺序重载
|
|
4
|
+
* [POS]: Android React Native 生命周期兼容层,隔离框架版本差异,使 UpdateModuleImpl 不感知具体重载机制
|
|
5
|
+
*/
|
|
6
|
+
package cn.reactnative.modules.update;
|
|
7
|
+
|
|
8
|
+
import android.app.Activity;
|
|
9
|
+
import android.content.Context;
|
|
10
|
+
import android.util.Log;
|
|
11
|
+
import androidx.annotation.Nullable;
|
|
12
|
+
import com.facebook.react.ReactActivity;
|
|
13
|
+
import com.facebook.react.ReactApplication;
|
|
14
|
+
import com.facebook.react.ReactDelegate;
|
|
15
|
+
import com.facebook.react.ReactInstanceManager;
|
|
16
|
+
import com.facebook.react.ReactNativeHost;
|
|
17
|
+
import com.facebook.react.bridge.JSBundleLoader;
|
|
18
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
19
|
+
import java.lang.reflect.Field;
|
|
20
|
+
import java.lang.reflect.Method;
|
|
21
|
+
|
|
22
|
+
final class ReactReloadManager {
|
|
23
|
+
private ReactReloadManager() {
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* First half of a restart, for the state serial thread: activate the
|
|
28
|
+
* requested version (bundle digest + commit) and resolve the bundle to
|
|
29
|
+
* load. Nothing here touches React, so nothing here needs the UI thread
|
|
30
|
+
* (CODE_AUDIT 2.2). Returns the bundle path, or null for the packaged
|
|
31
|
+
* bundle.
|
|
32
|
+
*/
|
|
33
|
+
@Nullable
|
|
34
|
+
static String prepareRestart(UpdateContext updateContext, @Nullable String hash) {
|
|
35
|
+
if (hash != null) {
|
|
36
|
+
updateContext.switchVersion(hash);
|
|
37
|
+
}
|
|
38
|
+
return updateContext.getBundleUrl();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Second half, for the UI thread: point the running React instance at
|
|
43
|
+
* {@code updateBundlePath} and reload it. Throws when no supported
|
|
44
|
+
* injection worked — the caller rejects RESTART_FAILED. There is
|
|
45
|
+
* deliberately no Activity.recreate() fallback: it would reload the
|
|
46
|
+
* previous bundle while the promise reported success (CODE_AUDIT 2.9).
|
|
47
|
+
*/
|
|
48
|
+
static void reload(
|
|
49
|
+
UpdateContext updateContext,
|
|
50
|
+
ReactApplicationContext reactContext,
|
|
51
|
+
@Nullable String updateBundlePath
|
|
52
|
+
) throws Throwable {
|
|
53
|
+
Context application = reactContext.getApplicationContext();
|
|
54
|
+
Activity currentActivity = reactContext.getCurrentActivity();
|
|
55
|
+
|
|
56
|
+
boolean newArchitectureEnabled = isNewArchitectureEnabled(application);
|
|
57
|
+
Object reactHost = newArchitectureEnabled ? getReactHost(currentActivity, application) : null;
|
|
58
|
+
if (reactHost != null) {
|
|
59
|
+
try {
|
|
60
|
+
reloadReactHost(reactHost, createBundleLoader(application, updateBundlePath, true));
|
|
61
|
+
return;
|
|
62
|
+
} catch (Throwable err) {
|
|
63
|
+
Log.e(UpdateContext.TAG,
|
|
64
|
+
"Failed to reload via ReactHost, trying ReactInstanceManager", err);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
JSBundleLoader loader = createBundleLoader(application, updateBundlePath, false);
|
|
69
|
+
ReactInstanceManager instanceManager =
|
|
70
|
+
resolveReactInstanceManager(updateContext, application);
|
|
71
|
+
|
|
72
|
+
// Java (mBundleLoader / mJSBundleFile) and Kotlin (bundleLoader /
|
|
73
|
+
// jsBundleFile) spellings of the private fields are both tried.
|
|
74
|
+
try {
|
|
75
|
+
Field loadField = getCompatibleField(instanceManager.getClass(), "bundleLoader");
|
|
76
|
+
loadField.setAccessible(true);
|
|
77
|
+
loadField.set(instanceManager, loader);
|
|
78
|
+
} catch (Throwable err) {
|
|
79
|
+
Field jsBundleField = getCompatibleField(instanceManager.getClass(), "jsBundleFile");
|
|
80
|
+
jsBundleField.setAccessible(true);
|
|
81
|
+
jsBundleField.set(instanceManager, updateBundlePath);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
instanceManager.recreateReactContextInBackground();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
private static Field getCompatibleField(Class<?> clazz, String fieldName)
|
|
88
|
+
throws NoSuchFieldException {
|
|
89
|
+
try {
|
|
90
|
+
return clazz.getDeclaredField("m" + capitalize(fieldName));
|
|
91
|
+
} catch (NoSuchFieldException e) {
|
|
92
|
+
try {
|
|
93
|
+
return clazz.getDeclaredField(fieldName);
|
|
94
|
+
} catch (NoSuchFieldException e2) {
|
|
95
|
+
throw new NoSuchFieldException(
|
|
96
|
+
"Field not found with either name: m"
|
|
97
|
+
+ capitalize(fieldName)
|
|
98
|
+
+ " or "
|
|
99
|
+
+ fieldName
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
private static String capitalize(String str) {
|
|
106
|
+
if (str == null || str.length() == 0) {
|
|
107
|
+
return str;
|
|
108
|
+
}
|
|
109
|
+
return str.substring(0, 1).toUpperCase() + str.substring(1);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
private static String getDefaultBundleAssetName(Context application) {
|
|
113
|
+
String bundleAssetName = "index.android.bundle";
|
|
114
|
+
if (!(application instanceof ReactApplication)) {
|
|
115
|
+
return bundleAssetName;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
try {
|
|
119
|
+
ReactNativeHost reactNativeHost = ((ReactApplication) application).getReactNativeHost();
|
|
120
|
+
if (reactNativeHost == null) {
|
|
121
|
+
return bundleAssetName;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
Method getBundleAssetNameMethod = ReactNativeHost.class.getDeclaredMethod("getBundleAssetName");
|
|
125
|
+
getBundleAssetNameMethod.setAccessible(true);
|
|
126
|
+
Object resolvedBundleAssetName = getBundleAssetNameMethod.invoke(reactNativeHost);
|
|
127
|
+
if (resolvedBundleAssetName instanceof String && !((String) resolvedBundleAssetName).isEmpty()) {
|
|
128
|
+
return (String) resolvedBundleAssetName;
|
|
129
|
+
}
|
|
130
|
+
} catch (Exception e) {
|
|
131
|
+
Log.e(UpdateContext.TAG, "Failed to get default asset name from ReactNativeHost", e);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return bundleAssetName;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
private static String toAssetUrl(String bundleAssetName) {
|
|
138
|
+
if (bundleAssetName == null || bundleAssetName.isEmpty()) {
|
|
139
|
+
return "assets://index.android.bundle";
|
|
140
|
+
}
|
|
141
|
+
if (bundleAssetName.startsWith("assets://")) {
|
|
142
|
+
return bundleAssetName;
|
|
143
|
+
}
|
|
144
|
+
return "assets://" + bundleAssetName;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
private static JSBundleLoader createBundleLoader(
|
|
148
|
+
Context application,
|
|
149
|
+
@Nullable String updateBundlePath,
|
|
150
|
+
boolean loadAssetSynchronously
|
|
151
|
+
) {
|
|
152
|
+
if (updateBundlePath != null) {
|
|
153
|
+
return JSBundleLoader.createFileLoader(updateBundlePath);
|
|
154
|
+
}
|
|
155
|
+
return JSBundleLoader.createAssetLoader(
|
|
156
|
+
application,
|
|
157
|
+
toAssetUrl(getDefaultBundleAssetName(application)),
|
|
158
|
+
loadAssetSynchronously
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
@Nullable
|
|
163
|
+
private static Object getReactHost(@Nullable Activity currentActivity, Context application) {
|
|
164
|
+
if (currentActivity instanceof ReactActivity) {
|
|
165
|
+
try {
|
|
166
|
+
Method getReactDelegateMethod = ReactActivity.class.getMethod("getReactDelegate");
|
|
167
|
+
ReactDelegate reactDelegate =
|
|
168
|
+
(ReactDelegate) getReactDelegateMethod.invoke(currentActivity);
|
|
169
|
+
if (reactDelegate != null) {
|
|
170
|
+
Field reactHostField = getCompatibleField(reactDelegate.getClass(), "reactHost");
|
|
171
|
+
reactHostField.setAccessible(true);
|
|
172
|
+
Object reactHost = reactHostField.get(reactDelegate);
|
|
173
|
+
if (reactHost != null) {
|
|
174
|
+
return reactHost;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
} catch (Throwable ignored) {
|
|
178
|
+
Log.w(UpdateContext.TAG, "getReactHost via ReactDelegate reflection failed", ignored);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
try {
|
|
183
|
+
Method getReactHostMethod = application.getClass().getMethod("getReactHost");
|
|
184
|
+
return getReactHostMethod.invoke(application);
|
|
185
|
+
} catch (Throwable ignored) {
|
|
186
|
+
Log.w(UpdateContext.TAG, "getReactHost via Application.getReactHost() failed", ignored);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
private static boolean isNewArchitectureEnabled(Context application) {
|
|
193
|
+
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
|
194
|
+
return true;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
try {
|
|
198
|
+
Class<?> buildConfigClass = Class.forName(application.getPackageName() + ".BuildConfig");
|
|
199
|
+
Field newArchitectureField = buildConfigClass.getField("IS_NEW_ARCHITECTURE_ENABLED");
|
|
200
|
+
if (newArchitectureField.getBoolean(null)) {
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
} catch (Throwable ignored) {
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (application instanceof ReactApplication) {
|
|
207
|
+
try {
|
|
208
|
+
ReactNativeHost reactNativeHost = ((ReactApplication) application).getReactNativeHost();
|
|
209
|
+
Method isNewArchEnabledMethod = getDeclaredMethodInHierarchy(
|
|
210
|
+
reactNativeHost.getClass(),
|
|
211
|
+
"isNewArchEnabled"
|
|
212
|
+
);
|
|
213
|
+
isNewArchEnabledMethod.setAccessible(true);
|
|
214
|
+
Object result = isNewArchEnabledMethod.invoke(reactNativeHost);
|
|
215
|
+
return result instanceof Boolean && (Boolean) result;
|
|
216
|
+
} catch (Throwable ignored) {
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
private static Method getDeclaredMethodInHierarchy(Class<?> clazz, String methodName)
|
|
224
|
+
throws NoSuchMethodException {
|
|
225
|
+
Class<?> current = clazz;
|
|
226
|
+
while (current != null) {
|
|
227
|
+
try {
|
|
228
|
+
return current.getDeclaredMethod(methodName);
|
|
229
|
+
} catch (NoSuchMethodException ignored) {
|
|
230
|
+
current = current.getSuperclass();
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
throw new NoSuchMethodException(methodName);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
private static void reloadReactHost(Object reactHost, JSBundleLoader loader) throws Throwable {
|
|
238
|
+
try {
|
|
239
|
+
Field devSupportField = getCompatibleField(reactHost.getClass(), "useDevSupport");
|
|
240
|
+
devSupportField.setAccessible(true);
|
|
241
|
+
devSupportField.set(reactHost, false);
|
|
242
|
+
} catch (Throwable ignored) {
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
Field reactHostDelegateField = getCompatibleField(reactHost.getClass(), "reactHostDelegate");
|
|
246
|
+
reactHostDelegateField.setAccessible(true);
|
|
247
|
+
Object reactHostDelegate = reactHostDelegateField.get(reactHost);
|
|
248
|
+
|
|
249
|
+
String bundleFieldName = "jsBundleLoader";
|
|
250
|
+
if ("expo.modules.ExpoReactHostFactory.ExpoReactHostDelegate".equals(
|
|
251
|
+
reactHostDelegate.getClass().getCanonicalName()
|
|
252
|
+
)) {
|
|
253
|
+
bundleFieldName = "_jsBundleLoader";
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
Field jsBundleLoaderField = reactHostDelegate.getClass().getDeclaredField(bundleFieldName);
|
|
257
|
+
jsBundleLoaderField.setAccessible(true);
|
|
258
|
+
jsBundleLoaderField.set(reactHostDelegate, loader);
|
|
259
|
+
|
|
260
|
+
Method reloadMethod = reactHost.getClass().getMethod("reload", String.class);
|
|
261
|
+
reloadMethod.invoke(reactHost, "react-native-update");
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
private static ReactInstanceManager resolveReactInstanceManager(
|
|
265
|
+
UpdateContext updateContext,
|
|
266
|
+
Context application
|
|
267
|
+
) {
|
|
268
|
+
ReactInstanceManager instanceManager = updateContext.getCustomReactInstanceManager();
|
|
269
|
+
if (instanceManager != null) {
|
|
270
|
+
return instanceManager;
|
|
271
|
+
}
|
|
272
|
+
return ((ReactApplication) application).getReactNativeHost().getReactInstanceManager();
|
|
273
|
+
}
|
|
274
|
+
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: 依赖 java.util.zip.ZipFile、规范化文件路径与受控解压目标目录
|
|
3
|
+
* [OUTPUT]: 对外提供 SafeZipFile、受保护 entries 迭代及 unzipToPath/unzipToFile
|
|
4
|
+
* [POS]: Android 归档安全边界,在 DownloadTask 和 BundledResourceCopier 读取任何条目前阻断 Zip Slip 路径穿越
|
|
5
|
+
*/
|
|
6
|
+
package cn.reactnative.modules.update;
|
|
7
|
+
|
|
8
|
+
import java.io.BufferedInputStream;
|
|
9
|
+
import java.io.BufferedOutputStream;
|
|
10
|
+
import java.io.File;
|
|
11
|
+
import java.io.FileOutputStream;
|
|
12
|
+
import java.io.IOException;
|
|
13
|
+
import java.io.InputStream;
|
|
14
|
+
import java.util.Enumeration;
|
|
15
|
+
import java.util.zip.ZipEntry;
|
|
16
|
+
import java.util.zip.ZipFile;
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
public class SafeZipFile extends ZipFile {
|
|
20
|
+
|
|
21
|
+
public SafeZipFile(File file) throws IOException {
|
|
22
|
+
super(file);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
private static final int BUFFER_SIZE = 8192;
|
|
26
|
+
|
|
27
|
+
// Bytes written by unzipToFile across the archive: the sum of the central
|
|
28
|
+
// directory's declared sizes is checked up front (inspect), the actual
|
|
29
|
+
// stream is re-checked here — headers can lie.
|
|
30
|
+
private long totalWritten = 0;
|
|
31
|
+
|
|
32
|
+
static final class Inspection {
|
|
33
|
+
long entries;
|
|
34
|
+
long totalUncompressed;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Walks the central directory once, enforcing the archive_limits caps
|
|
39
|
+
* (entry count, per-entry size, total size, compression ratio) and the
|
|
40
|
+
* reserved-name / traversal rules, before a single byte is extracted.
|
|
41
|
+
*/
|
|
42
|
+
Inspection inspect() throws IOException {
|
|
43
|
+
Inspection result = new Inspection();
|
|
44
|
+
Enumeration<? extends ZipEntry> entries = entries();
|
|
45
|
+
while (entries.hasMoreElements()) {
|
|
46
|
+
ZipEntry entry = entries.nextElement();
|
|
47
|
+
result.entries++;
|
|
48
|
+
if (result.entries > ArchiveLimits.MAX_ENTRIES) {
|
|
49
|
+
throw new IOException(
|
|
50
|
+
"archive has too many entries (> " + ArchiveLimits.MAX_ENTRIES + ")");
|
|
51
|
+
}
|
|
52
|
+
long size = entry.getSize();
|
|
53
|
+
long compressed = entry.getCompressedSize();
|
|
54
|
+
if (size > ArchiveLimits.MAX_ENTRY_BYTES) {
|
|
55
|
+
throw new IOException(
|
|
56
|
+
"archive entry too large: " + entry.getName() + " (" + size + " bytes)");
|
|
57
|
+
}
|
|
58
|
+
if (size > 0) {
|
|
59
|
+
result.totalUncompressed += size;
|
|
60
|
+
if (result.totalUncompressed > ArchiveLimits.MAX_TOTAL_UNCOMPRESSED_BYTES) {
|
|
61
|
+
throw new IOException("archive expands beyond "
|
|
62
|
+
+ ArchiveLimits.MAX_TOTAL_UNCOMPRESSED_BYTES + " bytes");
|
|
63
|
+
}
|
|
64
|
+
if (compressed > 0 && size > ArchiveLimits.RATIO_CHECK_MIN_BYTES
|
|
65
|
+
&& size / compressed > ArchiveLimits.MAX_COMPRESSION_RATIO) {
|
|
66
|
+
throw new IOException(
|
|
67
|
+
"archive entry compression ratio too high: " + entry.getName());
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Files the SDK itself writes into a version directory to record its own
|
|
75
|
+
// decisions (the ".pakta-complete" install marker today). An archive
|
|
76
|
+
// must never be able to ship one: a package that unzips its own marker
|
|
77
|
+
// next to a bundle would be trusted as a finished install even when the
|
|
78
|
+
// patch step that follows fails.
|
|
79
|
+
static final String RESERVED_ENTRY_PREFIX = ".pakta-";
|
|
80
|
+
|
|
81
|
+
static boolean isReservedEntryName(String name) {
|
|
82
|
+
if (name == null) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
String normalized = name.replace('\\', '/');
|
|
86
|
+
while (normalized.endsWith("/")) {
|
|
87
|
+
normalized = normalized.substring(0, normalized.length() - 1);
|
|
88
|
+
}
|
|
89
|
+
int slash = normalized.lastIndexOf('/');
|
|
90
|
+
String baseName = slash >= 0 ? normalized.substring(slash + 1) : normalized;
|
|
91
|
+
return baseName.startsWith(RESERVED_ENTRY_PREFIX);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@Override
|
|
95
|
+
public Enumeration<? extends ZipEntry> entries() {
|
|
96
|
+
return new SafeZipEntryIterator(super.entries());
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
private static class SafeZipEntryIterator implements Enumeration<ZipEntry> {
|
|
100
|
+
|
|
101
|
+
final private Enumeration<? extends ZipEntry> delegate;
|
|
102
|
+
|
|
103
|
+
private SafeZipEntryIterator(Enumeration<? extends ZipEntry> delegate) {
|
|
104
|
+
this.delegate = delegate;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
@Override
|
|
108
|
+
public boolean hasMoreElements() {
|
|
109
|
+
return delegate.hasMoreElements();
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@Override
|
|
113
|
+
public ZipEntry nextElement() {
|
|
114
|
+
ZipEntry entry = delegate.nextElement();
|
|
115
|
+
if (null != entry) {
|
|
116
|
+
String name = entry.getName();
|
|
117
|
+
/**
|
|
118
|
+
* avoid ZipperDown
|
|
119
|
+
*/
|
|
120
|
+
if (null != name && (name.contains("../") || name.contains("..\\"))) {
|
|
121
|
+
throw new SecurityException("illegal entry: " + name);
|
|
122
|
+
}
|
|
123
|
+
if (isReservedEntryName(name)) {
|
|
124
|
+
throw new SecurityException("reserved entry: " + name);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return entry;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
public void unzipToPath(ZipEntry ze, File targetPath) throws IOException {
|
|
132
|
+
String name = ze.getName();
|
|
133
|
+
File target = new File(targetPath, name);
|
|
134
|
+
|
|
135
|
+
// Fixing a Zip Path Traversal Vulnerability
|
|
136
|
+
// https://support.google.com/faqs/answer/9294009
|
|
137
|
+
String canonicalPath = target.getCanonicalPath();
|
|
138
|
+
if (!canonicalPath.startsWith(targetPath.getCanonicalPath() + File.separator)) {
|
|
139
|
+
throw new SecurityException("Illegal name: " + name);
|
|
140
|
+
}
|
|
141
|
+
if (isReservedEntryName(name)) {
|
|
142
|
+
throw new SecurityException("reserved entry: " + name);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (ze.isDirectory()) {
|
|
146
|
+
target.mkdirs();
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
unzipToFile(ze, target);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
public void unzipToFile(ZipEntry ze, File target) throws IOException {
|
|
153
|
+
File parent = target.getParentFile();
|
|
154
|
+
if (parent != null && !parent.exists() && !parent.mkdirs() && !parent.exists()) {
|
|
155
|
+
throw new IOException("Failed to create parent dir for " + target);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// The declared size is the budget when known; otherwise the global
|
|
159
|
+
// per-entry cap. Either way the stream may not exceed it.
|
|
160
|
+
long declared = ze.getSize();
|
|
161
|
+
long budget = declared >= 0
|
|
162
|
+
? Math.min(declared, ArchiveLimits.MAX_ENTRY_BYTES)
|
|
163
|
+
: ArchiveLimits.MAX_ENTRY_BYTES;
|
|
164
|
+
long written = 0;
|
|
165
|
+
try (InputStream inputStream = getInputStream(ze)) {
|
|
166
|
+
try (BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(target));
|
|
167
|
+
BufferedInputStream input = new BufferedInputStream(inputStream)) {
|
|
168
|
+
byte[] buffer = new byte[BUFFER_SIZE];
|
|
169
|
+
int n;
|
|
170
|
+
while ((n = input.read(buffer, 0, BUFFER_SIZE)) >= 0) {
|
|
171
|
+
written += n;
|
|
172
|
+
totalWritten += n;
|
|
173
|
+
if (written > budget) {
|
|
174
|
+
throw new IOException(
|
|
175
|
+
"archive entry exceeds its declared size: " + ze.getName());
|
|
176
|
+
}
|
|
177
|
+
if (totalWritten > ArchiveLimits.MAX_TOTAL_UNCOMPRESSED_BYTES) {
|
|
178
|
+
throw new IOException("archive expands beyond "
|
|
179
|
+
+ ArchiveLimits.MAX_TOTAL_UNCOMPRESSED_BYTES + " bytes");
|
|
180
|
+
}
|
|
181
|
+
output.write(buffer, 0, n);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: 依赖 UpdateContext 的持久状态快照与 cpp/patch_core 状态机 JNI 映射
|
|
3
|
+
* [OUTPUT]: 对内提供包体身份、当前/上次版本、首启、回滚、清理、加载决策及成功确认匹配字段
|
|
4
|
+
* [POS]: Android Java/C++ 状态机 DTO,是 SharedPreferences 表示与纯原生决策之间的数据载体
|
|
5
|
+
*/
|
|
6
|
+
package cn.reactnative.modules.update;
|
|
7
|
+
|
|
8
|
+
class StateCoreResult {
|
|
9
|
+
String packageVersion;
|
|
10
|
+
String buildTime;
|
|
11
|
+
String currentVersion;
|
|
12
|
+
String lastVersion;
|
|
13
|
+
boolean firstTime;
|
|
14
|
+
boolean firstTimeOk;
|
|
15
|
+
String rolledBackVersion;
|
|
16
|
+
boolean changed;
|
|
17
|
+
String staleVersionToDelete;
|
|
18
|
+
String loadVersion;
|
|
19
|
+
boolean didRollback;
|
|
20
|
+
boolean consumedFirstTime;
|
|
21
|
+
boolean markSuccessAccepted;
|
|
22
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: 依赖单线程 Executor、Promise、UpdateContext 日志标识与稳定错误码
|
|
3
|
+
* [OUTPUT]: 对内提供 Operation 和 run,按提交顺序在后台执行状态持久化并统一成功/失败回调
|
|
4
|
+
* [POS]: Android 状态写入串行化边界,替代 UI 线程磁盘写入,同时保持 switch/mark/reset 的顺序语义
|
|
5
|
+
*/
|
|
6
|
+
package cn.reactnative.modules.update;
|
|
7
|
+
|
|
8
|
+
import android.util.Log;
|
|
9
|
+
import androidx.annotation.Nullable;
|
|
10
|
+
import com.facebook.react.bridge.Promise;
|
|
11
|
+
|
|
12
|
+
import java.util.concurrent.Executor;
|
|
13
|
+
import java.util.concurrent.Executors;
|
|
14
|
+
import java.util.concurrent.ThreadFactory;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Runs state-persistence operations (switchVersion / markSuccess / setUuid /
|
|
18
|
+
* setLocalHashInfo) on a dedicated single background thread.
|
|
19
|
+
*
|
|
20
|
+
* These operations only read/modify SharedPreferences via a synchronous
|
|
21
|
+
* commit(); they were previously dispatched to the UI thread purely to
|
|
22
|
+
* serialize them. markSuccess in particular runs on every cold start, so doing
|
|
23
|
+
* its blocking disk write on the main thread caused jank/ANR on low-end
|
|
24
|
+
* devices. A single-thread executor preserves the same serialization guarantee
|
|
25
|
+
* while keeping the disk I/O off the UI thread.
|
|
26
|
+
*
|
|
27
|
+
* Note: reload/restart operations must still run on the UI thread and therefore
|
|
28
|
+
* keep using {@link UiThreadRunner}.
|
|
29
|
+
*/
|
|
30
|
+
final class StateSerialRunner {
|
|
31
|
+
interface Operation {
|
|
32
|
+
void run() throws Throwable;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Single worker thread -> operations stay serialized in submission order,
|
|
36
|
+
// matching the previous UI-thread behavior. The thread is named so it is
|
|
37
|
+
// identifiable in thread dumps / ANR traces when diagnosing persistence.
|
|
38
|
+
private static final Executor EXECUTOR = Executors.newSingleThreadExecutor(
|
|
39
|
+
new ThreadFactory() {
|
|
40
|
+
@Override
|
|
41
|
+
public Thread newThread(Runnable r) {
|
|
42
|
+
return new Thread(r, "pakta-state-serial");
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
private StateSerialRunner() {
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static void run(
|
|
50
|
+
@Nullable final Promise promise,
|
|
51
|
+
final String errorCode,
|
|
52
|
+
final String operationName,
|
|
53
|
+
final Operation operation
|
|
54
|
+
) {
|
|
55
|
+
EXECUTOR.execute(new Runnable() {
|
|
56
|
+
@Override
|
|
57
|
+
public void run() {
|
|
58
|
+
try {
|
|
59
|
+
operation.run();
|
|
60
|
+
} catch (Throwable error) {
|
|
61
|
+
if (promise != null) {
|
|
62
|
+
promise.reject(errorCode, operationName + " failed", error);
|
|
63
|
+
} else {
|
|
64
|
+
Log.e(UpdateContext.TAG, operationName + " failed", error);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|