react-native-update 10.60.0 → 10.61.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/README-CN.md +6 -0
- package/README.md +8 -0
- package/android/jni/Android.mk +2 -0
- package/android/jni/Application.mk +3 -1
- package/android/lib/arm64-v8a/librnpushy.so +0 -0
- package/android/lib/armeabi-v7a/librnpushy.so +0 -0
- package/android/lib/x86/librnpushy.so +0 -0
- package/android/lib/x86_64/librnpushy.so +0 -0
- package/android/src/main/java/cn/reactnative/modules/update/ApkInstaller.java +1 -1
- package/android/src/main/java/cn/reactnative/modules/update/ArchiveLimits.java +3 -2
- package/android/src/main/java/cn/reactnative/modules/update/BundlePreparationResult.java +2 -0
- package/android/src/main/java/cn/reactnative/modules/update/DownloadTask.java +102 -119
- package/android/src/main/java/cn/reactnative/modules/update/DownloadTaskParams.java +5 -3
- package/android/src/main/java/cn/reactnative/modules/update/ErrorCodes.java +5 -3
- package/android/src/main/java/cn/reactnative/modules/update/FlowBridge.java +7 -0
- package/android/src/main/java/cn/reactnative/modules/update/HttpUtils.java +0 -34
- package/android/src/main/java/cn/reactnative/modules/update/InstallRecord.java +3 -1
- package/android/src/main/java/cn/reactnative/modules/update/NativeCore.java +1 -1
- package/android/src/main/java/cn/reactnative/modules/update/PushyRuntime.java +23 -4
- package/android/src/main/java/cn/reactnative/modules/update/ReactReloadManager.java +1 -1
- package/android/src/main/java/cn/reactnative/modules/update/ResumePlan.java +31 -0
- package/android/src/main/java/cn/reactnative/modules/update/SyncCoordinator.java +397 -300
- package/android/src/main/java/cn/reactnative/modules/update/Texts.java +15 -1
- package/android/src/main/java/cn/reactnative/modules/update/Threads.java +9 -0
- package/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +24 -15
- package/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java +1 -1
- package/android/src/main/java/cn/reactnative/modules/update/VersionScopedKeys.java +64 -0
- package/android/src/oldarch/cn/reactnative/modules/update/NativePushySpec.java +2 -0
- package/cpp/android_jni/jni_log.h +2 -3
- package/cpp/android_jni/jni_natives.h +14 -8
- package/cpp/android_jni/jni_registration.cpp +13 -0
- package/cpp/android_jni/resume_plan_jni.cpp +58 -0
- package/cpp/android_jni/update_core_android.cpp +3 -5
- package/cpp/android_jni/update_flow_jni.cpp +17 -0
- package/cpp/patch_core/archive_limits.h +5 -3
- package/cpp/patch_core/archive_patch_core.cpp +2 -3
- package/cpp/patch_core/archive_patch_core.h +2 -0
- package/cpp/patch_core/error_codes.h +15 -13
- package/cpp/patch_core/install_record.h +5 -3
- package/cpp/patch_core/native_texts.h +102 -0
- package/cpp/patch_core/resume_plan.cpp +226 -0
- package/cpp/patch_core/resume_plan.h +88 -0
- package/cpp/patch_core/state_ops.h +2 -0
- package/cpp/update_flow_core/native_config.cpp +5 -25
- package/cpp/update_flow_core/native_round.cpp +9 -14
- package/cpp/update_flow_core/native_round.h +7 -3
- package/cpp/update_flow_core/round_engine.cpp +456 -0
- package/cpp/update_flow_core/round_engine.h +106 -0
- package/cpp/update_flow_core/update_flow_core.cpp +5 -14
- package/harmony/pushy/src/main/cpp/CMakeLists.txt +2 -0
- package/harmony/pushy/src/main/cpp/PushyTurboModule.cpp +22 -20
- package/harmony/pushy/src/main/cpp/pushy.cpp +146 -24
- package/harmony/pushy/src/main/ets/ArchiveLimits.ts +9 -5
- package/harmony/pushy/src/main/ets/DownloadTask.ts +138 -158
- package/harmony/pushy/src/main/ets/DownloadTaskParams.ts +5 -3
- package/harmony/pushy/src/main/ets/ErrorCodes.ts +3 -2
- package/harmony/pushy/src/main/ets/InstallRecord.ts +3 -1
- package/harmony/pushy/src/main/ets/NativePatchCore.ts +35 -0
- package/harmony/pushy/src/main/ets/PushyFileJSBundleProvider.ets +8 -3
- package/harmony/pushy/src/main/ets/SyncCoordinator.ts +256 -309
- package/harmony/pushy/src/main/ets/Texts.ts +8 -3
- package/harmony/pushy/src/main/ets/UpdateContext.ts +152 -46
- package/harmony/pushy.har +0 -0
- package/ios/RCTPushy/RCTPushy+Launch.mm +5 -0
- package/ios/RCTPushy/RCTPushy.mm +60 -44
- package/ios/RCTPushy/RCTPushyCommon.h +0 -6
- package/ios/RCTPushy/RCTPushyConfiguration.mm +8 -10
- package/ios/RCTPushy/RCTPushyDownloader.mm +112 -161
- package/ios/RCTPushy/RCTPushyInstallRecord.mm +42 -2
- package/ios/RCTPushy/RCTPushyInstaller.mm +195 -152
- package/ios/RCTPushy/RCTPushyInternal.h +41 -0
- package/ios/RCTPushy/RCTPushyOrchestrator.mm +233 -265
- package/ios/RCTPushy/RCTPushyState.mm +70 -2
- package/package.json +23 -4
- package/src/client.ts +126 -1543
- package/src/clientActivation.ts +324 -0
- package/src/clientCheck.ts +405 -0
- package/src/clientDownload.ts +448 -0
- package/src/clientNativeConfig.ts +171 -0
- package/src/clientReporter.ts +398 -0
- package/src/clientState.ts +51 -0
- package/src/core.ts +4 -2
- package/src/endpoint.ts +22 -6
- package/src/error.ts +6 -4
- package/src/locales/en.ts +1 -1
- package/src/locales/zh.ts +1 -1
- package/src/provider.tsx +32 -20
- package/android/jni/HDiffPatch/.travis.yml +0 -33
- package/android/jni/HDiffPatch/CHANGELOG.md +0 -153
- package/android/jni/HDiffPatch/Makefile +0 -157
- package/android/jni/HDiffPatch/_atosize.h +0 -83
- package/android/jni/HDiffPatch/_clock_for_demo.h +0 -47
- package/android/jni/HDiffPatch/_dir_ignore.h +0 -191
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +0 -37
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +0 -7
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +0 -1
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +0 -1
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +0 -18
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +0 -20
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +0 -28
- package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +0 -8
- package/android/jni/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +0 -8
- package/android/jni/HDiffPatch/builds/codeblocks/HDiffZ.cbp +0 -219
- package/android/jni/HDiffPatch/builds/codeblocks/HPatchZ.cbp +0 -156
- package/android/jni/HDiffPatch/builds/codeblocks/unitTest.cbp +0 -65
- package/android/jni/HDiffPatch/builds/vc/HDiffPatch.sln +0 -105
- package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj +0 -237
- package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +0 -3
- package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj +0 -318
- package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +0 -3
- package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj +0 -182
- package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj.user +0 -3
- package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +0 -30
- package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +0 -408
- package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +0 -573
- package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +0 -396
- package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +0 -268
- package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +0 -361
- package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +0 -301
- package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +0 -411
- package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +0 -504
- package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/android/jni/HDiffPatch/checksum_plugin_demo.h +0 -344
- package/android/jni/HDiffPatch/compress_parallel.cpp +0 -166
- package/android/jni/HDiffPatch/compress_parallel.h +0 -59
- package/android/jni/HDiffPatch/compress_plugin_demo.h +0 -1152
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +0 -797
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +0 -65
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +0 -200
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +0 -178
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +0 -357
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +0 -87
- package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +0 -151
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +0 -770
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +0 -236
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +0 -47
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +0 -112
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +0 -53
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +0 -331
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +0 -144
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +0 -176
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +0 -84
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +0 -146
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +0 -61
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +0 -152
- package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +0 -76
- package/android/jni/HDiffPatch/hdiffz.cpp +0 -1570
- package/android/jni/HDiffPatch/hpatch_dir_listener.h +0 -290
- package/android/jni/HDiffPatch/hpatchz.c +0 -1221
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +0 -1025
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.h +0 -116
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +0 -72
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +0 -213
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +0 -63
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +0 -170
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +0 -86
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +0 -89
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +0 -13
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +0 -398
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +0 -194
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +0 -13
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +0 -204
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +0 -207
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +0 -815
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +0 -586
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +0 -381
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +0 -352
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +0 -137
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +0 -137
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +0 -70
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +0 -628
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +0 -87
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +0 -363
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +0 -139
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +0 -68
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +0 -115
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +0 -342
- package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +0 -94
- package/android/jni/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +0 -52
- package/android/jni/HDiffPatch/libParallel/parallel_channel.cpp +0 -174
- package/android/jni/HDiffPatch/libParallel/parallel_channel.h +0 -73
- package/android/jni/HDiffPatch/libParallel/parallel_import.cpp +0 -367
- package/android/jni/HDiffPatch/libParallel/parallel_import.h +0 -92
- package/android/jni/lzma/Asm/arm/7zCrcOpt.asm +0 -100
- package/android/jni/lzma/Asm/x86/7zAsm.asm +0 -147
- package/android/jni/lzma/Asm/x86/7zCrcOpt.asm +0 -147
- package/android/jni/lzma/Asm/x86/AesOpt.asm +0 -237
- package/android/jni/lzma/Asm/x86/LzmaDecOpt.asm +0 -1258
- package/android/jni/lzma/Asm/x86/XzCrc64Opt.asm +0 -205
- package/android/jni/lzma/C/7z.h +0 -202
- package/android/jni/lzma/C/7zAlloc.c +0 -80
- package/android/jni/lzma/C/7zAlloc.h +0 -19
- package/android/jni/lzma/C/7zArcIn.c +0 -1771
- package/android/jni/lzma/C/7zBuf.c +0 -36
- package/android/jni/lzma/C/7zBuf.h +0 -35
- package/android/jni/lzma/C/7zBuf2.c +0 -52
- package/android/jni/lzma/C/7zCrc.c +0 -128
- package/android/jni/lzma/C/7zCrc.h +0 -25
- package/android/jni/lzma/C/7zCrcOpt.c +0 -115
- package/android/jni/lzma/C/7zDec.c +0 -591
- package/android/jni/lzma/C/7zFile.c +0 -286
- package/android/jni/lzma/C/7zFile.h +0 -83
- package/android/jni/lzma/C/7zStream.c +0 -176
- package/android/jni/lzma/C/7zVersion.h +0 -27
- package/android/jni/lzma/C/7zVersion.rc +0 -55
- package/android/jni/lzma/C/Aes.c +0 -306
- package/android/jni/lzma/C/Aes.h +0 -38
- package/android/jni/lzma/C/AesOpt.c +0 -184
- package/android/jni/lzma/C/Alloc.c +0 -455
- package/android/jni/lzma/C/Alloc.h +0 -51
- package/android/jni/lzma/C/Bcj2.c +0 -257
- package/android/jni/lzma/C/Bcj2.h +0 -146
- package/android/jni/lzma/C/Bcj2Enc.c +0 -311
- package/android/jni/lzma/C/Bra.c +0 -230
- package/android/jni/lzma/C/Bra.h +0 -64
- package/android/jni/lzma/C/Bra86.c +0 -82
- package/android/jni/lzma/C/BraIA64.c +0 -53
- package/android/jni/lzma/C/CpuArch.c +0 -218
- package/android/jni/lzma/C/CpuArch.h +0 -336
- package/android/jni/lzma/C/Delta.c +0 -64
- package/android/jni/lzma/C/Delta.h +0 -19
- package/android/jni/lzma/C/DllSecur.c +0 -108
- package/android/jni/lzma/C/DllSecur.h +0 -20
- package/android/jni/lzma/C/LzFind.c +0 -1127
- package/android/jni/lzma/C/LzFind.h +0 -121
- package/android/jni/lzma/C/LzFindMt.c +0 -853
- package/android/jni/lzma/C/LzFindMt.h +0 -101
- package/android/jni/lzma/C/LzHash.h +0 -57
- package/android/jni/lzma/C/Lzma2DecMt.c +0 -1082
- package/android/jni/lzma/C/Lzma2DecMt.h +0 -79
- package/android/jni/lzma/C/Lzma2Enc.c +0 -803
- package/android/jni/lzma/C/Lzma2Enc.h +0 -55
- package/android/jni/lzma/C/Lzma86.h +0 -111
- package/android/jni/lzma/C/Lzma86Dec.c +0 -54
- package/android/jni/lzma/C/Lzma86Enc.c +0 -106
- package/android/jni/lzma/C/LzmaEnc.c +0 -2976
- package/android/jni/lzma/C/LzmaEnc.h +0 -76
- package/android/jni/lzma/C/LzmaLib.c +0 -40
- package/android/jni/lzma/C/LzmaLib.h +0 -131
- package/android/jni/lzma/C/MtCoder.c +0 -601
- package/android/jni/lzma/C/MtCoder.h +0 -141
- package/android/jni/lzma/C/MtDec.c +0 -1138
- package/android/jni/lzma/C/MtDec.h +0 -201
- package/android/jni/lzma/C/Ppmd.h +0 -85
- package/android/jni/lzma/C/Ppmd7.c +0 -712
- package/android/jni/lzma/C/Ppmd7.h +0 -142
- package/android/jni/lzma/C/Ppmd7Dec.c +0 -191
- package/android/jni/lzma/C/Ppmd7Enc.c +0 -187
- package/android/jni/lzma/C/RotateDefs.h +0 -30
- package/android/jni/lzma/C/Sha256.c +0 -248
- package/android/jni/lzma/C/Sha256.h +0 -26
- package/android/jni/lzma/C/Sort.c +0 -141
- package/android/jni/lzma/C/Sort.h +0 -18
- package/android/jni/lzma/C/Threads.c +0 -95
- package/android/jni/lzma/C/Threads.h +0 -70
- package/android/jni/lzma/C/ThreadsP.c +0 -396
- package/android/jni/lzma/C/ThreadsP.h +0 -31
- package/android/jni/lzma/C/Util/7z/7z.dsp +0 -241
- package/android/jni/lzma/C/Util/7z/7z.dsw +0 -29
- package/android/jni/lzma/C/Util/7z/7zMain.c +0 -686
- package/android/jni/lzma/C/Util/7z/Precomp.c +0 -4
- package/android/jni/lzma/C/Util/7z/Precomp.h +0 -10
- package/android/jni/lzma/C/Util/7z/makefile +0 -40
- package/android/jni/lzma/C/Util/7z/makefile.gcc +0 -75
- package/android/jni/lzma/C/Util/Lzma/LzmaUtil.c +0 -258
- package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsp +0 -168
- package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsw +0 -29
- package/android/jni/lzma/C/Util/Lzma/makefile +0 -28
- package/android/jni/lzma/C/Util/Lzma/makefile.gcc +0 -44
- package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.def +0 -4
- package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsp +0 -178
- package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsw +0 -29
- package/android/jni/lzma/C/Util/LzmaLib/LzmaLibExports.c +0 -14
- package/android/jni/lzma/C/Util/LzmaLib/makefile +0 -34
- package/android/jni/lzma/C/Util/LzmaLib/resource.rc +0 -3
- package/android/jni/lzma/C/Util/SfxSetup/Precomp.c +0 -4
- package/android/jni/lzma/C/Util/SfxSetup/Precomp.h +0 -10
- package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.c +0 -640
- package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsp +0 -231
- package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsw +0 -29
- package/android/jni/lzma/C/Util/SfxSetup/makefile +0 -37
- package/android/jni/lzma/C/Util/SfxSetup/makefile_con +0 -38
- package/android/jni/lzma/C/Util/SfxSetup/resource.rc +0 -5
- package/android/jni/lzma/C/Util/SfxSetup/setup.ico +0 -0
- package/android/jni/lzma/C/Xz.c +0 -90
- package/android/jni/lzma/C/Xz.h +0 -460
- package/android/jni/lzma/C/XzCrc64.c +0 -86
- package/android/jni/lzma/C/XzCrc64.h +0 -26
- package/android/jni/lzma/C/XzCrc64Opt.c +0 -69
- package/android/jni/lzma/C/XzDec.c +0 -2766
- package/android/jni/lzma/C/XzEnc.c +0 -1329
- package/android/jni/lzma/C/XzEnc.h +0 -60
- package/android/jni/lzma/C/XzIn.c +0 -319
- package/android/jni/lzma/CPP/7zip/7zip.mak +0 -240
- package/android/jni/lzma/CPP/7zip/Aes.mak +0 -7
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +0 -76
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +0 -569
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.h +0 -70
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +0 -678
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.h +0 -92
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +0 -423
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +0 -139
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +0 -61
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +0 -763
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.h +0 -181
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +0 -942
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +0 -19
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.h +0 -148
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.cpp +0 -1666
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.h +0 -445
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zItem.h +0 -202
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.cpp +0 -901
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.h +0 -335
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +0 -174
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.h +0 -22
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +0 -21
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +0 -22
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +0 -35
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +0 -2500
- package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.h +0 -139
- package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/Archive/Archive.def +0 -12
- package/android/jni/lzma/CPP/7zip/Archive/Archive2.def +0 -19
- package/android/jni/lzma/CPP/7zip/Archive/ArchiveExports.cpp +0 -151
- package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +0 -1125
- package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +0 -447
- package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +0 -17
- package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +0 -25
- package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +0 -232
- package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.h +0 -110
- package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +0 -46
- package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +0 -67
- package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +0 -88
- package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +0 -28
- package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +0 -191
- package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.h +0 -89
- package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +0 -18
- package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +0 -37
- package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.h +0 -6
- package/android/jni/lzma/CPP/7zip/Archive/Common/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/Archive/DllExports2.cpp +0 -122
- package/android/jni/lzma/CPP/7zip/Archive/IArchive.h +0 -608
- package/android/jni/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
- package/android/jni/lzma/CPP/7zip/Archive/LzmaHandler.cpp +0 -629
- package/android/jni/lzma/CPP/7zip/Archive/SplitHandler.cpp +0 -359
- package/android/jni/lzma/CPP/7zip/Archive/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/Archive/XzHandler.cpp +0 -1308
- package/android/jni/lzma/CPP/7zip/Archive/XzHandler.h +0 -11
- package/android/jni/lzma/CPP/7zip/Asm.mak +0 -9
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +0 -1910
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +0 -29
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/makefile +0 -154
- package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +0 -7
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +0 -96
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +0 -5
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/makefile +0 -116
- package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +0 -5
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +0 -799
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +0 -477
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +0 -29
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile +0 -59
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +0 -195
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +0 -3
- package/android/jni/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +0 -715
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +0 -912
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +0 -29
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +0 -482
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/makefile +0 -134
- package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +0 -5
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +0 -246
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +0 -86
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +0 -137
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +0 -11
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +0 -803
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +0 -29
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +0 -364
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +0 -13
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/makefile +0 -117
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +0 -6
- package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +0 -16
- 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 +0 -988
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +0 -29
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +0 -241
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +0 -14
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/makefile +0 -153
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.h +0 -1
- package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +0 -50
- package/android/jni/lzma/CPP/7zip/Common/CWrappers.cpp +0 -250
- package/android/jni/lzma/CPP/7zip/Common/CWrappers.h +0 -120
- package/android/jni/lzma/CPP/7zip/Common/CreateCoder.cpp +0 -536
- package/android/jni/lzma/CPP/7zip/Common/CreateCoder.h +0 -192
- package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +0 -46
- package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.h +0 -10
- package/android/jni/lzma/CPP/7zip/Common/FileStreams.cpp +0 -475
- package/android/jni/lzma/CPP/7zip/Common/FileStreams.h +0 -166
- package/android/jni/lzma/CPP/7zip/Common/FilterCoder.cpp +0 -435
- package/android/jni/lzma/CPP/7zip/Common/FilterCoder.h +0 -205
- package/android/jni/lzma/CPP/7zip/Common/InBuffer.cpp +0 -163
- package/android/jni/lzma/CPP/7zip/Common/InBuffer.h +0 -92
- package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +0 -127
- package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.h +0 -48
- package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.cpp +0 -367
- package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.h +0 -252
- package/android/jni/lzma/CPP/7zip/Common/LockedStream.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Common/LockedStream.h +0 -6
- package/android/jni/lzma/CPP/7zip/Common/MethodId.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/Common/MethodId.h +0 -10
- package/android/jni/lzma/CPP/7zip/Common/MethodProps.cpp +0 -509
- package/android/jni/lzma/CPP/7zip/Common/MethodProps.h +0 -264
- package/android/jni/lzma/CPP/7zip/Common/OffsetStream.cpp +0 -39
- package/android/jni/lzma/CPP/7zip/Common/OffsetStream.h +0 -26
- package/android/jni/lzma/CPP/7zip/Common/OutBuffer.cpp +0 -111
- package/android/jni/lzma/CPP/7zip/Common/OutBuffer.h +0 -66
- package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.cpp +0 -51
- package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.h +0 -35
- package/android/jni/lzma/CPP/7zip/Common/PropId.cpp +0 -108
- package/android/jni/lzma/CPP/7zip/Common/RegisterArc.h +0 -78
- package/android/jni/lzma/CPP/7zip/Common/RegisterCodec.h +0 -106
- package/android/jni/lzma/CPP/7zip/Common/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/Common/StreamBinder.cpp +0 -156
- package/android/jni/lzma/CPP/7zip/Common/StreamBinder.h +0 -60
- package/android/jni/lzma/CPP/7zip/Common/StreamObjects.cpp +0 -285
- package/android/jni/lzma/CPP/7zip/Common/StreamObjects.h +0 -157
- package/android/jni/lzma/CPP/7zip/Common/StreamUtils.cpp +0 -56
- package/android/jni/lzma/CPP/7zip/Common/StreamUtils.h +0 -13
- package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.cpp +0 -57
- package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.h +0 -26
- package/android/jni/lzma/CPP/7zip/Common/VirtThread.cpp +0 -48
- package/android/jni/lzma/CPP/7zip/Common/VirtThread.h +0 -24
- package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +0 -666
- package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.h +0 -120
- package/android/jni/lzma/CPP/7zip/Compress/Bcj2Register.cpp +0 -24
- package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.cpp +0 -24
- package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.h +0 -31
- package/android/jni/lzma/CPP/7zip/Compress/BcjRegister.cpp +0 -17
- package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.cpp +0 -23
- package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.h +0 -35
- package/android/jni/lzma/CPP/7zip/Compress/BranchRegister.cpp +0 -41
- package/android/jni/lzma/CPP/7zip/Compress/ByteSwap.cpp +0 -92
- package/android/jni/lzma/CPP/7zip/Compress/CodecExports.cpp +0 -344
- package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.cpp +0 -120
- package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.h +0 -49
- package/android/jni/lzma/CPP/7zip/Compress/CopyRegister.cpp +0 -15
- package/android/jni/lzma/CPP/7zip/Compress/DeltaFilter.cpp +0 -128
- package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +0 -265
- package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.h +0 -96
- package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +0 -122
- package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.h +0 -42
- package/android/jni/lzma/CPP/7zip/Compress/Lzma2Register.cpp +0 -22
- package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +0 -343
- package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.h +0 -113
- package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +0 -182
- package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.h +0 -46
- package/android/jni/lzma/CPP/7zip/Compress/LzmaRegister.cpp +0 -22
- package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +0 -170
- package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.h +0 -86
- package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +0 -152
- package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.h +0 -58
- package/android/jni/lzma/CPP/7zip/Compress/PpmdRegister.cpp +0 -22
- package/android/jni/lzma/CPP/7zip/Compress/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.cpp +0 -150
- package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.h +0 -92
- package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.cpp +0 -245
- package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.h +0 -46
- package/android/jni/lzma/CPP/7zip/Crc.mak +0 -8
- package/android/jni/lzma/CPP/7zip/Crc64.mak +0 -8
- package/android/jni/lzma/CPP/7zip/Crypto/7zAes.cpp +0 -280
- package/android/jni/lzma/CPP/7zip/Crypto/7zAes.h +0 -118
- package/android/jni/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +0 -17
- package/android/jni/lzma/CPP/7zip/Crypto/MyAes.cpp +0 -112
- package/android/jni/lzma/CPP/7zip/Crypto/MyAes.h +0 -57
- package/android/jni/lzma/CPP/7zip/Crypto/MyAesReg.cpp +0 -16
- package/android/jni/lzma/CPP/7zip/Crypto/RandGen.cpp +0 -233
- package/android/jni/lzma/CPP/7zip/Crypto/RandGen.h +0 -40
- package/android/jni/lzma/CPP/7zip/Crypto/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/GuiCommon.rc +0 -84
- package/android/jni/lzma/CPP/7zip/Guid.txt +0 -220
- package/android/jni/lzma/CPP/7zip/ICoder.h +0 -399
- package/android/jni/lzma/CPP/7zip/IDecl.h +0 -28
- package/android/jni/lzma/CPP/7zip/IPassword.h +0 -23
- package/android/jni/lzma/CPP/7zip/IProgress.h +0 -19
- package/android/jni/lzma/CPP/7zip/IStream.h +0 -127
- package/android/jni/lzma/CPP/7zip/LzmaDec.mak +0 -5
- package/android/jni/lzma/CPP/7zip/MyVersion.h +0 -2
- package/android/jni/lzma/CPP/7zip/MyVersionInfo.rc +0 -2
- package/android/jni/lzma/CPP/7zip/PropID.h +0 -127
- package/android/jni/lzma/CPP/7zip/SubBuild.mak +0 -3
- package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +0 -993
- package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +0 -235
- package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +0 -29
- package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/UI/Client7z/makefile +0 -28
- package/android/jni/lzma/CPP/7zip/UI/Client7z/resource.rc +0 -3
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +0 -1295
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +0 -136
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +0 -1715
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +0 -403
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +0 -155
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.h +0 -10
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +0 -161
- package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +0 -112
- package/android/jni/lzma/CPP/7zip/UI/Common/Bench.cpp +0 -3618
- package/android/jni/lzma/CPP/7zip/UI/Common/Bench.h +0 -77
- package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.cpp +0 -37
- package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.h +0 -11
- package/android/jni/lzma/CPP/7zip/UI/Common/DirItem.h +0 -190
- package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +0 -1096
- package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.h +0 -42
- package/android/jni/lzma/CPP/7zip/UI/Common/ExitCode.h +0 -27
- package/android/jni/lzma/CPP/7zip/UI/Common/Extract.cpp +0 -482
- package/android/jni/lzma/CPP/7zip/UI/Common/Extract.h +0 -94
- package/android/jni/lzma/CPP/7zip/UI/Common/ExtractMode.h +0 -34
- package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +0 -280
- package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +0 -31
- package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.cpp +0 -347
- package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.h +0 -110
- package/android/jni/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +0 -114
- package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +0 -1074
- package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.h +0 -424
- package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +0 -3553
- package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.h +0 -436
- package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +0 -668
- package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.h +0 -18
- package/android/jni/lzma/CPP/7zip/UI/Common/Property.h +0 -14
- package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.cpp +0 -80
- package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.h +0 -10
- package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.cpp +0 -25
- package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.h +0 -10
- package/android/jni/lzma/CPP/7zip/UI/Common/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.cpp +0 -19
- package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.h +0 -16
- package/android/jni/lzma/CPP/7zip/UI/Common/Update.cpp +0 -1704
- package/android/jni/lzma/CPP/7zip/UI/Common/Update.h +0 -200
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +0 -64
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.h +0 -66
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +0 -771
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.h +0 -162
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +0 -233
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.h +0 -27
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +0 -70
- package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.h +0 -55
- package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.cpp +0 -94
- package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.h +0 -26
- package/android/jni/lzma/CPP/7zip/UI/Common/ZipRegistry.h +0 -130
- package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.cpp +0 -41
- package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.h +0 -14
- package/android/jni/lzma/CPP/7zip/UI/Console/Console.mak +0 -43
- package/android/jni/lzma/CPP/7zip/UI/Console/Console.manifest +0 -13
- package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +0 -69
- package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.h +0 -33
- package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +0 -825
- package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +0 -164
- package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.cpp +0 -367
- package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.h +0 -48
- package/android/jni/lzma/CPP/7zip/UI/Console/List.cpp +0 -1359
- package/android/jni/lzma/CPP/7zip/UI/Console/List.h +0 -27
- package/android/jni/lzma/CPP/7zip/UI/Console/Main.cpp +0 -1154
- package/android/jni/lzma/CPP/7zip/UI/Console/MainAr.cpp +0 -175
- package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +0 -115
- package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +0 -66
- package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +0 -183
- package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.h +0 -62
- package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.cpp +0 -3
- package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +0 -702
- package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +0 -124
- package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +0 -110
- package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.h +0 -27
- package/android/jni/lzma/CPP/7zip/UI/Console/makefile +0 -64
- package/android/jni/lzma/CPP/7zip/UI/Console/resource.rc +0 -7
- package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +0 -37
- package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.h +0 -16
- package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +0 -1025
- package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +0 -21
- package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +0 -9
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +0 -64
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +0 -28
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +0 -4
- package/android/jni/lzma/CPP/7zip/UI/FileManager/DialogSize.h +0 -16
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +0 -1037
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +0 -328
- package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +0 -28
- package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +0 -14
- package/android/jni/lzma/CPP/7zip/UI/FileManager/LangUtils.h +0 -40
- package/android/jni/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +0 -76
- package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +0 -122
- package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +0 -69
- package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +0 -91
- package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +0 -17
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +0 -58
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +0 -28
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +0 -14
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +0 -5
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +0 -196
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +0 -170
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +0 -12
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +0 -1337
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +0 -351
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +0 -40
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +0 -48
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +0 -80
- package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +0 -3
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +0 -23
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.h +0 -10
- package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +0 -95
- package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +0 -255
- package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +0 -62
- package/android/jni/lzma/CPP/7zip/UI/FileManager/resource.h +0 -177
- package/android/jni/lzma/CPP/7zip/UI/FileManager/resourceGui.h +0 -15
- package/android/jni/lzma/CPP/7zip/UI/GUI/Extract.rc +0 -59
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +0 -418
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +0 -113
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +0 -98
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +0 -24
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +0 -280
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +0 -38
- package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractRes.h +0 -51
- package/android/jni/lzma/CPP/7zip/UI/GUI/HashGUI.h +0 -27
- package/android/jni/lzma/CPP/7zip/UI/GUI/resource2.h +0 -2
- package/android/jni/lzma/CPP/Build.mak +0 -156
- package/android/jni/lzma/CPP/Common/AutoPtr.h +0 -35
- package/android/jni/lzma/CPP/Common/CRC.cpp +0 -7
- package/android/jni/lzma/CPP/Common/C_FileIO.cpp +0 -92
- package/android/jni/lzma/CPP/Common/C_FileIO.h +0 -53
- package/android/jni/lzma/CPP/Common/ComTry.h +0 -21
- package/android/jni/lzma/CPP/Common/CommandLineParser.cpp +0 -197
- package/android/jni/lzma/CPP/Common/CommandLineParser.h +0 -63
- package/android/jni/lzma/CPP/Common/Common.h +0 -43
- package/android/jni/lzma/CPP/Common/CrcReg.cpp +0 -98
- package/android/jni/lzma/CPP/Common/Defs.h +0 -15
- package/android/jni/lzma/CPP/Common/DynamicBuffer.h +0 -64
- package/android/jni/lzma/CPP/Common/IntToString.cpp +0 -193
- package/android/jni/lzma/CPP/Common/IntToString.h +0 -28
- package/android/jni/lzma/CPP/Common/Lang.h +0 -23
- package/android/jni/lzma/CPP/Common/ListFileUtils.cpp +0 -132
- package/android/jni/lzma/CPP/Common/ListFileUtils.h +0 -18
- package/android/jni/lzma/CPP/Common/MyBuffer.h +0 -259
- package/android/jni/lzma/CPP/Common/MyBuffer2.h +0 -100
- package/android/jni/lzma/CPP/Common/MyCom.h +0 -277
- package/android/jni/lzma/CPP/Common/MyException.h +0 -14
- package/android/jni/lzma/CPP/Common/MyGuidDef.h +0 -54
- package/android/jni/lzma/CPP/Common/MyInitGuid.h +0 -45
- package/android/jni/lzma/CPP/Common/MyLinux.h +0 -42
- package/android/jni/lzma/CPP/Common/MyString.cpp +0 -1659
- package/android/jni/lzma/CPP/Common/MyString.h +0 -868
- package/android/jni/lzma/CPP/Common/MyTypes.h +0 -35
- package/android/jni/lzma/CPP/Common/MyUnknown.h +0 -17
- package/android/jni/lzma/CPP/Common/MyVector.cpp +0 -3
- package/android/jni/lzma/CPP/Common/MyVector.h +0 -634
- package/android/jni/lzma/CPP/Common/MyWindows.cpp +0 -145
- package/android/jni/lzma/CPP/Common/MyWindows.h +0 -231
- package/android/jni/lzma/CPP/Common/NewHandler.cpp +0 -163
- package/android/jni/lzma/CPP/Common/NewHandler.h +0 -88
- package/android/jni/lzma/CPP/Common/Sha256Reg.cpp +0 -40
- package/android/jni/lzma/CPP/Common/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/Common/StdInStream.cpp +0 -89
- package/android/jni/lzma/CPP/Common/StdInStream.h +0 -38
- package/android/jni/lzma/CPP/Common/StdOutStream.cpp +0 -163
- package/android/jni/lzma/CPP/Common/StdOutStream.h +0 -71
- package/android/jni/lzma/CPP/Common/StringConvert.cpp +0 -319
- package/android/jni/lzma/CPP/Common/StringConvert.h +0 -88
- package/android/jni/lzma/CPP/Common/StringToInt.cpp +0 -144
- package/android/jni/lzma/CPP/Common/StringToInt.h +0 -21
- package/android/jni/lzma/CPP/Common/TextConfig.cpp +0 -124
- package/android/jni/lzma/CPP/Common/TextConfig.h +0 -19
- package/android/jni/lzma/CPP/Common/UTFConvert.cpp +0 -288
- package/android/jni/lzma/CPP/Common/UTFConvert.h +0 -12
- package/android/jni/lzma/CPP/Common/Wildcard.cpp +0 -676
- package/android/jni/lzma/CPP/Common/Wildcard.h +0 -149
- package/android/jni/lzma/CPP/Common/XzCrc64Init.cpp +0 -7
- package/android/jni/lzma/CPP/Common/XzCrc64Reg.cpp +0 -42
- package/android/jni/lzma/CPP/Windows/COM.h +0 -70
- package/android/jni/lzma/CPP/Windows/CommonDialog.cpp +0 -185
- package/android/jni/lzma/CPP/Windows/CommonDialog.h +0 -23
- package/android/jni/lzma/CPP/Windows/Control/ComboBox.cpp +0 -66
- package/android/jni/lzma/CPP/Windows/Control/ComboBox.h +0 -65
- package/android/jni/lzma/CPP/Windows/Control/CommandBar.h +0 -52
- package/android/jni/lzma/CPP/Windows/Control/Dialog.cpp +0 -251
- package/android/jni/lzma/CPP/Windows/Control/Dialog.h +0 -170
- package/android/jni/lzma/CPP/Windows/Control/Edit.h +0 -19
- package/android/jni/lzma/CPP/Windows/Control/ImageList.cpp +0 -10
- package/android/jni/lzma/CPP/Windows/Control/ImageList.h +0 -87
- package/android/jni/lzma/CPP/Windows/Control/ListView.cpp +0 -155
- package/android/jni/lzma/CPP/Windows/Control/ListView.h +0 -146
- package/android/jni/lzma/CPP/Windows/Control/ProgressBar.h +0 -35
- package/android/jni/lzma/CPP/Windows/Control/PropertyPage.cpp +0 -143
- package/android/jni/lzma/CPP/Windows/Control/PropertyPage.h +0 -50
- package/android/jni/lzma/CPP/Windows/Control/ReBar.h +0 -34
- package/android/jni/lzma/CPP/Windows/Control/Static.h +0 -28
- package/android/jni/lzma/CPP/Windows/Control/StatusBar.h +0 -42
- package/android/jni/lzma/CPP/Windows/Control/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/Windows/Control/ToolBar.h +0 -43
- package/android/jni/lzma/CPP/Windows/Control/Trackbar.h +0 -27
- package/android/jni/lzma/CPP/Windows/Control/Window2.cpp +0 -200
- package/android/jni/lzma/CPP/Windows/Control/Window2.h +0 -51
- package/android/jni/lzma/CPP/Windows/DLL.cpp +0 -109
- package/android/jni/lzma/CPP/Windows/DLL.h +0 -58
- package/android/jni/lzma/CPP/Windows/Defs.h +0 -17
- package/android/jni/lzma/CPP/Windows/ErrorMsg.cpp +0 -66
- package/android/jni/lzma/CPP/Windows/ErrorMsg.h +0 -15
- package/android/jni/lzma/CPP/Windows/FileDir.cpp +0 -714
- package/android/jni/lzma/CPP/Windows/FileDir.h +0 -117
- package/android/jni/lzma/CPP/Windows/FileFind.cpp +0 -749
- package/android/jni/lzma/CPP/Windows/FileFind.h +0 -161
- package/android/jni/lzma/CPP/Windows/FileIO.cpp +0 -432
- package/android/jni/lzma/CPP/Windows/FileIO.h +0 -212
- package/android/jni/lzma/CPP/Windows/FileLink.cpp +0 -440
- package/android/jni/lzma/CPP/Windows/FileMapping.cpp +0 -12
- package/android/jni/lzma/CPP/Windows/FileMapping.h +0 -66
- package/android/jni/lzma/CPP/Windows/FileName.cpp +0 -839
- package/android/jni/lzma/CPP/Windows/FileName.h +0 -115
- package/android/jni/lzma/CPP/Windows/FileSystem.cpp +0 -131
- package/android/jni/lzma/CPP/Windows/FileSystem.h +0 -27
- package/android/jni/lzma/CPP/Windows/Handle.h +0 -37
- package/android/jni/lzma/CPP/Windows/MemoryLock.cpp +0 -112
- package/android/jni/lzma/CPP/Windows/MemoryLock.h +0 -40
- package/android/jni/lzma/CPP/Windows/NtCheck.h +0 -46
- package/android/jni/lzma/CPP/Windows/PropVariant.cpp +0 -347
- package/android/jni/lzma/CPP/Windows/PropVariant.h +0 -114
- package/android/jni/lzma/CPP/Windows/PropVariantConv.cpp +0 -138
- package/android/jni/lzma/CPP/Windows/PropVariantConv.h +0 -37
- package/android/jni/lzma/CPP/Windows/Registry.cpp +0 -390
- package/android/jni/lzma/CPP/Windows/Registry.h +0 -84
- package/android/jni/lzma/CPP/Windows/ResourceString.cpp +0 -103
- package/android/jni/lzma/CPP/Windows/ResourceString.h +0 -16
- package/android/jni/lzma/CPP/Windows/SecurityUtils.cpp +0 -181
- package/android/jni/lzma/CPP/Windows/SecurityUtils.h +0 -167
- package/android/jni/lzma/CPP/Windows/Shell.cpp +0 -358
- package/android/jni/lzma/CPP/Windows/Shell.h +0 -94
- package/android/jni/lzma/CPP/Windows/StdAfx.h +0 -8
- package/android/jni/lzma/CPP/Windows/Synchronization.cpp +0 -10
- package/android/jni/lzma/CPP/Windows/Synchronization.h +0 -164
- package/android/jni/lzma/CPP/Windows/System.cpp +0 -142
- package/android/jni/lzma/CPP/Windows/System.h +0 -40
- package/android/jni/lzma/CPP/Windows/Thread.h +0 -38
- package/android/jni/lzma/CPP/Windows/TimeUtils.cpp +0 -213
- package/android/jni/lzma/CPP/Windows/TimeUtils.h +0 -32
- package/android/jni/lzma/CPP/Windows/Window.cpp +0 -179
- package/android/jni/lzma/CPP/Windows/Window.h +0 -284
- package/android/jni/lzma/CS/7zip/Common/CRC.cs +0 -55
- package/android/jni/lzma/CS/7zip/Common/CommandLineParser.cs +0 -274
- package/android/jni/lzma/CS/7zip/Common/InBuffer.cs +0 -72
- package/android/jni/lzma/CS/7zip/Common/OutBuffer.cs +0 -47
- package/android/jni/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +0 -24
- package/android/jni/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +0 -367
- package/android/jni/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +0 -132
- package/android/jni/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +0 -110
- package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +0 -76
- package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +0 -398
- package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +0 -1480
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +0 -364
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +0 -90
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +0 -20
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +0 -340
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +0 -29
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +0 -70
- package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +0 -42
- package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +0 -234
- package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +0 -117
- package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +0 -157
- package/android/jni/lzma/CS/7zip/ICoder.cs +0 -157
- package/android/jni/lzma/DOC/7zC.txt +0 -187
- package/android/jni/lzma/DOC/7zFormat.txt +0 -469
- package/android/jni/lzma/DOC/Methods.txt +0 -173
- package/android/jni/lzma/DOC/installer.txt +0 -166
- package/android/jni/lzma/DOC/lzma-history.txt +0 -446
- package/android/jni/lzma/DOC/lzma-specification.txt +0 -1176
- package/android/jni/lzma/DOC/lzma.txt +0 -328
- package/android/jni/lzma/Java/SevenZip/CRC.java +0 -52
- package/android/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.java +0 -382
- package/android/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.java +0 -131
- package/android/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +0 -85
- package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Base.java +0 -88
- package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +0 -329
- package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +0 -1416
- package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +0 -55
- package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +0 -99
- package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +0 -88
- package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +0 -151
- package/android/jni/lzma/Java/SevenZip/ICodeProgress.java +0 -6
- package/android/jni/lzma/Java/SevenZip/LzmaAlone.java +0 -253
- package/android/jni/lzma/Java/SevenZip/LzmaBench.java +0 -392
- 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/7zdec.exe +0 -0
- package/android/jni/lzma/bin/7zr.exe +0 -0
- package/android/jni/lzma/bin/installer/config.txt +0 -5
- package/android/jni/lzma/bin/installer/cr.bat +0 -5
- package/android/jni/lzma/bin/lzma.exe +0 -0
- package/android/jni/lzma/bin/x64/7zr.exe +0 -0
|
@@ -32,18 +32,21 @@ import org.json.JSONObject;
|
|
|
32
32
|
*/
|
|
33
33
|
final class SyncCoordinator {
|
|
34
34
|
// Version-info flag read by JS (metadata.ts), stored encoded.
|
|
35
|
-
private static final String INFO_CRASH_HOLD = Texts.
|
|
35
|
+
private static final String INFO_CRASH_HOLD = Texts.INFO_CRASH_HOLD;
|
|
36
36
|
|
|
37
|
+
// Shared with Harmony. The response cache lives in its own
|
|
38
|
+
// SharedPreferences file (UpdateContext.getNativeCheckCache).
|
|
39
|
+
// <generated:storage-keys> (scripts/contract.ts; bun scripts/generate-contract.ts)
|
|
40
|
+
// The persisted native check config (JS syncNativeConfig or the host).
|
|
37
41
|
static final String KEY_CONFIG = "nativeConfig";
|
|
38
|
-
// Raw response cache for the JS side to reuse (§10.3), scoped to the
|
|
39
|
-
//
|
|
40
|
-
// its own SharedPreferences file (UpdateContext.getNativeCheckCache).
|
|
42
|
+
// Raw response cache for the JS side to reuse (§10.3), scoped to the exact
|
|
43
|
+
// logical request and native config that produced it.
|
|
41
44
|
static final String KEY_RESP_CACHE = "nativeCheckResp";
|
|
42
45
|
// Set when a round starts, cleared when it ends (§11.4). Residue on the
|
|
43
|
-
// next launch means the previous process died mid-round
|
|
44
|
-
//
|
|
46
|
+
// next launch means the previous process died mid-round: that launch
|
|
47
|
+
// resumes immediately instead of waiting 5s.
|
|
45
48
|
static final String KEY_ROUND_INCOMPLETE = "nativeCheckIncomplete";
|
|
46
|
-
|
|
49
|
+
// </generated:storage-keys>
|
|
47
50
|
// The check response (and a remote queryUrls list) is a small JSON
|
|
48
51
|
// document; anything bigger is a broken or hijacked endpoint.
|
|
49
52
|
private static final long MAX_QUERY_RESPONSE_BYTES = 1024 * 1024;
|
|
@@ -66,7 +69,7 @@ final class SyncCoordinator {
|
|
|
66
69
|
// bumps it, and the late activation must lose to that reset exactly like
|
|
67
70
|
// the round itself would. Written generation-first, read hash-first, so
|
|
68
71
|
// a torn read can only see a stricter (newer) generation.
|
|
69
|
-
|
|
72
|
+
static volatile String unactivatedHash;
|
|
70
73
|
private static volatile long unactivatedGeneration;
|
|
71
74
|
private static volatile UpdateContext sContext;
|
|
72
75
|
private static volatile String sLaunchRolledBackVersion;
|
|
@@ -76,14 +79,25 @@ final class SyncCoordinator {
|
|
|
76
79
|
private static volatile String sJsCompletedConfig;
|
|
77
80
|
// Published after the launch rollback snapshot, before host calls are accepted.
|
|
78
81
|
private static volatile boolean nativeReady;
|
|
79
|
-
|
|
82
|
+
static volatile BundlePreparationResult roundResult =
|
|
80
83
|
BundlePreparationResult.of(BundlePreparationResult.FAILED, "check_failed");
|
|
81
84
|
private static volatile long roundGeneration = -1;
|
|
82
85
|
private static volatile long roundConfigGeneration = -1;
|
|
83
86
|
private static volatile String roundConfigJson;
|
|
84
87
|
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
// prepareBundle without an explicit timeout waits this long at most: past
|
|
89
|
+
// the longest round (8 query requests, then two 600s download phases).
|
|
90
|
+
// Same default as iOS (kPushyHostPrepareDefaultTimeout).
|
|
91
|
+
static final long DEFAULT_PREPARE_TIMEOUT_MS = 30 * 60 * 1000L;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Blocking only on the host API's worker; never call on the UI thread.
|
|
95
|
+
* Waits at most timeoutMs for this process's round: on expiry the result
|
|
96
|
+
* is failed/timeout, and the round keeps running in the background (its
|
|
97
|
+
* result still applies to the next launch), as on iOS.
|
|
98
|
+
*/
|
|
99
|
+
static BundlePreparationResult prepareBundle(UpdateContext context, long timeoutMs)
|
|
100
|
+
throws InterruptedException {
|
|
87
101
|
if (BuildConfig.DEBUG) {
|
|
88
102
|
return BundlePreparationResult.of(BundlePreparationResult.SKIPPED, "debug");
|
|
89
103
|
}
|
|
@@ -95,11 +109,17 @@ final class SyncCoordinator {
|
|
|
95
109
|
if (rejection != null) {
|
|
96
110
|
return rejection;
|
|
97
111
|
}
|
|
98
|
-
|
|
112
|
+
// Run the round on its own thread rather than this caller's, so the
|
|
113
|
+
// wait below can be bounded.
|
|
114
|
+
if (claimRound()) {
|
|
115
|
+
Threads.startDaemon("pushy-native-sync", () -> runClaimedRound(0));
|
|
116
|
+
}
|
|
99
117
|
if (!roundStarted.get()) {
|
|
100
118
|
return BundlePreparationResult.of(BundlePreparationResult.SKIPPED, "config_changed");
|
|
101
119
|
}
|
|
102
|
-
roundDone.await()
|
|
120
|
+
if (!roundDone.await(Math.max(0, timeoutMs), TimeUnit.MILLISECONDS)) {
|
|
121
|
+
return BundlePreparationResult.of(BundlePreparationResult.FAILED, "timeout");
|
|
122
|
+
}
|
|
103
123
|
if (roundConfigGeneration != UpdateContext.getNativeConfigGeneration()
|
|
104
124
|
|| !FlowBridge.configsEquivalent(configJson, roundConfigJson)
|
|
105
125
|
|| !FlowBridge.configsEquivalent(configJson, context.getKv(KEY_CONFIG))) {
|
|
@@ -216,16 +236,21 @@ final class SyncCoordinator {
|
|
|
216
236
|
* and download phase to the remaining budget.
|
|
217
237
|
*/
|
|
218
238
|
private static void startRound(long deadlineNanos) {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
if (!hasRunnableConfig(sContext)) {
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
if (!roundStarted.compareAndSet(false, true)) {
|
|
225
|
-
return;
|
|
239
|
+
if (claimRound()) {
|
|
240
|
+
runClaimedRound(deadlineNanos);
|
|
226
241
|
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// Claims the process's only round. An automatic check before first-run
|
|
245
|
+
// provisioning must not consume it: hosts may configure later in this
|
|
246
|
+
// launch.
|
|
247
|
+
private static boolean claimRound() {
|
|
248
|
+
return hasRunnableConfig(sContext) && roundStarted.compareAndSet(false, true);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
private static void runClaimedRound(long deadlineNanos) {
|
|
227
252
|
try {
|
|
228
|
-
runOnce(sContext, sLaunchRolledBackVersion, deadlineNanos);
|
|
253
|
+
runOnce(new DeviceRound(sContext, sLaunchRolledBackVersion), deadlineNanos);
|
|
229
254
|
} catch (Throwable e) {
|
|
230
255
|
Log.w(Texts.LOG_TAG, "native sync failed: " + e);
|
|
231
256
|
roundResult = BundlePreparationResult.of(BundlePreparationResult.FAILED, "internal_error");
|
|
@@ -297,53 +322,271 @@ final class SyncCoordinator {
|
|
|
297
322
|
}
|
|
298
323
|
}
|
|
299
324
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
)
|
|
305
|
-
|
|
325
|
+
// The engine's clock: milliseconds on System.nanoTime, offset from this
|
|
326
|
+
// class's load so every value is positive (0 means "no deadline"). The
|
|
327
|
+
// nanoTime origin is arbitrary, so a hold deadline in nanos may be
|
|
328
|
+
// negative: only 0 means none on this side too.
|
|
329
|
+
private static final long CLOCK_ORIGIN_NANOS = System.nanoTime() - TimeUnit.SECONDS.toNanos(1);
|
|
330
|
+
|
|
331
|
+
static double engineMillis(long nanos) {
|
|
332
|
+
return (nanos - CLOCK_ORIGIN_NANOS) / 1e6;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
static long engineNanos(double millis) {
|
|
336
|
+
return CLOCK_ORIGIN_NANOS + (long) (millis * 1e6);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/** A monotonic clock in nanoseconds (System.nanoTime on the device). */
|
|
340
|
+
interface Clock {
|
|
341
|
+
long nanoTime();
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* Everything a round does besides deciding: the engine step, the clock,
|
|
346
|
+
* the persisted state and the IO the engine's commands ask for.
|
|
347
|
+
* DeviceRound is the device's; the JVM tests replay the engine vectors
|
|
348
|
+
* through a scripted one (SyncRoundReplayTest).
|
|
349
|
+
*/
|
|
350
|
+
interface RoundHost extends DownloadStarter, Clock {
|
|
351
|
+
/** FlowBridge.stepRound; null when the engine is unavailable. */
|
|
352
|
+
@Nullable
|
|
353
|
+
String stepRound(@Nullable String state, String event);
|
|
354
|
+
|
|
355
|
+
/** Whether a crash is being held right now (crashHoldActive). */
|
|
356
|
+
boolean crashHold();
|
|
357
|
+
|
|
358
|
+
long resetGeneration();
|
|
359
|
+
|
|
360
|
+
long configGeneration();
|
|
361
|
+
|
|
362
|
+
@Nullable
|
|
363
|
+
String getKv(String key);
|
|
364
|
+
|
|
365
|
+
void setKv(String key, String value);
|
|
366
|
+
|
|
367
|
+
void removeKv(String key);
|
|
368
|
+
|
|
369
|
+
/** This launch as the shared core sees it (native_round.h). */
|
|
370
|
+
JSONObject launchEnv() throws JSONException;
|
|
371
|
+
|
|
372
|
+
/** The response body; null when the request failed. */
|
|
373
|
+
@Nullable
|
|
374
|
+
String httpRequest(String url, @Nullable String postBody, long timeoutMs, long callTimeoutMs);
|
|
375
|
+
|
|
376
|
+
/** Wall-clock seconds, stamped on each response. */
|
|
377
|
+
double wallSeconds();
|
|
378
|
+
|
|
379
|
+
boolean hasCompletedVersion(String hash);
|
|
380
|
+
|
|
381
|
+
/** UpdateContext.commitSyncResult: whether the commit landed. */
|
|
382
|
+
boolean commitSyncResult(
|
|
383
|
+
long expectedGeneration, @Nullable String hash, @Nullable String hashInfoJson,
|
|
384
|
+
boolean activate, String responseCacheJson) throws Exception;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
/** The round on the device: the JNI engine, UpdateContext, OkHttp. */
|
|
388
|
+
private static final class DeviceRound implements RoundHost {
|
|
389
|
+
private final UpdateContext context;
|
|
390
|
+
private final String launchRolledBackVersion;
|
|
391
|
+
|
|
392
|
+
DeviceRound(UpdateContext context, String launchRolledBackVersion) {
|
|
393
|
+
this.context = context;
|
|
394
|
+
this.launchRolledBackVersion = launchRolledBackVersion;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
@Override
|
|
398
|
+
public long nanoTime() {
|
|
399
|
+
return System.nanoTime();
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
@Override
|
|
403
|
+
public String stepRound(String state, String event) {
|
|
404
|
+
return FlowBridge.stepRound(state, event);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
@Override
|
|
408
|
+
public boolean crashHold() {
|
|
409
|
+
return crashHoldActive;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
@Override
|
|
413
|
+
public long resetGeneration() {
|
|
414
|
+
return UpdateContext.getResetGeneration();
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
@Override
|
|
418
|
+
public long configGeneration() {
|
|
419
|
+
return UpdateContext.getNativeConfigGeneration();
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
@Override
|
|
423
|
+
public String getKv(String key) {
|
|
424
|
+
return context.getKv(key);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
@Override
|
|
428
|
+
public void setKv(String key, String value) {
|
|
429
|
+
context.setKv(key, value);
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
@Override
|
|
433
|
+
public void removeKv(String key) {
|
|
434
|
+
context.removeKv(key);
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
@Override
|
|
438
|
+
public JSONObject launchEnv() throws JSONException {
|
|
439
|
+
return SyncCoordinator.launchEnv(context, launchRolledBackVersion);
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
@Override
|
|
443
|
+
public String httpRequest(String url, String postBody, long timeoutMs, long callTimeoutMs) {
|
|
444
|
+
return SyncCoordinator.httpRequest(url, postBody, timeoutMs, callTimeoutMs);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
@Override
|
|
448
|
+
public double wallSeconds() {
|
|
449
|
+
return System.currentTimeMillis() / 1000.0;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
@Override
|
|
453
|
+
public boolean hasCompletedVersion(String hash) {
|
|
454
|
+
return context.hasCompletedVersion(hash);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
@Override
|
|
458
|
+
public boolean commitSyncResult(
|
|
459
|
+
long expectedGeneration, String hash, String hashInfoJson,
|
|
460
|
+
boolean activate, String responseCacheJson) {
|
|
461
|
+
return context.commitSyncResult(
|
|
462
|
+
expectedGeneration, hash, hashInfoJson, activate, responseCacheJson);
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
@Override
|
|
466
|
+
public DownloadTaskParams start(
|
|
467
|
+
String strategy, String url, String hash, String originHash,
|
|
468
|
+
UpdateContext.DownloadFileListener listener, long deadlineNanos) {
|
|
469
|
+
if ("diff".equals(strategy)) {
|
|
470
|
+
return context.downloadPatchFromPpk(url, hash, originHash, listener, deadlineNanos);
|
|
471
|
+
}
|
|
472
|
+
if ("pdiff".equals(strategy)) {
|
|
473
|
+
return context.downloadPatchFromApk(url, hash, listener, deadlineNanos);
|
|
474
|
+
}
|
|
475
|
+
return context.downloadFullUpdate(url, hash, listener, deadlineNanos);
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* The round itself is the shared engine's (cpp/update_flow_core
|
|
481
|
+
* round_engine.h, NATIVE_CHECKUPDATE_DESIGN §12): this drives it on the
|
|
482
|
+
* calling thread and runs what it asks for — the breadcrumb, the launch
|
|
483
|
+
* facts, the requests, the downloads and the commit.
|
|
484
|
+
*/
|
|
485
|
+
static void runOnce(RoundHost host, long deadlineNanos) throws JSONException {
|
|
486
|
+
final long resetGeneration = host.resetGeneration();
|
|
487
|
+
final long configGeneration = host.configGeneration();
|
|
306
488
|
roundGeneration = resetGeneration;
|
|
307
|
-
roundConfigGeneration =
|
|
489
|
+
roundConfigGeneration = configGeneration;
|
|
308
490
|
roundResult = BundlePreparationResult.of(BundlePreparationResult.FAILED, "check_failed");
|
|
309
|
-
String configJson =
|
|
491
|
+
String configJson = host.getKv(KEY_CONFIG);
|
|
310
492
|
roundConfigJson = configJson;
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
493
|
+
|
|
494
|
+
JSONObject event = new JSONObject()
|
|
495
|
+
.put("type", "start")
|
|
496
|
+
.put("config", configJson == null ? "" : configJson)
|
|
497
|
+
.put("resetGeneration", resetGeneration)
|
|
498
|
+
.put("configGeneration", configGeneration)
|
|
499
|
+
.put("sample", Math.random())
|
|
500
|
+
.put("deadline", deadlineNanos != 0 ? engineMillis(deadlineNanos) : 0);
|
|
501
|
+
String state = null;
|
|
502
|
+
boolean marked = false;
|
|
321
503
|
try {
|
|
322
|
-
|
|
323
|
-
|
|
504
|
+
while (true) {
|
|
505
|
+
event.put("now", engineMillis(host.nanoTime()))
|
|
506
|
+
.put("crashHold", host.crashHold());
|
|
507
|
+
String step = host.stepRound(state, event.toString());
|
|
508
|
+
if (step == null) {
|
|
509
|
+
roundResult = BundlePreparationResult.of(
|
|
510
|
+
BundlePreparationResult.FAILED, "internal_error");
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
JSONObject result = new JSONObject(step);
|
|
514
|
+
state = result.getJSONObject("state").toString();
|
|
515
|
+
JSONArray commands = result.getJSONArray("commands");
|
|
516
|
+
event = new JSONObject();
|
|
517
|
+
for (int i = 0; i < commands.length(); i++) {
|
|
518
|
+
JSONObject command = commands.getJSONObject(i);
|
|
519
|
+
String type = command.getString("type");
|
|
520
|
+
if ("markIncomplete".equals(type)) {
|
|
521
|
+
marked = true;
|
|
522
|
+
try {
|
|
523
|
+
host.setKv(KEY_ROUND_INCOMPLETE, "1");
|
|
524
|
+
} catch (IllegalStateException ignored) {
|
|
525
|
+
}
|
|
526
|
+
} else if ("finish".equals(type)) {
|
|
527
|
+
finishRound(command, resetGeneration);
|
|
528
|
+
return;
|
|
529
|
+
} else {
|
|
530
|
+
event = perform(host, command, configGeneration);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
324
534
|
} finally {
|
|
325
535
|
// A committed round already cleared the breadcrumb in its own
|
|
326
536
|
// commit (UpdateContext.commitSyncResult); only rounds that ended
|
|
327
537
|
// without committing need the extra write.
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
538
|
+
if (marked) {
|
|
539
|
+
try {
|
|
540
|
+
if (host.getKv(KEY_ROUND_INCOMPLETE) != null) {
|
|
541
|
+
host.removeKv(KEY_ROUND_INCOMPLETE);
|
|
542
|
+
}
|
|
543
|
+
} catch (IllegalStateException ignored) {
|
|
331
544
|
}
|
|
332
|
-
} catch (IllegalStateException ignored) {
|
|
333
545
|
}
|
|
334
546
|
}
|
|
335
547
|
}
|
|
336
548
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
549
|
+
/** Runs one engine command and returns the event that answers it. */
|
|
550
|
+
private static JSONObject perform(RoundHost host, JSONObject command, long configGeneration)
|
|
551
|
+
throws JSONException {
|
|
552
|
+
String type = command.getString("type");
|
|
553
|
+
switch (type) {
|
|
554
|
+
case "collectEnv":
|
|
555
|
+
return new JSONObject()
|
|
556
|
+
.put("type", "env")
|
|
557
|
+
.put("env", host.launchEnv());
|
|
558
|
+
case "http": {
|
|
559
|
+
boolean post = command.optBoolean("post");
|
|
560
|
+
String text = host.httpRequest(
|
|
561
|
+
command.getString("url"),
|
|
562
|
+
post ? command.getString("body") : null,
|
|
563
|
+
(long) command.getDouble("timeoutMs"),
|
|
564
|
+
(long) command.getDouble("callTimeoutMs"));
|
|
565
|
+
JSONObject event = new JSONObject().put("type", "http");
|
|
566
|
+
if (text != null) {
|
|
567
|
+
event.put("text", text).put("at", host.wallSeconds());
|
|
568
|
+
}
|
|
569
|
+
return event;
|
|
570
|
+
}
|
|
571
|
+
case "checkInstalled":
|
|
572
|
+
return new JSONObject()
|
|
573
|
+
.put("type", "installed")
|
|
574
|
+
.put("installed", host.hasCompletedVersion(command.getString("hash")));
|
|
575
|
+
case "download":
|
|
576
|
+
return download(command, host, host);
|
|
577
|
+
case "commit":
|
|
578
|
+
return commit(host, command, configGeneration);
|
|
579
|
+
default:
|
|
580
|
+
// Unknown to this adapter: the engine finishes the round.
|
|
581
|
+
return new JSONObject().put("type", type);
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
// This launch as the shared core sees it (native_round.h). Absent values
|
|
586
|
+
// (null) are left out.
|
|
587
|
+
private static JSONObject launchEnv(UpdateContext context, String launchRolledBackVersion)
|
|
588
|
+
throws JSONException {
|
|
344
589
|
String currentVersion = context.getCurrentVersion();
|
|
345
|
-
// This launch as the shared core sees it (native_round.h). Absent
|
|
346
|
-
// values (null) are left out.
|
|
347
590
|
JSONObject env = new JSONObject();
|
|
348
591
|
env.put("packageVersion", context.getPackageVersion());
|
|
349
592
|
// The JS constant's form, so JS can reuse the response cache.
|
|
@@ -359,111 +602,57 @@ final class SyncCoordinator {
|
|
|
359
602
|
// same value so this request can be fingerprinted against the JS one.
|
|
360
603
|
env.put("os", "android " + Build.VERSION.SDK_INT);
|
|
361
604
|
env.put("bundleHash", context.computeBundleHash());
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
String preparedJson = FlowBridge.prepareRound(configJson, envJson, Math.random());
|
|
365
|
-
if (preparedJson == null) {
|
|
366
|
-
roundResult = BundlePreparationResult.of(BundlePreparationResult.FAILED, "invalid_request");
|
|
367
|
-
return;
|
|
368
|
-
}
|
|
369
|
-
JSONObject prepared = new JSONObject(preparedJson);
|
|
370
|
-
String body = prepared.getString("body");
|
|
371
|
-
String responseText =
|
|
372
|
-
runQueryRequest(prepared.getJSONObject("query").toString(), body, deadlineNanos);
|
|
373
|
-
if (responseText == null) {
|
|
374
|
-
Log.i(Texts.LOG_TAG,
|
|
375
|
-
"native sync: no endpoint reachable, giving up until next launch");
|
|
376
|
-
return;
|
|
377
|
-
}
|
|
378
|
-
// Cache freshness is anchored to when the server response arrived,
|
|
379
|
-
// not to when a potentially long download/patch/activation finished.
|
|
380
|
-
String decisionJson = FlowBridge.handleResponse(
|
|
381
|
-
responseText, configJson, envJson, body, System.currentTimeMillis() / 1000);
|
|
382
|
-
if (decisionJson == null) {
|
|
383
|
-
roundResult = BundlePreparationResult.of(BundlePreparationResult.FAILED, "invalid_response");
|
|
384
|
-
return;
|
|
385
|
-
}
|
|
386
|
-
JSONObject decision = new JSONObject(decisionJson);
|
|
387
|
-
// Built once; every commit below caches it for JS.
|
|
388
|
-
final String responseCacheJson = decision.getString("cache");
|
|
389
|
-
if (!"download".equals(decision.optString("action"))) {
|
|
390
|
-
boolean committed = context.commitSyncResult(
|
|
391
|
-
resetGeneration, null, null, false, responseCacheJson);
|
|
392
|
-
roundResult = committed
|
|
393
|
-
? BundlePreparationResult.of(BundlePreparationResult.NO_UPDATE, decision.optString("reason"))
|
|
394
|
-
: BundlePreparationResult.of(BundlePreparationResult.CANCELLED, "reset");
|
|
395
|
-
Log.i(Texts.LOG_TAG,
|
|
396
|
-
"native sync: nothing to do (" + decision.optString("reason") + ")");
|
|
397
|
-
return;
|
|
398
|
-
}
|
|
399
|
-
String hash = decision.optString("hash", "");
|
|
400
|
-
if (!UpdateFileUtils.isSafePathComponent(hash)) {
|
|
401
|
-
roundResult = BundlePreparationResult.of(BundlePreparationResult.FAILED, "invalid_response");
|
|
402
|
-
return;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
boolean downloaded = context.hasCompletedVersion(hash);
|
|
406
|
-
if (!downloaded) {
|
|
407
|
-
downloaded = performAttempts(
|
|
408
|
-
decision.optJSONArray("attempts"), deadlineNanos,
|
|
409
|
-
downloadStarter(context, hash, currentVersion));
|
|
410
|
-
}
|
|
411
|
-
if (!downloaded) {
|
|
412
|
-
// The native attempt has finished, so JS may safely reuse the
|
|
413
|
-
// response and retry through its own strategy chain.
|
|
414
|
-
boolean committed = context.commitSyncResult(
|
|
415
|
-
resetGeneration, null, null, false, responseCacheJson);
|
|
416
|
-
roundResult = BundlePreparationResult.of(
|
|
417
|
-
committed ? BundlePreparationResult.FAILED : BundlePreparationResult.CANCELLED,
|
|
418
|
-
committed ? "download_failed" : "reset");
|
|
419
|
-
return;
|
|
420
|
-
}
|
|
605
|
+
return env;
|
|
606
|
+
}
|
|
421
607
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
// Silent strategies or a server-marked forceBoot version (per-version
|
|
432
|
-
// remote override — the brick rescue) activate for the next launch;
|
|
433
|
-
// otherwise activation stays with the JS side. Unless a crash is
|
|
434
|
-
// being held: JS is dead, deferring to it would leave the fix on
|
|
435
|
-
// disk forever (§11.3).
|
|
436
|
-
boolean activate = decision.optBoolean("activate", false) || crashHoldActive;
|
|
437
|
-
boolean committed;
|
|
608
|
+
// Version info, the activation and the response cache land in one atomic
|
|
609
|
+
// commit (UpdateContext.commitSyncResult). A config change bumps the
|
|
610
|
+
// reset generation too, so the commit refuses either; the config
|
|
611
|
+
// generation tells the two apart.
|
|
612
|
+
private static JSONObject commit(RoundHost host, JSONObject command, long configGeneration)
|
|
613
|
+
throws JSONException {
|
|
614
|
+
String hash = command.getString("hash");
|
|
615
|
+
String hashInfo = command.getString("hashInfo");
|
|
616
|
+
JSONObject event = new JSONObject().put("type", "committed");
|
|
438
617
|
try {
|
|
439
|
-
committed =
|
|
440
|
-
resetGeneration,
|
|
441
|
-
hash,
|
|
442
|
-
|
|
443
|
-
activate,
|
|
444
|
-
|
|
618
|
+
boolean committed = host.commitSyncResult(
|
|
619
|
+
(long) command.getDouble("resetGeneration"),
|
|
620
|
+
hash.isEmpty() ? null : hash,
|
|
621
|
+
hashInfo.isEmpty() ? null : hashInfo,
|
|
622
|
+
command.getBoolean("activate"),
|
|
623
|
+
command.getString("cache"));
|
|
624
|
+
event.put("ok", committed);
|
|
625
|
+
if (!committed && host.configGeneration() != configGeneration) {
|
|
626
|
+
event.put("reason", "config_changed");
|
|
627
|
+
}
|
|
445
628
|
} catch (Exception e) {
|
|
446
629
|
Log.w(Texts.LOG_TAG, "native sync: commit failed: " + e);
|
|
447
|
-
|
|
630
|
+
event.put("error", true);
|
|
631
|
+
}
|
|
632
|
+
return event;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
private static void finishRound(JSONObject finish, long resetGeneration) {
|
|
636
|
+
String status = finish.optString("status");
|
|
637
|
+
String reason = finish.optString("reason");
|
|
638
|
+
if (!BundlePreparationResult.DOWNLOADED.equals(status)) {
|
|
639
|
+
Log.i(Texts.LOG_TAG, "native sync: " + status + " (" + reason + ")");
|
|
640
|
+
roundResult = BundlePreparationResult.of(status, reason);
|
|
448
641
|
return;
|
|
449
642
|
}
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
643
|
+
String hash = finish.optString("hash");
|
|
644
|
+
boolean activated = finish.optBoolean("activated");
|
|
645
|
+
if (activated) {
|
|
453
646
|
unactivatedHash = null;
|
|
454
|
-
Log.i(Texts.LOG_TAG,
|
|
455
|
-
"native sync: downloaded " + hash + " and set for next launch");
|
|
647
|
+
Log.i(Texts.LOG_TAG, "native sync: downloaded " + hash + " and set for next launch");
|
|
456
648
|
} else {
|
|
457
649
|
// Remembered so a crash later in this process can still activate
|
|
458
650
|
// it (activatePendingVersion) — JS never will.
|
|
459
651
|
unactivatedGeneration = resetGeneration;
|
|
460
652
|
unactivatedHash = hash;
|
|
461
|
-
Log.i(Texts.LOG_TAG,
|
|
462
|
-
"native sync: downloaded " + hash + ", activation left to JS");
|
|
653
|
+
Log.i(Texts.LOG_TAG, "native sync: downloaded " + hash + ", activation left to JS");
|
|
463
654
|
}
|
|
464
|
-
roundResult =
|
|
465
|
-
? BundlePreparationResult.downloaded(hash, activate)
|
|
466
|
-
: BundlePreparationResult.of(BundlePreparationResult.CANCELLED, "reset");
|
|
655
|
+
roundResult = BundlePreparationResult.downloaded(hash, activated);
|
|
467
656
|
}
|
|
468
657
|
|
|
469
658
|
private static final OkHttpClient httpClient = HttpClients.base().newBuilder()
|
|
@@ -472,7 +661,10 @@ final class SyncCoordinator {
|
|
|
472
661
|
.callTimeout(15, TimeUnit.SECONDS)
|
|
473
662
|
.build();
|
|
474
663
|
|
|
475
|
-
|
|
664
|
+
// The engine's per-request bounds, already capped by the round deadline.
|
|
665
|
+
private static String httpRequest(
|
|
666
|
+
String url, String postBody, long timeoutMs, long callTimeoutMs
|
|
667
|
+
) {
|
|
476
668
|
try {
|
|
477
669
|
Request.Builder builder =
|
|
478
670
|
new Request.Builder().url(url).header("Accept", "application/json");
|
|
@@ -480,9 +672,11 @@ final class SyncCoordinator {
|
|
|
480
672
|
builder.post(RequestBody.create(
|
|
481
673
|
postBody, MediaType.parse("application/json; charset=utf-8")));
|
|
482
674
|
}
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
675
|
+
OkHttpClient client = httpClient.newBuilder()
|
|
676
|
+
.connectTimeout(Math.max(1, timeoutMs), TimeUnit.MILLISECONDS)
|
|
677
|
+
.readTimeout(Math.max(1, timeoutMs), TimeUnit.MILLISECONDS)
|
|
678
|
+
.callTimeout(Math.max(1, callTimeoutMs), TimeUnit.MILLISECONDS)
|
|
679
|
+
.build();
|
|
486
680
|
try (Response response = client.newCall(builder.build()).execute()) {
|
|
487
681
|
// Same rule as the artifact download: an https endpoint that
|
|
488
682
|
// redirects to plaintext http is a failed endpoint.
|
|
@@ -524,167 +718,70 @@ final class SyncCoordinator {
|
|
|
524
718
|
return source.readString(charset == null ? StandardCharsets.UTF_8 : charset);
|
|
525
719
|
}
|
|
526
720
|
|
|
527
|
-
/**
|
|
528
|
-
* Sequential fallback over the endpoints (§5.1), one request at a time
|
|
529
|
-
* with its own timeout, as the shared core walks it
|
|
530
|
-
* (FlowBridge.nextQueryStep: order, list discovery, https-only remote
|
|
531
|
-
* bases, budget, response validity). No hedged race on purpose — this
|
|
532
|
-
* path is latency-insensitive.
|
|
533
|
-
*/
|
|
534
|
-
@Nullable
|
|
535
|
-
private static String runQueryRequest(String state, String body, long deadlineNanos)
|
|
536
|
-
throws JSONException {
|
|
537
|
-
String text = null;
|
|
538
|
-
while (true) {
|
|
539
|
-
state = FlowBridge.nextQueryStep(state, text);
|
|
540
|
-
if (state == null) {
|
|
541
|
-
return null;
|
|
542
|
-
}
|
|
543
|
-
JSONObject step = new JSONObject(state);
|
|
544
|
-
if (step.optBoolean("found")) {
|
|
545
|
-
return text;
|
|
546
|
-
}
|
|
547
|
-
String url = step.optString("url", "");
|
|
548
|
-
if (url.isEmpty()) {
|
|
549
|
-
return null;
|
|
550
|
-
}
|
|
551
|
-
text = httpRequest(url, step.optBoolean("post") ? body : null, deadlineNanos);
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
private static long capToHoldBudget(long phaseDeadlineNanos, long holdDeadlineNanos) {
|
|
556
|
-
if (holdDeadlineNanos <= 0) {
|
|
557
|
-
return phaseDeadlineNanos;
|
|
558
|
-
}
|
|
559
|
-
return Math.min(phaseDeadlineNanos, holdDeadlineNanos);
|
|
560
|
-
}
|
|
561
|
-
|
|
562
721
|
/** Queues one download attempt; null when it was rejected up front (the listener was told). */
|
|
563
722
|
interface DownloadStarter {
|
|
564
723
|
@Nullable
|
|
565
724
|
DownloadTaskParams start(
|
|
566
|
-
String
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
private static DownloadStarter downloadStarter(
|
|
570
|
-
final UpdateContext context, final String hash, final String originHash
|
|
571
|
-
) {
|
|
572
|
-
return (type, url, listener, deadlineNanos) -> {
|
|
573
|
-
if ("diff".equals(type)) {
|
|
574
|
-
return context.downloadPatchFromPpk(url, hash, originHash, listener, deadlineNanos);
|
|
575
|
-
}
|
|
576
|
-
if ("pdiff".equals(type)) {
|
|
577
|
-
return context.downloadPatchFromApk(url, hash, listener, deadlineNanos);
|
|
578
|
-
}
|
|
579
|
-
return context.downloadFullUpdate(url, hash, listener, deadlineNanos);
|
|
580
|
-
};
|
|
725
|
+
String strategy, String url, String hash, @Nullable String originHash,
|
|
726
|
+
UpdateContext.DownloadFileListener listener, long deadlineNanos);
|
|
581
727
|
}
|
|
582
728
|
|
|
583
729
|
/**
|
|
584
|
-
*
|
|
585
|
-
*
|
|
586
|
-
* no diff without a running version, no cleartext URL under an
|
|
587
|
-
* https-only config).
|
|
730
|
+
* One download attempt the engine asked for, waited on up to its
|
|
731
|
+
* deadline: {"type": "download", ok, code?, timedOut?}.
|
|
588
732
|
*/
|
|
589
|
-
static
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
final
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
final boolean isFullAttempt = !"diff".equals(type) && !"pdiff".equals(type);
|
|
606
|
-
if (isFullAttempt && fullDeadlineNanos == 0) {
|
|
607
|
-
// Incremental failures must not consume the last-resort full
|
|
608
|
-
// download's budget. Each phase gets one bounded 10min window.
|
|
609
|
-
fullDeadlineNanos = capToHoldBudget(
|
|
610
|
-
System.nanoTime()
|
|
611
|
-
+ TimeUnit.SECONDS.toNanos(DOWNLOAD_PHASE_TIMEOUT_SECONDS),
|
|
612
|
-
holdDeadlineNanos);
|
|
613
|
-
}
|
|
614
|
-
final long deadlineNanos = isFullAttempt
|
|
615
|
-
? fullDeadlineNanos : incrementalDeadlineNanos;
|
|
616
|
-
JSONArray urls = attempt.optJSONArray("urls");
|
|
617
|
-
if (urls == null) {
|
|
618
|
-
continue;
|
|
733
|
+
static JSONObject download(JSONObject command, DownloadStarter starter) throws JSONException {
|
|
734
|
+
return download(command, starter, System::nanoTime);
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
static JSONObject download(JSONObject command, DownloadStarter starter, Clock clock)
|
|
738
|
+
throws JSONException {
|
|
739
|
+
final String strategy = command.getString("strategy");
|
|
740
|
+
final long deadlineNanos = engineNanos(command.getDouble("deadline"));
|
|
741
|
+
final CountDownLatch latch = new CountDownLatch(1);
|
|
742
|
+
final AtomicBoolean succeeded = new AtomicBoolean(false);
|
|
743
|
+
final AtomicReference<Throwable> failure = new AtomicReference<>();
|
|
744
|
+
UpdateContext.DownloadFileListener listener = new UpdateContext.DownloadFileListener() {
|
|
745
|
+
@Override
|
|
746
|
+
public void onDownloadCompleted(DownloadTaskParams params) {
|
|
747
|
+
succeeded.set(true);
|
|
748
|
+
latch.countDown();
|
|
619
749
|
}
|
|
620
|
-
for (int j = 0; j < urls.length(); j++) {
|
|
621
|
-
String url = urls.optString(j, "");
|
|
622
|
-
// Check before enqueueing: once the phase budget is gone we
|
|
623
|
-
// must not launch an orphan download that outlives the round.
|
|
624
|
-
long remainingNanos = deadlineNanos - System.nanoTime();
|
|
625
|
-
if (remainingNanos <= 0) {
|
|
626
|
-
if (isFullAttempt) {
|
|
627
|
-
return false;
|
|
628
|
-
}
|
|
629
|
-
break;
|
|
630
|
-
}
|
|
631
|
-
final CountDownLatch latch = new CountDownLatch(1);
|
|
632
|
-
final AtomicBoolean succeeded = new AtomicBoolean(false);
|
|
633
|
-
final AtomicReference<Throwable> failure = new AtomicReference<>();
|
|
634
|
-
final String attemptType = type;
|
|
635
|
-
UpdateContext.DownloadFileListener listener =
|
|
636
|
-
new UpdateContext.DownloadFileListener() {
|
|
637
|
-
@Override
|
|
638
|
-
public void onDownloadCompleted(DownloadTaskParams params) {
|
|
639
|
-
succeeded.set(true);
|
|
640
|
-
latch.countDown();
|
|
641
|
-
}
|
|
642
750
|
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
latch.countDown();
|
|
649
|
-
}
|
|
650
|
-
};
|
|
651
|
-
DownloadTaskParams task = starter.start(type, url, listener, deadlineNanos);
|
|
652
|
-
try {
|
|
653
|
-
if (!latch.await(remainingNanos, TimeUnit.NANOSECONDS)) {
|
|
654
|
-
Log.w(Texts.LOG_TAG,
|
|
655
|
-
"native sync: download phase timed out during " + type);
|
|
656
|
-
// The task shares one download thread with the next
|
|
657
|
-
// attempt: cancel its transfer (or keep it from
|
|
658
|
-
// starting) instead of queueing behind it
|
|
659
|
-
// (CODE_AUDIT 2.12).
|
|
660
|
-
if (task != null) {
|
|
661
|
-
task.cancel();
|
|
662
|
-
}
|
|
663
|
-
if (isFullAttempt) {
|
|
664
|
-
return false;
|
|
665
|
-
}
|
|
666
|
-
break;
|
|
667
|
-
}
|
|
668
|
-
} catch (InterruptedException e) {
|
|
669
|
-
Thread.currentThread().interrupt();
|
|
670
|
-
if (task != null) {
|
|
671
|
-
task.cancel();
|
|
672
|
-
}
|
|
673
|
-
return false;
|
|
674
|
-
}
|
|
675
|
-
if (succeeded.get()) {
|
|
676
|
-
return true;
|
|
677
|
-
}
|
|
678
|
-
Throwable error = failure.get();
|
|
679
|
-
if (error != null
|
|
680
|
-
&& !ErrorCodes.isMirrorRetryable(ErrorCodes.forDownloadFailure(error))) {
|
|
681
|
-
// The bytes arrived but could not be applied: every
|
|
682
|
-
// mirror serves the same artifact, so move on to the
|
|
683
|
-
// next strategy instead of downloading it again.
|
|
684
|
-
break;
|
|
685
|
-
}
|
|
751
|
+
@Override
|
|
752
|
+
public void onDownloadFailed(Throwable error) {
|
|
753
|
+
Log.i(Texts.LOG_TAG, "native sync: " + strategy + " attempt failed: " + error);
|
|
754
|
+
failure.set(error);
|
|
755
|
+
latch.countDown();
|
|
686
756
|
}
|
|
757
|
+
};
|
|
758
|
+
DownloadTaskParams task = starter.start(
|
|
759
|
+
strategy, command.getString("url"), command.getString("hash"),
|
|
760
|
+
command.has("originHash") ? command.getString("originHash") : null,
|
|
761
|
+
listener, deadlineNanos);
|
|
762
|
+
JSONObject event = new JSONObject().put("type", "download");
|
|
763
|
+
boolean settled;
|
|
764
|
+
try {
|
|
765
|
+
settled = latch.await(deadlineNanos - clock.nanoTime(), TimeUnit.NANOSECONDS);
|
|
766
|
+
} catch (InterruptedException e) {
|
|
767
|
+
Thread.currentThread().interrupt();
|
|
768
|
+
settled = false;
|
|
769
|
+
}
|
|
770
|
+
if (!settled) {
|
|
771
|
+
Log.w(Texts.LOG_TAG, "native sync: download phase timed out during " + strategy);
|
|
772
|
+
// The task shares one download thread with the next attempt:
|
|
773
|
+
// cancel its transfer (or keep it from starting) instead of
|
|
774
|
+
// queueing behind it (CODE_AUDIT 2.12).
|
|
775
|
+
if (task != null) {
|
|
776
|
+
task.cancel();
|
|
777
|
+
}
|
|
778
|
+
return event.put("timedOut", true);
|
|
779
|
+
}
|
|
780
|
+
event.put("ok", succeeded.get());
|
|
781
|
+
Throwable error = failure.get();
|
|
782
|
+
if (error != null) {
|
|
783
|
+
event.put("code", ErrorCodes.forDownloadFailure(error));
|
|
687
784
|
}
|
|
688
|
-
return
|
|
785
|
+
return event;
|
|
689
786
|
}
|
|
690
787
|
}
|