react-native-update 10.59.2 → 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 +13 -7
- package/README.md +15 -6
- package/android/build.gradle +25 -33
- package/android/jni/Android.mk +18 -24
- 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/proguard.pro +9 -7
- package/android/src/main/java/cn/reactnative/modules/update/ApkInstaller.java +3 -8
- package/android/src/main/java/cn/reactnative/modules/update/ArchiveLimits.java +24 -6
- package/android/src/main/java/cn/reactnative/modules/update/BundlePreparationResult.java +2 -0
- package/android/src/main/java/cn/reactnative/modules/update/BundledResourceCopier.java +50 -51
- package/android/src/main/java/cn/reactnative/modules/update/CleanupKeepNames.java +12 -13
- package/android/src/main/java/cn/reactnative/modules/update/CopyGroupResult.java +3 -0
- package/android/src/main/java/cn/reactnative/modules/update/CrashHold.java +22 -30
- package/android/src/main/java/cn/reactnative/modules/update/DownloadTask.java +284 -452
- package/android/src/main/java/cn/reactnative/modules/update/DownloadTaskParams.java +8 -4
- package/android/src/main/java/cn/reactnative/modules/update/ErrorCodes.java +32 -3
- package/android/src/main/java/cn/reactnative/modules/update/FileOperationException.java +1 -1
- package/android/src/main/java/cn/reactnative/modules/update/FlowBridge.java +39 -8
- package/android/src/main/java/cn/reactnative/modules/update/HttpClients.java +63 -0
- package/android/src/main/java/cn/reactnative/modules/update/HttpUtils.java +0 -45
- package/android/src/main/java/cn/reactnative/modules/update/InstallRecord.java +68 -116
- package/android/src/main/java/cn/reactnative/modules/update/NativeCore.java +10 -2
- package/android/src/main/java/cn/reactnative/modules/update/PatchFailedException.java +1 -1
- package/android/src/main/java/cn/reactnative/modules/update/PushyRuntime.java +53 -62
- package/android/src/main/java/cn/reactnative/modules/update/ReactReloadManager.java +9 -24
- package/android/src/main/java/cn/reactnative/modules/update/ResumePlan.java +31 -0
- package/android/src/main/java/cn/reactnative/modules/update/SafeZipFile.java +42 -80
- package/android/src/main/java/cn/reactnative/modules/update/StateSerialRunner.java +22 -39
- package/android/src/main/java/cn/reactnative/modules/update/SyncCoordinator.java +474 -500
- package/android/src/main/java/cn/reactnative/modules/update/Texts.java +15 -1
- package/android/src/main/java/cn/reactnative/modules/update/Threads.java +44 -0
- package/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +265 -188
- package/android/src/main/java/cn/reactnative/modules/update/UpdateEventEmitter.java +1 -1
- package/android/src/main/java/cn/reactnative/modules/update/UpdateFileUtils.java +75 -17
- package/android/src/main/java/cn/reactnative/modules/update/{UpdateModuleImpl.java → UpdateModule.java} +114 -96
- package/android/src/main/java/cn/reactnative/modules/update/UpdatePackage.java +16 -19
- package/android/src/main/java/cn/reactnative/modules/update/VersionScopedKeys.java +64 -0
- package/android/src/oldarch/cn/reactnative/modules/update/NativePushySpec.java +71 -0
- package/cpp/android_jni/archive_limits_jni.cpp +83 -0
- package/cpp/android_jni/install_record_jni.cpp +89 -0
- package/cpp/android_jni/jni_log.h +30 -0
- package/cpp/android_jni/jni_natives.h +46 -0
- package/cpp/android_jni/jni_registration.cpp +146 -0
- package/cpp/android_jni/jni_util.h +160 -0
- package/cpp/android_jni/resume_plan_jni.cpp +58 -0
- package/cpp/android_jni/update_core_android.cpp +448 -0
- package/cpp/android_jni/update_flow_jni.cpp +150 -0
- package/{android/jni → cpp/hpatch}/hpatch.c +5 -5
- package/{android/jni → cpp/hpatch}/hpatch.h +4 -1
- package/cpp/patch_core/archive_limits.cpp +194 -0
- package/cpp/patch_core/archive_limits.h +101 -10
- package/cpp/patch_core/archive_patch_core.cpp +98 -15
- package/cpp/patch_core/archive_patch_core.h +51 -0
- package/cpp/patch_core/digest.h +5 -4
- package/cpp/patch_core/error_codes.h +15 -11
- package/cpp/patch_core/install_record.cpp +430 -0
- package/cpp/patch_core/install_record.h +165 -9
- package/cpp/patch_core/native_texts.h +102 -0
- package/cpp/patch_core/patch_core.cpp +62 -16
- package/cpp/patch_core/patch_core.h +27 -7
- package/cpp/patch_core/patch_manifest.cpp +201 -0
- package/cpp/patch_core/patch_manifest.h +74 -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 +5 -3
- package/cpp/update_flow_core/flow_json.cpp +82 -8
- package/cpp/update_flow_core/flow_json.h +21 -0
- package/cpp/update_flow_core/native_config.cpp +436 -0
- package/cpp/update_flow_core/native_config.h +84 -0
- package/cpp/update_flow_core/native_round.cpp +321 -0
- package/cpp/update_flow_core/native_round.h +94 -0
- 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/cpp/update_flow_core/update_flow_core.h +2 -2
- package/harmony/hvigor-plugin.ts +11 -19
- package/harmony/pushy/src/main/cpp/CMakeLists.txt +19 -26
- package/harmony/pushy/src/main/cpp/PushyPackage.h +2 -2
- package/harmony/pushy/src/main/cpp/PushyTurboModule.cpp +57 -94
- package/harmony/pushy/src/main/cpp/pushy.cpp +817 -518
- package/harmony/pushy/src/main/ets/ArchiveLimits.ts +55 -75
- package/harmony/pushy/src/main/ets/DownloadTask.ts +279 -539
- package/harmony/pushy/src/main/ets/DownloadTaskParams.ts +6 -6
- package/harmony/pushy/src/main/ets/ErrorCodes.ts +3 -15
- package/harmony/pushy/src/main/ets/EventHub.ts +1 -1
- package/harmony/pushy/src/main/ets/InstallRecord.ts +54 -151
- package/harmony/pushy/src/main/ets/Logger.ts +20 -34
- package/harmony/pushy/src/main/ets/NativePatchCore.ts +150 -41
- package/harmony/pushy/src/main/ets/PushyConfiguration.ts +8 -85
- package/harmony/pushy/src/main/ets/PushyFileJSBundleProvider.ets +8 -3
- package/harmony/pushy/src/main/ets/PushyTurboModule.ts +11 -25
- package/harmony/pushy/src/main/ets/SaveFile.ts +99 -18
- package/harmony/pushy/src/main/ets/SyncCoordinator.ts +291 -543
- package/harmony/pushy/src/main/ets/Texts.ts +8 -7
- package/harmony/pushy/src/main/ets/UpdateContext.ts +245 -152
- package/harmony/pushy.har +0 -0
- package/ios/RCTPushy/RCTPushy+Launch.mm +190 -0
- package/ios/RCTPushy/RCTPushy.h +12 -0
- package/ios/RCTPushy/RCTPushy.mm +135 -2666
- package/ios/RCTPushy/RCTPushyCommon.h +28 -0
- package/ios/RCTPushy/RCTPushyConfiguration.h +0 -8
- package/ios/RCTPushy/RCTPushyConfiguration.mm +40 -123
- package/ios/RCTPushy/RCTPushyDownloader.mm +152 -198
- package/ios/RCTPushy/RCTPushyInstallRecord.mm +101 -0
- package/ios/RCTPushy/RCTPushyInstaller.mm +732 -0
- package/ios/RCTPushy/RCTPushyInternal.h +185 -0
- package/ios/RCTPushy/RCTPushyOrchestrator.mm +969 -0
- package/ios/RCTPushy/RCTPushyState.mm +382 -0
- package/package.json +46 -25
- package/react-native-update.podspec +73 -82
- package/src/client.ts +126 -1633
- 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/context.ts +1 -1
- package/src/core.ts +39 -10
- package/src/endpoint.ts +22 -8
- package/src/error.ts +18 -35
- package/src/i18n.ts +18 -83
- package/src/locales/en.ts +1 -5
- package/src/locales/zh.ts +1 -5
- package/src/provider.tsx +86 -67
- package/src/telemetry.ts +0 -13
- package/src/type.ts +0 -15
- package/src/updateFlowCore.ts +116 -10
- package/src/utils.ts +49 -42
- 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
- package/android/src/main/java/cn/reactnative/modules/update/ArchivePatchPlanResult.java +0 -6
- package/android/src/main/java/cn/reactnative/modules/update/PushyConfiguration.java +0 -104
- package/android/src/main/java/cn/reactnative/modules/update/UiThreadRunner.java +0 -37
- package/android/src/newarch/cn/reactnative/modules/update/UpdateModule.java +0 -121
- package/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java +0 -125
- package/cpp/patch_core/jni_natives.h +0 -27
- package/cpp/patch_core/jni_registration.cpp +0 -103
- package/cpp/patch_core/jni_util.h +0 -60
- package/cpp/patch_core/patch_core_android.cpp +0 -97
- package/cpp/patch_core/update_core_android.cpp +0 -485
- package/cpp/update_flow_core/update_flow_jni.cpp +0 -150
|
@@ -8,27 +8,26 @@ import android.util.Log;
|
|
|
8
8
|
import androidx.annotation.Nullable;
|
|
9
9
|
import com.facebook.react.ReactInstanceManager;
|
|
10
10
|
import java.io.File;
|
|
11
|
-
import org.json.JSONObject;
|
|
12
11
|
import java.io.IOException;
|
|
13
12
|
import java.io.InputStream;
|
|
14
|
-
import java.security.MessageDigest;
|
|
15
|
-
import java.security.NoSuchAlgorithmException;
|
|
16
13
|
import java.util.concurrent.Executor;
|
|
17
|
-
import java.util.concurrent.Executors;
|
|
18
|
-
import java.util.concurrent.ThreadFactory;
|
|
19
14
|
|
|
20
15
|
public class UpdateContext {
|
|
16
|
+
// The one place that loads librnpushy.so (see NativeCore).
|
|
21
17
|
static {
|
|
22
18
|
NativeCore.ensureLoaded();
|
|
23
19
|
}
|
|
24
20
|
|
|
25
21
|
static final String TAG = Texts.LOG_TAG;
|
|
26
|
-
static final boolean DEBUG = BuildConfig.DEBUG;
|
|
27
22
|
|
|
28
23
|
private final Context context;
|
|
29
24
|
private final File rootDir;
|
|
30
25
|
private final Executor executor;
|
|
31
26
|
private final SharedPreferences sp;
|
|
27
|
+
// The native check's raw response cache (SyncCoordinator.KEY_RESP_CACHE)
|
|
28
|
+
// lives in its own file: it is a whole server response, and keeping it in
|
|
29
|
+
// sp made every small state commit rewrite it.
|
|
30
|
+
private final SharedPreferences checkCacheSp;
|
|
32
31
|
// Our own PackageInfo, looked up once: every getPackageInfo call is a
|
|
33
32
|
// Binder IPC, and the constructor, the bundle-hash cache and the native
|
|
34
33
|
// check all need the version name / install time.
|
|
@@ -48,14 +47,25 @@ public class UpdateContext {
|
|
|
48
47
|
// running app has not loaded yet. Volatile: written during launch, read
|
|
49
48
|
// from the state serial and download executors.
|
|
50
49
|
private volatile String launchVersion;
|
|
50
|
+
// bundleSha256 of launchVersion's install record, read once at launch
|
|
51
|
+
// resolution so getConstants does not hit the file system on the JS
|
|
52
|
+
// thread. {hash, sha256}; null until a version was resolved.
|
|
53
|
+
private volatile String[] launchBundleSha256;
|
|
54
|
+
// bundleHash of the embedded bundle, computed once per process on its own
|
|
55
|
+
// thread (see startBundleHashComputation); null until known.
|
|
56
|
+
private final Object bundleHashLock = new Object();
|
|
57
|
+
private String bundleHash;
|
|
58
|
+
private java.util.ArrayList<BundleHashListener> pendingBundleHashListeners =
|
|
59
|
+
new java.util.ArrayList<>();
|
|
60
|
+
// <generated:state-operations> (scripts/contract.ts; bun scripts/generate-contract.ts)
|
|
51
61
|
private static final int STATE_OP_SWITCH_VERSION = 1;
|
|
52
62
|
private static final int STATE_OP_MARK_SUCCESS = 2;
|
|
53
63
|
private static final int STATE_OP_ROLLBACK = 3;
|
|
54
|
-
// 4 (
|
|
64
|
+
// 4 (ClearFirstTime) has no caller on this side.
|
|
55
65
|
private static final int STATE_OP_CLEAR_ROLLBACK_MARK = 5;
|
|
56
66
|
private static final int STATE_OP_RESOLVE_LAUNCH = 6;
|
|
57
|
-
|
|
58
|
-
static final String
|
|
67
|
+
// </generated:state-operations>
|
|
68
|
+
static final String KEY_FIRST_LOAD_MARKED = "firstLoadMarked";
|
|
59
69
|
// Bumped by resetToPackagedBundle. The cold-start check runs for minutes
|
|
60
70
|
// and may already hold a decision when the app resets to the packaged
|
|
61
71
|
// bundle; the orchestrator samples this counter and abandons activation
|
|
@@ -100,20 +110,17 @@ public class UpdateContext {
|
|
|
100
110
|
|
|
101
111
|
private UpdateContext(Context context) {
|
|
102
112
|
this.context = context.getApplicationContext();
|
|
103
|
-
this.executor =
|
|
104
|
-
@Override
|
|
105
|
-
public Thread newThread(Runnable r) {
|
|
106
|
-
return new Thread(r, "pushy-download");
|
|
107
|
-
}
|
|
108
|
-
});
|
|
113
|
+
this.executor = Threads.single("pushy-download", false);
|
|
109
114
|
|
|
110
|
-
this.rootDir = new File(this.context.getFilesDir(), Texts.
|
|
115
|
+
this.rootDir = new File(this.context.getFilesDir(), Texts.STORAGE_DIR_NAME);
|
|
111
116
|
|
|
112
117
|
if (!rootDir.exists() && !rootDir.mkdirs() && !rootDir.exists()) {
|
|
113
118
|
throw new IllegalStateException("Failed to create storage root dir: " + rootDir);
|
|
114
119
|
}
|
|
115
120
|
|
|
116
|
-
this.sp = this.context.getSharedPreferences(Texts.
|
|
121
|
+
this.sp = this.context.getSharedPreferences(Texts.PREFERENCES_NAME, Context.MODE_PRIVATE);
|
|
122
|
+
this.checkCacheSp = this.context.getSharedPreferences(
|
|
123
|
+
Texts.PREFERENCES_NAME + "_check", Context.MODE_PRIVATE);
|
|
117
124
|
this.packageInfo = lookupPackageInfo(this.context);
|
|
118
125
|
this.reactInstanceManager = pendingReactInstanceManager;
|
|
119
126
|
|
|
@@ -127,11 +134,28 @@ public class UpdateContext {
|
|
|
127
134
|
|
|
128
135
|
if (nextState.changed) {
|
|
129
136
|
// Execute cleanUp before clearing SharedPreferences to avoid race condition
|
|
130
|
-
|
|
137
|
+
cleanUp(DownloadTaskParams.DEFAULT_MAX_AGE_DAYS);
|
|
131
138
|
SharedPreferences.Editor editor = this.sp.edit();
|
|
132
|
-
editor.
|
|
139
|
+
removeKeys(editor, VersionScopedKeys.clearedOnUpgrade(sp.getAll().keySet()));
|
|
133
140
|
applyState(editor, nextState);
|
|
134
141
|
persistEditor(editor, "sync state with binary version");
|
|
142
|
+
clearNativeCheckCache();
|
|
143
|
+
} else {
|
|
144
|
+
migrateNativeCheckCache();
|
|
145
|
+
}
|
|
146
|
+
startBundleHashComputation();
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// One-time move of the response cache out of the main state file.
|
|
150
|
+
private void migrateNativeCheckCache() {
|
|
151
|
+
String legacy = sp.getString(SyncCoordinator.KEY_RESP_CACHE, null);
|
|
152
|
+
if (legacy == null) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (checkCacheSp.edit().putString(SyncCoordinator.KEY_RESP_CACHE, legacy).commit()) {
|
|
156
|
+
SharedPreferences.Editor editor = sp.edit();
|
|
157
|
+
editor.remove(SyncCoordinator.KEY_RESP_CACHE);
|
|
158
|
+
persistEditor(editor, "migrate check cache");
|
|
135
159
|
}
|
|
136
160
|
}
|
|
137
161
|
|
|
@@ -177,32 +201,87 @@ public class UpdateContext {
|
|
|
177
201
|
* identity of the binary itself, not of whatever hot update is currently
|
|
178
202
|
* running. Hashes exactly the bytes pdiff patches from: the hardcoded
|
|
179
203
|
* "index.android.bundle" asset read via AssetManager, same as
|
|
180
|
-
* DownloadTask.copyBundledAssetToFile.
|
|
181
|
-
*
|
|
182
|
-
* to the buildTime heuristic.
|
|
204
|
+
* DownloadTask.copyBundledAssetToFile. Never fails — an empty string
|
|
205
|
+
* means "unknown" and the server falls back to the buildTime heuristic.
|
|
183
206
|
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
207
|
+
* Computed once per process on a dedicated thread started by the
|
|
208
|
+
* constructor (not on the download executor, where it used to queue
|
|
209
|
+
* behind cleanup and downloads and make the first JS checkUpdate send an
|
|
210
|
+
* empty hash). The listener runs on that thread, or on the caller's when
|
|
211
|
+
* the value is already known.
|
|
212
|
+
*
|
|
213
|
+
* java.security.MessageDigest rather than the C++ pushy::digest: the
|
|
214
|
+
* bytes come from an AssetManager stream on the Java side, and the
|
|
215
|
+
* platform digest is native-backed already. The NIST vectors in the
|
|
216
|
+
* patch_core tests anchor both implementations to the same standard.
|
|
188
217
|
*/
|
|
189
218
|
public void getBundleHash(final BundleHashListener listener) {
|
|
190
|
-
|
|
219
|
+
String known;
|
|
220
|
+
synchronized (bundleHashLock) {
|
|
221
|
+
known = bundleHash;
|
|
222
|
+
if (known == null) {
|
|
223
|
+
pendingBundleHashListeners.add(listener);
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
listener.onBundleHash(known);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// Package-private: also the native cold-start check's request input
|
|
231
|
+
// (SyncCoordinator). Blocks until the shared computation finished — call
|
|
232
|
+
// off the main thread.
|
|
233
|
+
String computeBundleHash() {
|
|
234
|
+
synchronized (bundleHashLock) {
|
|
235
|
+
while (bundleHash == null) {
|
|
236
|
+
try {
|
|
237
|
+
bundleHashLock.wait();
|
|
238
|
+
} catch (InterruptedException e) {
|
|
239
|
+
Thread.currentThread().interrupt();
|
|
240
|
+
return "";
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return bundleHash;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
private void startBundleHashComputation() {
|
|
248
|
+
if (BuildConfig.DEBUG) {
|
|
191
249
|
// Metro serves the bundle in debug; mirror the dev buildTime behaviour.
|
|
192
|
-
|
|
250
|
+
publishBundleHash("");
|
|
193
251
|
return;
|
|
194
252
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
253
|
+
Threads.startDaemon("pushy-bundle-hash", () -> {
|
|
254
|
+
String hash = "";
|
|
255
|
+
try {
|
|
256
|
+
hash = loadOrHashBundledAsset();
|
|
257
|
+
} catch (Throwable e) {
|
|
258
|
+
Log.w(TAG, "bundle hash failed: " + e);
|
|
259
|
+
} finally {
|
|
260
|
+
publishBundleHash(hash);
|
|
199
261
|
}
|
|
200
262
|
});
|
|
201
263
|
}
|
|
202
264
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
265
|
+
private void publishBundleHash(String hash) {
|
|
266
|
+
java.util.ArrayList<BundleHashListener> listeners;
|
|
267
|
+
synchronized (bundleHashLock) {
|
|
268
|
+
bundleHash = hash;
|
|
269
|
+
listeners = pendingBundleHashListeners;
|
|
270
|
+
pendingBundleHashListeners = null;
|
|
271
|
+
bundleHashLock.notifyAll();
|
|
272
|
+
}
|
|
273
|
+
if (listeners != null) {
|
|
274
|
+
for (BundleHashListener listener : listeners) {
|
|
275
|
+
try {
|
|
276
|
+
listener.onBundleHash(hash);
|
|
277
|
+
} catch (Throwable e) {
|
|
278
|
+
Log.w(TAG, "bundle hash listener failed: " + e);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
private String loadOrHashBundledAsset() {
|
|
206
285
|
String cachePrefix = getPackageVersion() + "|" + getPackageLastUpdateTime() + "|";
|
|
207
286
|
String cached = sp.getString(KEY_BUNDLE_HASH_CACHE, null);
|
|
208
287
|
if (cached != null && cached.startsWith(cachePrefix)) {
|
|
@@ -223,20 +302,8 @@ public class UpdateContext {
|
|
|
223
302
|
|
|
224
303
|
private String sha256OfBundledAsset(String assetName) {
|
|
225
304
|
try (InputStream in = context.getAssets().open(assetName)) {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
int read;
|
|
229
|
-
while ((read = in.read(buffer)) != -1) {
|
|
230
|
-
md.update(buffer, 0, read);
|
|
231
|
-
}
|
|
232
|
-
byte[] digest = md.digest();
|
|
233
|
-
StringBuilder hex = new StringBuilder(digest.length * 2);
|
|
234
|
-
for (byte b : digest) {
|
|
235
|
-
hex.append(Character.forDigit((b >> 4) & 0xf, 16));
|
|
236
|
-
hex.append(Character.forDigit(b & 0xf, 16));
|
|
237
|
-
}
|
|
238
|
-
return hex.toString();
|
|
239
|
-
} catch (IOException | NoSuchAlgorithmException e) {
|
|
305
|
+
return UpdateFileUtils.sha256Hex(in);
|
|
306
|
+
} catch (IOException e) {
|
|
240
307
|
// Expected when there is no embedded bundle (custom name, no
|
|
241
308
|
// release bundle); "unknown" is a valid answer, not an error.
|
|
242
309
|
Log.i(TAG, "Cannot hash bundled asset " + assetName + ": " + e);
|
|
@@ -261,16 +328,30 @@ public class UpdateContext {
|
|
|
261
328
|
void onDownloadFailed(Throwable error);
|
|
262
329
|
}
|
|
263
330
|
|
|
264
|
-
|
|
265
|
-
|
|
331
|
+
/**
|
|
332
|
+
* Params shared by every download task. deadlineNanos is an absolute
|
|
333
|
+
* System.nanoTime deadline for orchestrated (native cold-start) tasks; 0
|
|
334
|
+
* keeps the per-call timeout of a JS-initiated download.
|
|
335
|
+
*/
|
|
336
|
+
private static DownloadTaskParams downloadParams(
|
|
337
|
+
int type, String url, String hash, DownloadFileListener listener, long deadlineNanos
|
|
338
|
+
) {
|
|
339
|
+
DownloadTaskParams params = new DownloadTaskParams();
|
|
340
|
+
params.type = type;
|
|
341
|
+
params.url = url;
|
|
342
|
+
params.hash = hash;
|
|
343
|
+
params.listener = listener;
|
|
344
|
+
params.deadlineNanos = deadlineNanos;
|
|
345
|
+
return params;
|
|
266
346
|
}
|
|
267
347
|
|
|
268
|
-
|
|
269
|
-
* The
|
|
270
|
-
*
|
|
271
|
-
*
|
|
272
|
-
*
|
|
348
|
+
/*
|
|
349
|
+
* The patch downloads return the queued task's params so the native
|
|
350
|
+
* orchestrator can cancel the task when its phase budget expires
|
|
351
|
+
* (CODE_AUDIT 2.12); null when the request was rejected up front (the
|
|
352
|
+
* listener has already been told).
|
|
273
353
|
*/
|
|
354
|
+
|
|
274
355
|
@Nullable
|
|
275
356
|
DownloadTaskParams downloadFullUpdate(
|
|
276
357
|
String url, String hash, DownloadFileListener listener, long deadlineNanos
|
|
@@ -278,37 +359,25 @@ public class UpdateContext {
|
|
|
278
359
|
if (rejectUnsafeComponent(hash, listener)) {
|
|
279
360
|
return null;
|
|
280
361
|
}
|
|
281
|
-
DownloadTaskParams params =
|
|
282
|
-
|
|
283
|
-
params.url = url;
|
|
284
|
-
params.hash = hash;
|
|
285
|
-
params.listener = listener;
|
|
286
|
-
params.deadlineNanos = deadlineNanos;
|
|
362
|
+
DownloadTaskParams params = downloadParams(
|
|
363
|
+
DownloadTaskParams.TASK_TYPE_PATCH_FULL, url, hash, listener, deadlineNanos);
|
|
287
364
|
params.targetFile = new File(rootDir, hash + ".ppk");
|
|
288
365
|
params.unzipDirectory = new File(rootDir, hash);
|
|
289
366
|
enqueue(params);
|
|
290
367
|
return params;
|
|
291
368
|
}
|
|
292
369
|
|
|
370
|
+
/** A plain file download into the root dir; hash only keys progress events. */
|
|
293
371
|
public void downloadFile(String url, String hash, String fileName, DownloadFileListener listener) {
|
|
294
372
|
if (rejectUnsafeComponent(fileName, listener)) {
|
|
295
373
|
return;
|
|
296
374
|
}
|
|
297
|
-
DownloadTaskParams params =
|
|
298
|
-
|
|
299
|
-
params.url = url;
|
|
300
|
-
params.hash = hash;
|
|
301
|
-
params.listener = listener;
|
|
302
|
-
|
|
375
|
+
DownloadTaskParams params = downloadParams(
|
|
376
|
+
DownloadTaskParams.TASK_TYPE_PLAIN_DOWNLOAD, url, hash, listener, 0);
|
|
303
377
|
params.targetFile = new File(rootDir, fileName);
|
|
304
|
-
// params.unzipDirectory = new File(rootDir, hash);
|
|
305
378
|
enqueue(params);
|
|
306
379
|
}
|
|
307
380
|
|
|
308
|
-
public void downloadPatchFromApk(String url, String hash, DownloadFileListener listener) {
|
|
309
|
-
downloadPatchFromApk(url, hash, listener, 0);
|
|
310
|
-
}
|
|
311
|
-
|
|
312
381
|
@Nullable
|
|
313
382
|
DownloadTaskParams downloadPatchFromApk(
|
|
314
383
|
String url, String hash, DownloadFileListener listener, long deadlineNanos
|
|
@@ -316,22 +385,14 @@ public class UpdateContext {
|
|
|
316
385
|
if (rejectUnsafeComponent(hash, listener)) {
|
|
317
386
|
return null;
|
|
318
387
|
}
|
|
319
|
-
DownloadTaskParams params =
|
|
320
|
-
|
|
321
|
-
params.
|
|
322
|
-
params.hash = hash;
|
|
323
|
-
params.listener = listener;
|
|
324
|
-
params.deadlineNanos = deadlineNanos;
|
|
325
|
-
params.targetFile = new File(rootDir, hash + Texts.reveal("7416e4dae09b69512137"));
|
|
388
|
+
DownloadTaskParams params = downloadParams(
|
|
389
|
+
DownloadTaskParams.TASK_TYPE_PATCH_FROM_APK, url, hash, listener, deadlineNanos);
|
|
390
|
+
params.targetFile = new File(rootDir, hash + Texts.PACKAGE_DELTA_SUFFIX);
|
|
326
391
|
params.unzipDirectory = new File(rootDir, hash);
|
|
327
392
|
enqueue(params);
|
|
328
393
|
return params;
|
|
329
394
|
}
|
|
330
395
|
|
|
331
|
-
public void downloadPatchFromPpk(String url, String hash, String originHash, DownloadFileListener listener) {
|
|
332
|
-
downloadPatchFromPpk(url, hash, originHash, listener, 0);
|
|
333
|
-
}
|
|
334
|
-
|
|
335
396
|
@Nullable
|
|
336
397
|
DownloadTaskParams downloadPatchFromPpk(
|
|
337
398
|
String url,
|
|
@@ -343,14 +404,10 @@ public class UpdateContext {
|
|
|
343
404
|
if (rejectUnsafeComponent(hash, listener) || rejectUnsafeComponent(originHash, listener)) {
|
|
344
405
|
return null;
|
|
345
406
|
}
|
|
346
|
-
DownloadTaskParams params =
|
|
347
|
-
|
|
348
|
-
params.url = url;
|
|
349
|
-
params.hash = hash;
|
|
407
|
+
DownloadTaskParams params = downloadParams(
|
|
408
|
+
DownloadTaskParams.TASK_TYPE_PATCH_FROM_PPK, url, hash, listener, deadlineNanos);
|
|
350
409
|
params.originHash = originHash;
|
|
351
|
-
params.
|
|
352
|
-
params.deadlineNanos = deadlineNanos;
|
|
353
|
-
params.targetFile = new File(rootDir, originHash + "-" + hash + Texts.reveal("7407e4dae09b69512137"));
|
|
410
|
+
params.targetFile = new File(rootDir, originHash + "-" + hash + Texts.PPK_DELTA_SUFFIX);
|
|
354
411
|
params.unzipDirectory = new File(rootDir, hash);
|
|
355
412
|
params.originDirectory = new File(rootDir, originHash);
|
|
356
413
|
enqueue(params);
|
|
@@ -381,6 +438,15 @@ public class UpdateContext {
|
|
|
381
438
|
}
|
|
382
439
|
}
|
|
383
440
|
|
|
441
|
+
// Not editor.clear(): that also wiped the uuid (re-bucketing every gray
|
|
442
|
+
// release on each app upgrade) and the native config (no crash hold and
|
|
443
|
+
// no cold-start round until JS ran again). See VersionScopedKeys.
|
|
444
|
+
private void removeKeys(SharedPreferences.Editor editor, java.util.List<String> keys) {
|
|
445
|
+
for (String key : keys) {
|
|
446
|
+
editor.remove(key);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
|
|
384
450
|
private void applyState(SharedPreferences.Editor editor, StateCoreResult state) {
|
|
385
451
|
putNullableString(editor, "packageVersion", state.packageVersion);
|
|
386
452
|
putNullableString(editor, "buildTime", state.buildTime);
|
|
@@ -429,28 +495,16 @@ public class UpdateContext {
|
|
|
429
495
|
if (!UpdateFileUtils.isSafePathComponent(hash)) {
|
|
430
496
|
throw new IllegalArgumentException("Invalid hash: " + hash);
|
|
431
497
|
}
|
|
432
|
-
File versionDir = new File(rootDir, hash);
|
|
433
|
-
File bundleFile = new File(versionDir, "index.bundlejs");
|
|
434
|
-
if (!bundleFile.isFile()) {
|
|
435
|
-
throw new IllegalStateException("Bundle version " + hash + " not found.");
|
|
436
|
-
}
|
|
437
498
|
StateCoreResult currentState = getStateSnapshot();
|
|
438
|
-
|
|
499
|
+
// Versions activated before completion records existed are
|
|
500
|
+
// grandfathered through current/last state, but only while their
|
|
501
|
+
// directory has no record; any other directory must carry a record
|
|
502
|
+
// whose bundle digest matches the bytes on disk before the next
|
|
503
|
+
// launch is pointed at them.
|
|
504
|
+
boolean grandfathered = hash.equals(currentState.currentVersion)
|
|
439
505
|
|| hash.equals(currentState.lastVersion);
|
|
440
|
-
if (isLegacyActivatedVersion) {
|
|
441
|
-
// Versions activated before completion markers were introduced are
|
|
442
|
-
// explicitly grandfathered through current/last state.
|
|
443
|
-
return;
|
|
444
|
-
}
|
|
445
|
-
if (!InstallRecord.isComplete(versionDir, hash)) {
|
|
446
|
-
// An arbitrary markerless directory may be a crash-left partial
|
|
447
|
-
// install.
|
|
448
|
-
throw new IllegalStateException("Bundle version " + hash + " is incomplete.");
|
|
449
|
-
}
|
|
450
|
-
// The record's bundle digest must match the bytes on disk before
|
|
451
|
-
// the next launch is pointed at them.
|
|
452
506
|
try {
|
|
453
|
-
InstallRecord.
|
|
507
|
+
InstallRecord.verifyInstalled(new File(rootDir, hash), hash, grandfathered);
|
|
454
508
|
} catch (IOException e) {
|
|
455
509
|
throw new IllegalStateException(e.getMessage(), e);
|
|
456
510
|
}
|
|
@@ -462,13 +516,12 @@ public class UpdateContext {
|
|
|
462
516
|
* holds commitLock and has run verifySwitchTarget.
|
|
463
517
|
*/
|
|
464
518
|
private StateCoreResult computeSwitchState(String hash) {
|
|
465
|
-
return
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
);
|
|
519
|
+
return runStateOp(STATE_OP_SWITCH_VERSION, hash);
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
/** One state-core operation on the current snapshot; caller holds commitLock. */
|
|
523
|
+
private StateCoreResult runStateOp(int operation, @Nullable String hash) {
|
|
524
|
+
return runStateCore(operation, getStateSnapshot(), hash, false, false);
|
|
472
525
|
}
|
|
473
526
|
|
|
474
527
|
public void switchVersion(String hash) {
|
|
@@ -518,9 +571,9 @@ public class UpdateContext {
|
|
|
518
571
|
|
|
519
572
|
/**
|
|
520
573
|
* Reads and clears the first-load marker and the rollback mark in one
|
|
521
|
-
*
|
|
522
|
-
* TurboModule constant read), so the
|
|
523
|
-
*
|
|
574
|
+
* editor. getConstants runs this synchronously on the JS thread (a
|
|
575
|
+
* TurboModule constant read), so the write is applied asynchronously;
|
|
576
|
+
* persistence is best-effort on this launch path.
|
|
524
577
|
*/
|
|
525
578
|
LaunchMarkers consumeLaunchMarkers() {
|
|
526
579
|
LaunchMarkers markers;
|
|
@@ -534,21 +587,18 @@ public class UpdateContext {
|
|
|
534
587
|
editor.remove(KEY_FIRST_LOAD_MARKED);
|
|
535
588
|
}
|
|
536
589
|
if (rolledBackVersion != null) {
|
|
537
|
-
|
|
538
|
-
STATE_OP_CLEAR_ROLLBACK_MARK,
|
|
539
|
-
getStateSnapshot(),
|
|
540
|
-
null,
|
|
541
|
-
false,
|
|
542
|
-
false
|
|
543
|
-
);
|
|
544
|
-
applyState(editor, nextState);
|
|
590
|
+
applyState(editor, runStateOp(STATE_OP_CLEAR_ROLLBACK_MARK, null));
|
|
545
591
|
}
|
|
546
|
-
|
|
592
|
+
// Asynchronous on purpose: the in-memory state changes
|
|
593
|
+
// immediately, the disk write happens on the
|
|
594
|
+
// SharedPreferences writer. Losing it to a crash only
|
|
595
|
+
// re-reports the one-shot markers on the next launch.
|
|
596
|
+
editor.apply();
|
|
547
597
|
}
|
|
548
598
|
}
|
|
549
599
|
if (markers.rolledBackVersion != null) {
|
|
550
600
|
// The rolled-back version's directory is now eligible for cleanup.
|
|
551
|
-
|
|
601
|
+
cleanUp(DownloadTaskParams.DEFAULT_MAX_AGE_DAYS);
|
|
552
602
|
}
|
|
553
603
|
return markers;
|
|
554
604
|
}
|
|
@@ -562,14 +612,7 @@ public class UpdateContext {
|
|
|
562
612
|
return;
|
|
563
613
|
}
|
|
564
614
|
synchronized (commitLock) {
|
|
565
|
-
StateCoreResult
|
|
566
|
-
StateCoreResult nextState = runStateCore(
|
|
567
|
-
STATE_OP_MARK_SUCCESS,
|
|
568
|
-
currentState,
|
|
569
|
-
null,
|
|
570
|
-
false,
|
|
571
|
-
false
|
|
572
|
-
);
|
|
615
|
+
StateCoreResult nextState = runStateOp(STATE_OP_MARK_SUCCESS, null);
|
|
573
616
|
SharedPreferences.Editor editor = sp.edit();
|
|
574
617
|
applyState(editor, nextState);
|
|
575
618
|
if (nextState.staleVersionToDelete != null) {
|
|
@@ -578,7 +621,7 @@ public class UpdateContext {
|
|
|
578
621
|
persistEditorOrThrow(editor, "mark success");
|
|
579
622
|
}
|
|
580
623
|
|
|
581
|
-
|
|
624
|
+
cleanUp(DownloadTaskParams.DEFAULT_MAX_AGE_DAYS);
|
|
582
625
|
}
|
|
583
626
|
|
|
584
627
|
/**
|
|
@@ -586,8 +629,10 @@ public class UpdateContext {
|
|
|
586
629
|
* (so the next launch resolves to the built-in bundle) and delete the
|
|
587
630
|
* downloaded versions, keeping only the directory of the version this
|
|
588
631
|
* process is running from (a silent reset must not break its on-demand
|
|
589
|
-
* asset loads).
|
|
590
|
-
* for gray release bucketing and must
|
|
632
|
+
* asset loads). The install's own keys survive (VersionScopedKeys): the
|
|
633
|
+
* client uuid identifies the install for gray release bucketing and must
|
|
634
|
+
* not change on reset, and the native config stays with the host, as on
|
|
635
|
+
* iOS and Harmony.
|
|
591
636
|
*/
|
|
592
637
|
public void resetToPackagedBundle() {
|
|
593
638
|
synchronized (commitLock) {
|
|
@@ -605,26 +650,18 @@ public class UpdateContext {
|
|
|
605
650
|
resetState.buildTime = getBuildTime();
|
|
606
651
|
resetState.firstTime = false;
|
|
607
652
|
resetState.firstTimeOk = true;
|
|
608
|
-
|
|
653
|
+
// The cached check response still advertises the version this reset
|
|
654
|
+
// removes; drop it first so a failure aborts before the state wipe.
|
|
655
|
+
if (!clearNativeCheckCache()) {
|
|
656
|
+
throw new IllegalStateException("Failed to persist state for reset check cache");
|
|
657
|
+
}
|
|
609
658
|
SharedPreferences.Editor editor = sp.edit();
|
|
610
|
-
editor.
|
|
659
|
+
removeKeys(editor, VersionScopedKeys.clearedOnReset(sp.getAll().keySet()));
|
|
611
660
|
applyState(editor, resetState);
|
|
612
|
-
if (uuid != null) {
|
|
613
|
-
editor.putString("uuid", uuid);
|
|
614
|
-
}
|
|
615
661
|
persistEditorOrThrow(editor, "reset to packaged bundle");
|
|
616
662
|
ignoreRollback = false;
|
|
617
|
-
// editor.clear() above already dropped the cached check response; it
|
|
618
|
-
// still advertised the version this reset removed.
|
|
619
663
|
Log.i(TAG, "Reset to packaged bundle");
|
|
620
|
-
|
|
621
|
-
DownloadTaskParams params = new DownloadTaskParams();
|
|
622
|
-
params.type = DownloadTaskParams.TASK_TYPE_CLEANUP;
|
|
623
|
-
params.maxAgeDays = 0;
|
|
624
|
-
// Keep names are resolved by the queued task at execution time, so a
|
|
625
|
-
// later activation is protected too.
|
|
626
|
-
params.unzipDirectory = rootDir;
|
|
627
|
-
enqueue(params);
|
|
664
|
+
cleanUp(0);
|
|
628
665
|
}
|
|
629
666
|
|
|
630
667
|
public static void setCustomInstanceManager(ReactInstanceManager instanceManager) {
|
|
@@ -713,7 +750,7 @@ public class UpdateContext {
|
|
|
713
750
|
// the main thread.
|
|
714
751
|
java.util.HashSet<String> visitedVersions = new java.util.HashSet<>();
|
|
715
752
|
while (currentVersion != null && visitedVersions.add(currentVersion)) {
|
|
716
|
-
File bundleFile = new File(rootDir, currentVersion
|
|
753
|
+
File bundleFile = InstallRecord.bundleFile(new File(rootDir, currentVersion));
|
|
717
754
|
if (!bundleFile.exists()) {
|
|
718
755
|
Log.e(TAG, "Bundle version " + currentVersion + " not found.");
|
|
719
756
|
currentVersion = this.rollBack();
|
|
@@ -721,6 +758,8 @@ public class UpdateContext {
|
|
|
721
758
|
continue;
|
|
722
759
|
}
|
|
723
760
|
launchVersion = currentVersion;
|
|
761
|
+
launchBundleSha256 = new String[] {
|
|
762
|
+
currentVersion, readBundleSha256(currentVersion)};
|
|
724
763
|
syncRolledBackVersion = rolledBackVersion();
|
|
725
764
|
return bundleFile.toString();
|
|
726
765
|
}
|
|
@@ -736,7 +775,6 @@ public class UpdateContext {
|
|
|
736
775
|
}
|
|
737
776
|
}
|
|
738
777
|
|
|
739
|
-
/** Sampled/compared by the native check orchestrator; see resetGeneration. */
|
|
740
778
|
/** Shared by JS and native hosts. Config replacement invalidates old native decisions. */
|
|
741
779
|
private static final java.util.concurrent.atomic.AtomicLong nativeConfigGeneration =
|
|
742
780
|
new java.util.concurrent.atomic.AtomicLong(0);
|
|
@@ -747,15 +785,22 @@ public class UpdateContext {
|
|
|
747
785
|
|
|
748
786
|
void setNativeConfig(String config) {
|
|
749
787
|
synchronized (commitLock) {
|
|
750
|
-
|
|
788
|
+
// Canonical comparison (C1, FlowBridge.configsEquivalent):
|
|
789
|
+
// re-sending the same config with another key order or trailing
|
|
790
|
+
// slashes must not cancel an in-flight round or drop its cache.
|
|
791
|
+
boolean changed = !FlowBridge.configsEquivalent(
|
|
792
|
+
config, sp.getString(SyncCoordinator.KEY_CONFIG, null));
|
|
751
793
|
SharedPreferences.Editor editor = sp.edit();
|
|
752
794
|
if (changed) {
|
|
753
795
|
// Also invalidate on a failed persistence attempt: an older
|
|
754
796
|
// round must not commit over uncertain configuration state.
|
|
755
797
|
resetGeneration.incrementAndGet();
|
|
756
798
|
nativeConfigGeneration.incrementAndGet();
|
|
757
|
-
editor.remove(SyncCoordinator.KEY_RESP_CACHE);
|
|
758
799
|
SyncCoordinator.recordJsRound(null);
|
|
800
|
+
if (!clearNativeCheckCache()) {
|
|
801
|
+
throw new IllegalStateException(
|
|
802
|
+
"Failed to persist state for configuration check cache");
|
|
803
|
+
}
|
|
759
804
|
}
|
|
760
805
|
// A native-only first launch needs a stable gray-release identity
|
|
761
806
|
// before JS initializes. Never replace an existing installation ID.
|
|
@@ -771,7 +816,11 @@ public class UpdateContext {
|
|
|
771
816
|
SyncCoordinator.onConfigured(this);
|
|
772
817
|
}
|
|
773
818
|
|
|
774
|
-
|
|
819
|
+
/**
|
|
820
|
+
* Native-decision generation, sampled/compared by the native check
|
|
821
|
+
* orchestrator: bumped by reset AND configuration replacement (see
|
|
822
|
+
* resetGeneration).
|
|
823
|
+
*/
|
|
775
824
|
static long getResetGeneration() {
|
|
776
825
|
return resetGeneration.get();
|
|
777
826
|
}
|
|
@@ -820,13 +869,20 @@ public class UpdateContext {
|
|
|
820
869
|
if (switching) {
|
|
821
870
|
applyState(editor, computeSwitchState(hash));
|
|
822
871
|
}
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
872
|
+
// The round is over once its result lands: clear the
|
|
873
|
+
// interrupted-round breadcrumb in the same commit.
|
|
874
|
+
editor.remove(SyncCoordinator.KEY_ROUND_INCOMPLETE);
|
|
826
875
|
persistEditorOrThrow(editor, "commit sync result");
|
|
827
876
|
if (switching) {
|
|
828
877
|
ignoreRollback = false;
|
|
829
878
|
}
|
|
879
|
+
// Advisory cache, separate file: written after the state it
|
|
880
|
+
// describes, still under commitLock so a reset cannot interleave.
|
|
881
|
+
if (responseCacheJson != null
|
|
882
|
+
&& !checkCacheSp.edit()
|
|
883
|
+
.putString(SyncCoordinator.KEY_RESP_CACHE, responseCacheJson).commit()) {
|
|
884
|
+
Log.w(TAG, "Failed to persist native sync response cache");
|
|
885
|
+
}
|
|
830
886
|
return true;
|
|
831
887
|
}
|
|
832
888
|
}
|
|
@@ -837,33 +893,49 @@ public class UpdateContext {
|
|
|
837
893
|
* unreadable record. Exposed to JS for crash-report attribution.
|
|
838
894
|
*/
|
|
839
895
|
String currentBundleSha256(String hash) {
|
|
896
|
+
String[] cached = launchBundleSha256;
|
|
897
|
+
if (cached != null && cached[0].equals(hash)) {
|
|
898
|
+
return cached[1];
|
|
899
|
+
}
|
|
900
|
+
return readBundleSha256(hash);
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
private String readBundleSha256(String hash) {
|
|
840
904
|
if (hash == null || hash.isEmpty() || !UpdateFileUtils.isSafePathComponent(hash)) {
|
|
841
905
|
return "";
|
|
842
906
|
}
|
|
843
|
-
|
|
844
|
-
|
|
907
|
+
return InstallRecord.recordedBundleSha256(new File(rootDir, hash));
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
/** Raw native check response for JS (§10.3); null when absent. */
|
|
911
|
+
@Nullable
|
|
912
|
+
String getNativeCheckCache() {
|
|
913
|
+
return checkCacheSp.getString(SyncCoordinator.KEY_RESP_CACHE, null);
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
private boolean clearNativeCheckCache() {
|
|
917
|
+
if (!checkCacheSp.contains(SyncCoordinator.KEY_RESP_CACHE)) {
|
|
918
|
+
return true;
|
|
919
|
+
}
|
|
920
|
+
if (!checkCacheSp.edit().remove(SyncCoordinator.KEY_RESP_CACHE).commit()) {
|
|
921
|
+
Log.e(TAG, "Failed to clear native sync response cache");
|
|
922
|
+
return false;
|
|
923
|
+
}
|
|
924
|
+
return true;
|
|
845
925
|
}
|
|
846
926
|
|
|
847
927
|
boolean hasCompletedVersion(String hash) {
|
|
848
928
|
if (!UpdateFileUtils.isSafePathComponent(hash)) {
|
|
849
929
|
return false;
|
|
850
930
|
}
|
|
851
|
-
|
|
852
|
-
return new File(versionDir, "index.bundlejs").isFile()
|
|
853
|
-
&& InstallRecord.isComplete(versionDir, hash);
|
|
931
|
+
return InstallRecord.isInstalled(new File(rootDir, hash), hash);
|
|
854
932
|
}
|
|
855
933
|
|
|
856
934
|
private String rollBack() {
|
|
857
935
|
synchronized (commitLock) {
|
|
858
|
-
|
|
859
|
-
StateCoreResult nextState =
|
|
860
|
-
|
|
861
|
-
currentState,
|
|
862
|
-
null,
|
|
863
|
-
false,
|
|
864
|
-
false
|
|
865
|
-
);
|
|
866
|
-
Log.e(TAG, "Rolling back version " + currentState.currentVersion
|
|
936
|
+
String rollingBack = getCurrentVersion();
|
|
937
|
+
StateCoreResult nextState = runStateOp(STATE_OP_ROLLBACK, null);
|
|
938
|
+
Log.e(TAG, "Rolling back version " + rollingBack
|
|
867
939
|
+ " to " + nextState.currentVersion);
|
|
868
940
|
SharedPreferences.Editor editor = sp.edit();
|
|
869
941
|
applyState(editor, nextState);
|
|
@@ -884,10 +956,15 @@ public class UpdateContext {
|
|
|
884
956
|
}
|
|
885
957
|
|
|
886
958
|
interface CleanupAction {
|
|
887
|
-
void run(
|
|
959
|
+
void run(String[] keepNames);
|
|
888
960
|
}
|
|
889
961
|
|
|
890
|
-
/**
|
|
962
|
+
/**
|
|
963
|
+
* Resolve keep names immediately before the cleanup acts, never when
|
|
964
|
+
* enqueued. The action runs under versionFilesLock, so it must stay cheap
|
|
965
|
+
* (DownloadTask only renames doomed entries into a trash directory and
|
|
966
|
+
* deletes them after this returns).
|
|
967
|
+
*/
|
|
891
968
|
void runCleanupWithLatestState(CleanupAction action) {
|
|
892
969
|
synchronized (versionFilesLock) {
|
|
893
970
|
final String[] keepNames;
|
|
@@ -898,19 +975,19 @@ public class UpdateContext {
|
|
|
898
975
|
launchVersion
|
|
899
976
|
);
|
|
900
977
|
}
|
|
901
|
-
|
|
902
|
-
// JNI has only two keep slots; three distinct live versions are
|
|
903
|
-
// safer to defer until the next process than to delete one.
|
|
904
|
-
Log.i(TAG, "Skipping cleanup: three live versions need protection");
|
|
905
|
-
return;
|
|
906
|
-
}
|
|
907
|
-
action.run(keepNames[0], keepNames[1]);
|
|
978
|
+
action.run(keepNames);
|
|
908
979
|
}
|
|
909
980
|
}
|
|
910
981
|
|
|
911
|
-
|
|
982
|
+
/**
|
|
983
|
+
* Queues removal of every version entry older than maxAgeDays (0: all)
|
|
984
|
+
* except the keep names, which the queued task resolves at execution
|
|
985
|
+
* time so a later activation is protected too.
|
|
986
|
+
*/
|
|
987
|
+
private void cleanUp(int maxAgeDays) {
|
|
912
988
|
DownloadTaskParams params = new DownloadTaskParams();
|
|
913
989
|
params.type = DownloadTaskParams.TASK_TYPE_CLEANUP;
|
|
990
|
+
params.maxAgeDays = maxAgeDays;
|
|
914
991
|
params.unzipDirectory = rootDir;
|
|
915
992
|
enqueue(params);
|
|
916
993
|
}
|