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
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
package cn.reactnative.modules.update;
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Promise;
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
5
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
6
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
7
|
+
import java.util.Map;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Old-architecture stand-in for the NativePushySpec that codegen generates
|
|
11
|
+
* from src/NativePushy.ts under the new architecture: same name, methods and
|
|
12
|
+
* constants hook, so a single UpdateModule serves both. The bridge reads the
|
|
13
|
+
* @ReactMethod annotations from UpdateModule itself.
|
|
14
|
+
*/
|
|
15
|
+
public abstract class NativePushySpec extends ReactContextBaseJavaModule {
|
|
16
|
+
public static final String NAME = "Pushy";
|
|
17
|
+
|
|
18
|
+
public NativePushySpec(ReactApplicationContext reactContext) {
|
|
19
|
+
super(reactContext);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@Override
|
|
23
|
+
public String getName() {
|
|
24
|
+
return NAME;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
protected abstract Map<String, Object> getTypedExportedConstants();
|
|
28
|
+
|
|
29
|
+
@Override
|
|
30
|
+
public final Map<String, Object> getConstants() {
|
|
31
|
+
return getTypedExportedConstants();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// <generated:spec-methods> (scripts/contract.ts; bun scripts/generate-contract.ts)
|
|
35
|
+
public abstract void setLocalHashInfo(String hash, String info, Promise promise);
|
|
36
|
+
|
|
37
|
+
public abstract void getLocalHashInfo(String hash, Promise promise);
|
|
38
|
+
|
|
39
|
+
public abstract void setUuid(String uuid, Promise promise);
|
|
40
|
+
|
|
41
|
+
public abstract void syncNativeConfig(String config, Promise promise);
|
|
42
|
+
|
|
43
|
+
public abstract void getNativeCheckCache(Promise promise);
|
|
44
|
+
|
|
45
|
+
public abstract void markJsCheckCompleted(String config, Promise promise);
|
|
46
|
+
|
|
47
|
+
public abstract void reloadUpdate(ReadableMap options, Promise promise);
|
|
48
|
+
|
|
49
|
+
public abstract void restartApp(Promise promise);
|
|
50
|
+
|
|
51
|
+
public abstract void setNeedUpdate(ReadableMap options, Promise promise);
|
|
52
|
+
|
|
53
|
+
public abstract void markSuccess(Promise promise);
|
|
54
|
+
|
|
55
|
+
public abstract void getBundleHash(Promise promise);
|
|
56
|
+
|
|
57
|
+
public abstract void resetToPackagedBundle(Promise promise);
|
|
58
|
+
|
|
59
|
+
public abstract void downloadPatchFromPpk(ReadableMap options, Promise promise);
|
|
60
|
+
|
|
61
|
+
public abstract void downloadPatchFromPackage(ReadableMap options, Promise promise);
|
|
62
|
+
|
|
63
|
+
public abstract void downloadFullUpdate(ReadableMap options, Promise promise);
|
|
64
|
+
|
|
65
|
+
public abstract void downloadAndInstallApk(ReadableMap options, Promise promise);
|
|
66
|
+
|
|
67
|
+
public abstract void addListener(String eventName);
|
|
68
|
+
|
|
69
|
+
public abstract void removeListeners(double count);
|
|
70
|
+
// </generated:spec-methods>
|
|
71
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// JNI glue of ArchiveLimits.java over the shared extraction accounting
|
|
2
|
+
// (cpp/patch_core/archive_limits.h).
|
|
3
|
+
#include <jni.h>
|
|
4
|
+
|
|
5
|
+
#include <string>
|
|
6
|
+
#include <vector>
|
|
7
|
+
|
|
8
|
+
#include "jni_natives.h"
|
|
9
|
+
#include "jni_util.h"
|
|
10
|
+
#include "../patch_core/archive_limits.h"
|
|
11
|
+
|
|
12
|
+
namespace {
|
|
13
|
+
|
|
14
|
+
using pushy::jni_util::GuardJni;
|
|
15
|
+
using pushy::jni_util::JArrayToVector;
|
|
16
|
+
using pushy::jni_util::ThrowRuntimeException;
|
|
17
|
+
|
|
18
|
+
void ThrowIOException(JNIEnv* env, const std::string& message) {
|
|
19
|
+
jclass exception = env->FindClass("java/io/IOException");
|
|
20
|
+
if (exception != nullptr) {
|
|
21
|
+
env->ThrowNew(exception, message.c_str());
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
} // namespace
|
|
26
|
+
|
|
27
|
+
// One call per archive: the central directory's names and declared sizes
|
|
28
|
+
// through an EntryAccumulator. Returns the total uncompressed size, or throws
|
|
29
|
+
// an IOException with the first violation.
|
|
30
|
+
jlong pushy::jni_natives::ArchiveCheckEntries(
|
|
31
|
+
JNIEnv* env, jclass, jlong archive_bytes, jobjectArray names,
|
|
32
|
+
jlongArray sizes, jlongArray compressed_sizes) {
|
|
33
|
+
return GuardJni(
|
|
34
|
+
env, "Unexpected native exception while checking an archive", [&]() -> jlong {
|
|
35
|
+
const jsize count = names == nullptr ? 0 : env->GetArrayLength(names);
|
|
36
|
+
if (sizes == nullptr || compressed_sizes == nullptr ||
|
|
37
|
+
env->GetArrayLength(sizes) != count ||
|
|
38
|
+
env->GetArrayLength(compressed_sizes) != count) {
|
|
39
|
+
ThrowRuntimeException(env, "archive entry arrays differ in length");
|
|
40
|
+
return 0;
|
|
41
|
+
}
|
|
42
|
+
// Before any name is copied: a hostile central directory may list far
|
|
43
|
+
// more entries than the cap.
|
|
44
|
+
pushy::delta::Status status = pushy::archive_limits::CheckEntryCount(count);
|
|
45
|
+
if (!status.ok) {
|
|
46
|
+
ThrowIOException(env, status.message);
|
|
47
|
+
return 0;
|
|
48
|
+
}
|
|
49
|
+
const std::vector<std::string> entry_names = JArrayToVector(env, names);
|
|
50
|
+
std::vector<jlong> size_values(static_cast<size_t>(count));
|
|
51
|
+
std::vector<jlong> compressed_values(static_cast<size_t>(count));
|
|
52
|
+
if (count > 0) {
|
|
53
|
+
env->GetLongArrayRegion(sizes, 0, count, size_values.data());
|
|
54
|
+
env->GetLongArrayRegion(compressed_sizes, 0, count, compressed_values.data());
|
|
55
|
+
}
|
|
56
|
+
pushy::archive_limits::EntryAccumulator accumulator(archive_bytes);
|
|
57
|
+
for (jsize i = 0; i < count; i++) {
|
|
58
|
+
status = accumulator.Accept(size_values[i], compressed_values[i], false,
|
|
59
|
+
entry_names[i]);
|
|
60
|
+
if (!status.ok) {
|
|
61
|
+
ThrowIOException(env, status.message);
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return accumulator.total_uncompressed();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// {bytes to probe for (0: no probe), reservation end} before one chunk of a
|
|
70
|
+
// download is written.
|
|
71
|
+
jlongArray pushy::jni_natives::ArchivePlanFreeSpaceProbe(
|
|
72
|
+
JNIEnv* env, jclass, jlong known_total, jlong written_before,
|
|
73
|
+
jlong chunk_bytes, jlong reserved_until) {
|
|
74
|
+
const pushy::archive_limits::FreeSpaceProbe plan =
|
|
75
|
+
pushy::archive_limits::PlanUnknownLengthFreeSpaceProbe(
|
|
76
|
+
known_total, written_before, chunk_bytes, reserved_until);
|
|
77
|
+
jlongArray result = env->NewLongArray(2);
|
|
78
|
+
if (result != nullptr) {
|
|
79
|
+
const jlong values[2] = {plan.probe ? plan.reserve : 0, plan.reserved_until};
|
|
80
|
+
env->SetLongArrayRegion(result, 0, 2, values);
|
|
81
|
+
}
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// JNI glue of InstallRecord.java over the shared completion record core
|
|
2
|
+
// (cpp/patch_core/install_record.h). The jstring-returning natives return
|
|
3
|
+
// null on success and the reason otherwise; Java turns a reason into an
|
|
4
|
+
// IOException.
|
|
5
|
+
#include <jni.h>
|
|
6
|
+
|
|
7
|
+
#include <string>
|
|
8
|
+
|
|
9
|
+
#include "jni_natives.h"
|
|
10
|
+
#include "jni_util.h"
|
|
11
|
+
#include "../patch_core/install_record.h"
|
|
12
|
+
|
|
13
|
+
namespace {
|
|
14
|
+
|
|
15
|
+
using pushy::jni_util::GuardJni;
|
|
16
|
+
using pushy::jni_util::JStringToString;
|
|
17
|
+
using pushy::jni_util::ToJString;
|
|
18
|
+
|
|
19
|
+
jstring ReasonOrNull(JNIEnv* env, const pushy::delta::Status& status) {
|
|
20
|
+
return status.ok ? nullptr : ToJString(env, status.message);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
} // namespace
|
|
24
|
+
|
|
25
|
+
jboolean pushy::jni_natives::InstallRecordIsComplete(
|
|
26
|
+
JNIEnv* env, jclass, jstring version_dir, jstring version_hash,
|
|
27
|
+
jstring bundle_file_name) {
|
|
28
|
+
return GuardJni(
|
|
29
|
+
env, "Unexpected native exception while reading a completion record", [&] {
|
|
30
|
+
return pushy::install_record::IsComplete(
|
|
31
|
+
JStringToString(env, version_dir),
|
|
32
|
+
JStringToString(env, version_hash),
|
|
33
|
+
JStringToString(env, bundle_file_name))
|
|
34
|
+
? JNI_TRUE
|
|
35
|
+
: JNI_FALSE;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Hashes the whole bundle: called from worker threads only.
|
|
40
|
+
jstring pushy::jni_natives::InstallRecordCheckActivation(
|
|
41
|
+
JNIEnv* env, jclass, jstring version_dir, jstring version_hash,
|
|
42
|
+
jstring bundle_file_name, jboolean grandfathered) {
|
|
43
|
+
return GuardJni(
|
|
44
|
+
env, "Unexpected native exception while verifying a version", [&] {
|
|
45
|
+
pushy::install_record::Activation activation;
|
|
46
|
+
return ReasonOrNull(
|
|
47
|
+
env, pushy::install_record::CheckActivation(
|
|
48
|
+
JStringToString(env, version_dir),
|
|
49
|
+
JStringToString(env, version_hash),
|
|
50
|
+
JStringToString(env, bundle_file_name),
|
|
51
|
+
grandfathered == JNI_TRUE, &activation));
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
jstring pushy::jni_natives::InstallRecordSeal(
|
|
56
|
+
JNIEnv* env, jclass, jstring staging_dir, jstring version_hash,
|
|
57
|
+
jstring bundle_file_name, jstring artifact_sha256,
|
|
58
|
+
jstring known_bundle_sha256) {
|
|
59
|
+
return GuardJni(
|
|
60
|
+
env, "Unexpected native exception while writing a completion record", [&] {
|
|
61
|
+
return ReasonOrNull(
|
|
62
|
+
env, pushy::install_record::Seal(
|
|
63
|
+
JStringToString(env, staging_dir),
|
|
64
|
+
JStringToString(env, version_hash),
|
|
65
|
+
JStringToString(env, bundle_file_name),
|
|
66
|
+
JStringToString(env, artifact_sha256),
|
|
67
|
+
JStringToString(env, known_bundle_sha256))
|
|
68
|
+
.status);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
jstring pushy::jni_natives::InstallRecordPromote(
|
|
73
|
+
JNIEnv* env, jclass, jstring staging_dir, jstring version_dir) {
|
|
74
|
+
return GuardJni(
|
|
75
|
+
env, "Unexpected native exception while moving a staged version", [&] {
|
|
76
|
+
return ReasonOrNull(
|
|
77
|
+
env, pushy::install_record::Promote(JStringToString(env, staging_dir),
|
|
78
|
+
JStringToString(env, version_dir)));
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
jstring pushy::jni_natives::InstallRecordBundleSha256(
|
|
83
|
+
JNIEnv* env, jclass, jstring version_dir) {
|
|
84
|
+
return GuardJni(
|
|
85
|
+
env, "Unexpected native exception while reading a completion record", [&] {
|
|
86
|
+
return ToJString(env, pushy::install_record::RecordedBundleSha256(
|
|
87
|
+
JStringToString(env, version_dir)));
|
|
88
|
+
});
|
|
89
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#ifndef PUSHY_ANDROID_JNI_LOG_H_
|
|
2
|
+
#define PUSHY_ANDROID_JNI_LOG_H_
|
|
3
|
+
|
|
4
|
+
#include <android/log.h>
|
|
5
|
+
|
|
6
|
+
#include "../patch_core/native_texts.h"
|
|
7
|
+
|
|
8
|
+
// Keep the core internal to whichever binary links it (see podspec Core).
|
|
9
|
+
#pragma GCC visibility push(hidden)
|
|
10
|
+
|
|
11
|
+
namespace pushy {
|
|
12
|
+
namespace jni_log {
|
|
13
|
+
|
|
14
|
+
// Same logcat tag as the Java layer (Texts.LOG_TAG), stored encoded.
|
|
15
|
+
inline const char* Tag() {
|
|
16
|
+
static const char* const tag = texts::LogTag().c_str();
|
|
17
|
+
return tag;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
} // namespace jni_log
|
|
21
|
+
} // namespace pushy
|
|
22
|
+
|
|
23
|
+
#pragma GCC visibility pop
|
|
24
|
+
|
|
25
|
+
// Error-level logcat line under the SDK's tag. For JNI binding failures that
|
|
26
|
+
// would otherwise be swallowed: they must be visible in release builds.
|
|
27
|
+
#define PUSHY_JNI_LOGE(...) \
|
|
28
|
+
__android_log_print(ANDROID_LOG_ERROR, ::pushy::jni_log::Tag(), __VA_ARGS__)
|
|
29
|
+
|
|
30
|
+
#endif // PUSHY_ANDROID_JNI_LOG_H_
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#ifndef PUSHY_ANDROID_JNI_NATIVES_H_
|
|
2
|
+
#define PUSHY_ANDROID_JNI_NATIVES_H_
|
|
3
|
+
|
|
4
|
+
#include <jni.h>
|
|
5
|
+
|
|
6
|
+
// Android native methods. They are registered by name from JNI_OnLoad
|
|
7
|
+
// (jni_registration.cpp) instead of being exported as Java_* symbols, so the
|
|
8
|
+
// shared library's dynamic symbol table carries no class or method names.
|
|
9
|
+
namespace pushy {
|
|
10
|
+
namespace jni_natives {
|
|
11
|
+
|
|
12
|
+
// Called once from JNI_OnLoad: caches the JNI result classes (global refs),
|
|
13
|
+
// their constructors and field IDs. Returns false (after logging what is
|
|
14
|
+
// missing) when any lookup failed; the natives that need the missing class
|
|
15
|
+
// then throw a RuntimeException instead of defaulting fields.
|
|
16
|
+
bool InitResultClassCache(JNIEnv* env);
|
|
17
|
+
|
|
18
|
+
// <generated:prototypes> (scripts/contract.ts; bun scripts/generate-contract.ts)
|
|
19
|
+
jint SupportedDiffVersion(JNIEnv* env, jclass);
|
|
20
|
+
jobject SyncStateWithBinaryVersion(JNIEnv* env, jclass, jstring package_version, jstring build_time, jobject state);
|
|
21
|
+
jobject RunStateCore(JNIEnv* env, jclass, jint operation, jobject state, jstring string_arg, jboolean flag_a, jboolean flag_b);
|
|
22
|
+
jobjectArray ApplyArchiveDelta(JNIEnv* env, jclass, jint patch_type, jobjectArray entry_names, jbyteArray manifest_json, jstring source_root, jstring target_root, jstring origin_bundle_path, jstring bundle_patch_path, jstring bundle_output_path, jboolean host_copies_resources);
|
|
23
|
+
void CleanupOldEntries(JNIEnv* env, jclass, jstring root_dir, jobjectArray keep_names, jint max_age_days, jstring trash_dir);
|
|
24
|
+
jstring FlowPrepareRound(JNIEnv* env, jclass, jstring config_json, jstring env_json, jdouble random_sample);
|
|
25
|
+
jstring FlowNextQueryStep(JNIEnv* env, jclass, jstring state_json, jstring response_text);
|
|
26
|
+
jstring FlowStepRound(JNIEnv* env, jclass, jstring state_json, jstring event_json);
|
|
27
|
+
jstring FlowHandleResponse(JNIEnv* env, jclass, jstring response_text, jstring config_json, jstring env_json, jstring request_body, jlong response_at_seconds);
|
|
28
|
+
jboolean FlowConfigsEquivalent(JNIEnv* env, jclass, jstring a, jstring b);
|
|
29
|
+
jstring FlowRunnableConfig(JNIEnv* env, jclass, jstring config_json);
|
|
30
|
+
jstring FlowNormalizeConfiguration(JNIEnv* env, jclass, jstring options_json);
|
|
31
|
+
jboolean InstallRecordIsComplete(JNIEnv* env, jclass, jstring version_dir, jstring version_hash, jstring bundle_file_name);
|
|
32
|
+
jstring InstallRecordCheckActivation(JNIEnv* env, jclass, jstring version_dir, jstring version_hash, jstring bundle_file_name, jboolean grandfathered);
|
|
33
|
+
jstring InstallRecordSeal(JNIEnv* env, jclass, jstring staging_dir, jstring version_hash, jstring bundle_file_name, jstring artifact_sha256, jstring known_bundle_sha256);
|
|
34
|
+
jstring InstallRecordPromote(JNIEnv* env, jclass, jstring staging_dir, jstring version_dir);
|
|
35
|
+
jstring InstallRecordBundleSha256(JNIEnv* env, jclass, jstring version_dir);
|
|
36
|
+
jlong ArchiveCheckEntries(JNIEnv* env, jclass, jlong archive_bytes, jobjectArray names, jlongArray sizes, jlongArray compressed_sizes);
|
|
37
|
+
jlongArray ArchivePlanFreeSpaceProbe(JNIEnv* env, jclass, jlong known_total, jlong written_before, jlong chunk_bytes, jlong reserved_until);
|
|
38
|
+
jstring ResumePlanRequest(JNIEnv* env, jclass, jstring sidecar, jstring url, jlong partial_size);
|
|
39
|
+
jstring ResumeClassifyResponse(JNIEnv* env, jclass, jint status, jlong resume_offset, jstring content_range, jstring content_encoding, jlong content_length, jstring sidecar, jstring url, jlong partial_size);
|
|
40
|
+
jstring ResumeSidecar(JNIEnv* env, jclass, jstring url, jstring etag, jstring last_modified, jstring previous_sidecar, jlong total);
|
|
41
|
+
// </generated:prototypes>
|
|
42
|
+
|
|
43
|
+
} // namespace jni_natives
|
|
44
|
+
} // namespace pushy
|
|
45
|
+
|
|
46
|
+
#endif // PUSHY_ANDROID_JNI_NATIVES_H_
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
// Registers the Android native methods from JNI_OnLoad instead of exporting
|
|
2
|
+
// Java_<package>_<class>_<method> symbols: the shared library then exports only
|
|
3
|
+
// JNI_OnLoad, and the class names, method names and signatures used for
|
|
4
|
+
// registration are stored encoded (obscured_text.h,
|
|
5
|
+
// scripts/encode-native-text.ts). Regenerate the table when a native method
|
|
6
|
+
// is added or its Java signature changes.
|
|
7
|
+
#include <jni.h>
|
|
8
|
+
|
|
9
|
+
#include <string>
|
|
10
|
+
#include <vector>
|
|
11
|
+
|
|
12
|
+
#include "jni_log.h"
|
|
13
|
+
#include "jni_natives.h"
|
|
14
|
+
#include "../patch_core/obscured_text.h"
|
|
15
|
+
|
|
16
|
+
namespace {
|
|
17
|
+
|
|
18
|
+
struct NativeMethod {
|
|
19
|
+
const char* name;
|
|
20
|
+
const char* signature;
|
|
21
|
+
void* function;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
struct NativeClass {
|
|
25
|
+
const char* name;
|
|
26
|
+
std::vector<NativeMethod> methods;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const std::vector<NativeClass>& NativeClasses() {
|
|
30
|
+
static const std::vector<NativeClass> classes = {
|
|
31
|
+
// <generated:natives> (scripts/contract.ts; bun scripts/generate-contract.ts)
|
|
32
|
+
{"3919bbc3ab8a6b512c3e08f0c0b6df60452311edfbc8f780624b2d1de38c8ebc8e7e42342de4daa0", // NativeCore
|
|
33
|
+
{
|
|
34
|
+
{"3d12e0e2bb9b784a302b19fdf2ba966b7c2216f2f7d4b6", "725edd",
|
|
35
|
+
reinterpret_cast<void*>(&pushy::jni_natives::SupportedDiffVersion)},
|
|
36
|
+
}},
|
|
37
|
+
{"3919bbc3ab8a6b512c3e08f0c0b6df60452311edfbc8f780624b2d1de38c95ad9e7640342de4c6b1878768", // UpdateContext
|
|
38
|
+
{
|
|
39
|
+
{"290efad29d9f6951270815edde9199634b351dd7fbc9ab9c7d41", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655c7cbabcd8d79583507feccbe8e7244113617f1c7a3897a09361019fbc3b1de5d5f2911e7dcd3ab9341553e1febd0faf7b77b5b7d1de9c8a5976e7c4e3e02f481a687615753390ab9c6a0896b53214e2defd9a1974c433b03d1c5ceaf9b600a",
|
|
40
|
+
reinterpret_cast<void*>(&pushy::jni_natives::SyncStateWithBinaryVersion)},
|
|
41
|
+
{"2802fae2ba8a7c4001300efc", "723ed8d2a0c47a40233c08f7d7a7997b4f6809eefaceb49061003919e2c2b4b8d54440301aeeebaa909a4e5c2506fcd9f1ab6e40483a57f9d3a18b2675371214f4d0efab54020406ecb0cebc977044230bf3cdb7bbd4755a361ae0ccb5cc756d5e3600f481989c64565a1f16e4d682887952281545",
|
|
42
|
+
reinterpret_cast<void*>(&pushy::jni_natives::RunStateCore)},
|
|
43
|
+
}},
|
|
44
|
+
{"3919bbc3ab8a6b512c3e08f0c0b6df60452311edfbc8f780624b2d1de38c84b28d79583e0feffca49194", // DownloadTask
|
|
45
|
+
{
|
|
46
|
+
{"3b07e4ddb7aa7a462a360afcf2b69c794b", "723ecffda48a7e446d331df7d1fca379582e0ae6a5e09ab9784e3a08a9cfa1b39d3867251ce2c6a2d9b376582012bfc1ab89630e6d2f0afcdca8d7454c22161cb5dbb59f69041b11f0f6d2becd5f5a2c1ce68badbf957f1a011bfec0a8843b51503602f081a7896b45100f0de4dabe8a317d6d3a32f8d6fa806a4d2a12edc1c9b381711e2304ecd0aeba8f36432314ecdea2cb42714b2132e0c0b9995446332816e38f",
|
|
47
|
+
reinterpret_cast<void*>(&pushy::jni_natives::ApplyArchiveDelta)},
|
|
48
|
+
{"391bf1d0a09e786a2e3b39f7c2a1996859", "723bfed0b88a274923311bb6e5a7826444205fdad2d1b98373002008e8c4ef8e8e655d3f09b0e189889e6a58791ff1c3adc857554c3216f289e6ba",
|
|
49
|
+
reinterpret_cast<void*>(&pushy::jni_natives::CleanupOldEntries)},
|
|
50
|
+
}},
|
|
51
|
+
{"3919bbc3ab8a6b512c3e08f0c0b6df60452311edfbc8f780624b2d1de38c86b19560762307efcfa0", // FlowBridge
|
|
52
|
+
{
|
|
53
|
+
{"2a05f1c1af996d772d2a12fd", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655cf8189889e6a58791ff1c3adc857554c3216f289",
|
|
54
|
+
reinterpret_cast<void*>(&pushy::jni_natives::FlowPrepareRound)},
|
|
55
|
+
{"3412ecc59f9e6d573b0c08fcc6", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655a2e4af83897d163a12fecae5b4705357351fae",
|
|
56
|
+
reinterpret_cast<void*>(&pushy::jni_natives::FlowNextQueryStep)},
|
|
57
|
+
{"2903f1c19c847d4b26", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655a2e4af83897d163a12fecae5b4705357351fae",
|
|
58
|
+
reinterpret_cast<void*>(&pushy::jni_natives::FlowStepRound)},
|
|
59
|
+
{"3216fad5a28e5a40312f13f7c5b6", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655c7c2a4949e3355371df78299937648503c43d9d8ae9a68092f0113fd9887857c422602b9d595959c72462c45ebc5afb9d44b412006e2cefd",
|
|
60
|
+
reinterpret_cast<void*>(&pushy::jni_natives::FlowHandleResponse)},
|
|
61
|
+
{"3918fad7a78c7b60332a15efd7bf95635e", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655a2f2",
|
|
62
|
+
reinterpret_cast<void*>(&pushy::jni_natives::FlowConfigsEquivalent)},
|
|
63
|
+
{"2802fadfaf896440013012ffdfb4", "723bfed0b88a274923311bb6e5a7826444205fa8d2d1b98373002008e8c4ef8e8e655d3f09b0",
|
|
64
|
+
reinterpret_cast<void*>(&pushy::jni_natives::FlowRunnableConfig)},
|
|
65
|
+
{"3418e6dcaf87615f271c13f7d0ba9778582610e8f1d5", "723bfed0b88a274923311bb6e5a7826444205fa8d2d1b98373002008e8c4ef8e8e655d3f09b0",
|
|
66
|
+
reinterpret_cast<void*>(&pushy::jni_natives::FlowNormalizeConfiguration)},
|
|
67
|
+
}},
|
|
68
|
+
{"3919bbc3ab8a6b512c3e08f0c0b6df60452311edfbc8f780624b2d1de38c89b38963553d02d9cda68d8d78", // InstallRecord
|
|
69
|
+
{
|
|
70
|
+
{"3304d7dea39b6440363a", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655c7c2a4949e3355371df78299937648503c43bce8",
|
|
71
|
+
reinterpret_cast<void*>(&pushy::jni_natives::InstallRecordIsComplete)},
|
|
72
|
+
{"391ff1d2a5aa6b512b291deddfbc9e", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655c7c2a4949e3355371df78299937648503c43cf9b83866850224f11fbd9b3de5d5f3a0cecf887",
|
|
73
|
+
reinterpret_cast<void*>(&pushy::jni_natives::InstallRecordCheckActivation)},
|
|
74
|
+
{"2912f5dd9d9f69422b311b", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655c7c2a4949e3355371df78299937648503c43d9d8ae9a68092f0113fd9887857c422602b9d3d6b880721f210be9c3ee8d8f6a5c3c08b7808a89616b5b7818f0c0acc756564d3517f188",
|
|
75
|
+
reinterpret_cast<void*>(&pushy::jni_natives::InstallRecordSeal)},
|
|
76
|
+
{"2a05fbdca19f6d76363e1bf0d8b4", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655a2e4af83897d163a12fecae5b4705357351fae",
|
|
77
|
+
reinterpret_cast<void*>(&pushy::jni_natives::InstallRecordPromote)},
|
|
78
|
+
{"3802fad5a28e5b4d236d49aff9b5", "723bfed0b88a274923311bb6e5a7826444205fa8d2d1b98373002008e8c4ef8e8e655d3f09b0",
|
|
79
|
+
reinterpret_cast<void*>(&pushy::jni_natives::InstallRecordBundleSha256)},
|
|
80
|
+
}},
|
|
81
|
+
{"3919bbc3ab8a6b512c3e08f0c0b6df60452311edfbc8f780624b2d1de38c81af997f5d270bc7c1a88b8b6f", // ArchiveLimits
|
|
82
|
+
{
|
|
83
|
+
{"391ff1d2a5ae6651303619ea", "723dcffda48a7e446d331df7d1fca379582e0ae6a5e092ae580606",
|
|
84
|
+
reinterpret_cast<void*>(&pushy::jni_natives::ArchiveCheckEntries)},
|
|
85
|
+
{"2a1bf5df88996d40112f1dfad38382624822", "723ddefb84c2536f",
|
|
86
|
+
reinterpret_cast<void*>(&pushy::jni_natives::ArchivePlanFreeSpaceProbe)},
|
|
87
|
+
}},
|
|
88
|
+
{"3919bbc3ab8a6b512c3e08f0c0b6df60452311edfbc8f780624b2d1de38c92b8896259343ee7c9ab", // ResumePlan
|
|
89
|
+
{
|
|
90
|
+
{"2a1bf5df9c8e7950272c08", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655c18189889e6a58791ff1c3adc857554c3216f289",
|
|
91
|
+
reinterpret_cast<void*>(&pushy::jni_natives::ResumePlanRequest)},
|
|
92
|
+
{"391bf5c2bd826e5c103a0fe9d9bd8368", "723edefda48a7e446d331df7d1fca379582e0ae6a5f7b294644e6305e7cda7f2a963463800ec938fae957d4f375cfccca4802b724a2911fbd5f4a06347350152f6d6ba9621783c17ebf1dbe2bc3a7c270bf1c5eeb29a76527d3cf8dbaf8d6726",
|
|
93
|
+
reinterpret_cast<void*>(&pushy::jni_natives::ResumeClassifyResponse)},
|
|
94
|
+
{"291ef0d4ad8a7a", "723bfed0b88a274923311bb6e5a7826444205fcdf4daae943d432d07e18c93a9887e5a3655c7c2a4949e3355371df78299937648503c43d9d8ae9a68092f0113fd9887857c422602b9d595959c72462c45ebc5afb9d44b412006e2cefd",
|
|
95
|
+
reinterpret_cast<void*>(&pushy::jni_natives::ResumeSidecar)},
|
|
96
|
+
}},
|
|
97
|
+
// </generated:natives>
|
|
98
|
+
};
|
|
99
|
+
return classes;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Registers each method on its own: a host's R8 build may drop an unused
|
|
103
|
+
// class or native method, which must not prevent the rest from binding. A
|
|
104
|
+
// failure is still logged (release builds too): otherwise the first call of
|
|
105
|
+
// the unbound method surfaces as an UnsatisfiedLinkError with no hint why.
|
|
106
|
+
void RegisterAll(JNIEnv* env) {
|
|
107
|
+
for (const NativeClass& native_class : NativeClasses()) {
|
|
108
|
+
const std::string class_name = pushy::text::Reveal(native_class.name);
|
|
109
|
+
jclass clazz = env->FindClass(class_name.c_str());
|
|
110
|
+
if (clazz == nullptr) {
|
|
111
|
+
env->ExceptionClear();
|
|
112
|
+
PUSHY_JNI_LOGE("JNI binding: class %s not found, %zu native methods unbound",
|
|
113
|
+
class_name.c_str(), native_class.methods.size());
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
for (const NativeMethod& method : native_class.methods) {
|
|
117
|
+
const std::string name = pushy::text::Reveal(method.name);
|
|
118
|
+
const std::string signature = pushy::text::Reveal(method.signature);
|
|
119
|
+
const JNINativeMethod entry = {
|
|
120
|
+
const_cast<char*>(name.c_str()),
|
|
121
|
+
const_cast<char*>(signature.c_str()),
|
|
122
|
+
method.function,
|
|
123
|
+
};
|
|
124
|
+
if (env->RegisterNatives(clazz, &entry, 1) != JNI_OK) {
|
|
125
|
+
env->ExceptionClear();
|
|
126
|
+
PUSHY_JNI_LOGE("JNI binding: %s.%s%s could not be registered",
|
|
127
|
+
class_name.c_str(), name.c_str(), signature.c_str());
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
env->DeleteLocalRef(clazz);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
} // namespace
|
|
135
|
+
|
|
136
|
+
extern "C" JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
137
|
+
JNIEnv* env = nullptr;
|
|
138
|
+
if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
|
|
139
|
+
return JNI_ERR;
|
|
140
|
+
}
|
|
141
|
+
RegisterAll(env);
|
|
142
|
+
// Result classes and their field IDs are resolved once here; a failure is
|
|
143
|
+
// logged inside and makes the affected natives throw instead of guessing.
|
|
144
|
+
pushy::jni_natives::InitResultClassCache(env);
|
|
145
|
+
return JNI_VERSION_1_6;
|
|
146
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <jni.h>
|
|
4
|
+
|
|
5
|
+
#include <cstdint>
|
|
6
|
+
#include <exception>
|
|
7
|
+
#include <limits>
|
|
8
|
+
#include <string>
|
|
9
|
+
#include <utility>
|
|
10
|
+
#include <vector>
|
|
11
|
+
|
|
12
|
+
// Small JNI helpers shared by every Android glue translation unit
|
|
13
|
+
// (update_core_android.cpp and update_flow_jni.cpp). Header-only with inline
|
|
14
|
+
// linkage so each can include it without a separate compilation unit.
|
|
15
|
+
|
|
16
|
+
namespace pushy {
|
|
17
|
+
namespace jni_util {
|
|
18
|
+
|
|
19
|
+
inline std::string JStringToString(JNIEnv* env, jstring value) {
|
|
20
|
+
if (value == nullptr) {
|
|
21
|
+
return std::string();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const char* chars = env->GetStringUTFChars(value, nullptr);
|
|
25
|
+
if (chars == nullptr) {
|
|
26
|
+
return std::string();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
std::string result(chars);
|
|
30
|
+
env->ReleaseStringUTFChars(value, chars);
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Standard UTF-8 -> Java string. NewStringUTF expects JNI's *modified* UTF-8
|
|
35
|
+
// and corrupts supplementary code points (4-byte sequences, e.g. emoji), so
|
|
36
|
+
// decode explicitly and pass UTF-16 code units to NewString. Encoded
|
|
37
|
+
// surrogate code points are accepted too: strings that originated in Java may
|
|
38
|
+
// have entered through modified UTF-8 (JStringToString). Invalid bytes become
|
|
39
|
+
// U+FFFD. Returns nullptr when the result would not fit a jsize.
|
|
40
|
+
inline jstring ToJString(JNIEnv* env, const std::string& value) {
|
|
41
|
+
std::vector<jchar> utf16;
|
|
42
|
+
utf16.reserve(value.size());
|
|
43
|
+
size_t i = 0;
|
|
44
|
+
while (i < value.size()) {
|
|
45
|
+
const unsigned char first = static_cast<unsigned char>(value[i]);
|
|
46
|
+
uint32_t codePoint = 0xfffd;
|
|
47
|
+
size_t width = 1;
|
|
48
|
+
if (first < 0x80) {
|
|
49
|
+
codePoint = first;
|
|
50
|
+
} else if (first >= 0xc2 && first <= 0xdf && i + 1 < value.size()) {
|
|
51
|
+
const unsigned char b1 = static_cast<unsigned char>(value[i + 1]);
|
|
52
|
+
if ((b1 & 0xc0) == 0x80) {
|
|
53
|
+
codePoint = ((first & 0x1f) << 6) | (b1 & 0x3f);
|
|
54
|
+
width = 2;
|
|
55
|
+
}
|
|
56
|
+
} else if (first == 0xc0 && i + 1 < value.size() &&
|
|
57
|
+
static_cast<unsigned char>(value[i + 1]) == 0x80) {
|
|
58
|
+
codePoint = 0; // modified UTF-8 encoding of U+0000
|
|
59
|
+
width = 2;
|
|
60
|
+
} else if (first >= 0xe0 && first <= 0xef && i + 2 < value.size()) {
|
|
61
|
+
const unsigned char b1 = static_cast<unsigned char>(value[i + 1]);
|
|
62
|
+
const unsigned char b2 = static_cast<unsigned char>(value[i + 2]);
|
|
63
|
+
if ((b1 & 0xc0) == 0x80 && (b2 & 0xc0) == 0x80 &&
|
|
64
|
+
!(first == 0xe0 && b1 < 0xa0)) {
|
|
65
|
+
codePoint = ((first & 0x0f) << 12) | ((b1 & 0x3f) << 6) |
|
|
66
|
+
(b2 & 0x3f);
|
|
67
|
+
width = 3;
|
|
68
|
+
}
|
|
69
|
+
} else if (first >= 0xf0 && first <= 0xf4 && i + 3 < value.size()) {
|
|
70
|
+
const unsigned char b1 = static_cast<unsigned char>(value[i + 1]);
|
|
71
|
+
const unsigned char b2 = static_cast<unsigned char>(value[i + 2]);
|
|
72
|
+
const unsigned char b3 = static_cast<unsigned char>(value[i + 3]);
|
|
73
|
+
if ((b1 & 0xc0) == 0x80 && (b2 & 0xc0) == 0x80 &&
|
|
74
|
+
(b3 & 0xc0) == 0x80 && !(first == 0xf0 && b1 < 0x90) &&
|
|
75
|
+
!(first == 0xf4 && b1 > 0x8f)) {
|
|
76
|
+
codePoint = ((first & 0x07) << 18) | ((b1 & 0x3f) << 12) |
|
|
77
|
+
((b2 & 0x3f) << 6) | (b3 & 0x3f);
|
|
78
|
+
width = 4;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
i += width;
|
|
82
|
+
if (codePoint <= 0xffff) {
|
|
83
|
+
utf16.push_back(static_cast<jchar>(codePoint));
|
|
84
|
+
} else {
|
|
85
|
+
codePoint -= 0x10000;
|
|
86
|
+
utf16.push_back(static_cast<jchar>(0xd800 + (codePoint >> 10)));
|
|
87
|
+
utf16.push_back(static_cast<jchar>(0xdc00 + (codePoint & 0x3ff)));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (utf16.size() > static_cast<size_t>(std::numeric_limits<jsize>::max())) {
|
|
91
|
+
return nullptr;
|
|
92
|
+
}
|
|
93
|
+
return env->NewString(utf16.empty() ? nullptr : utf16.data(),
|
|
94
|
+
static_cast<jsize>(utf16.size()));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
inline std::vector<std::string> JArrayToVector(
|
|
98
|
+
JNIEnv* env,
|
|
99
|
+
jobjectArray values) {
|
|
100
|
+
std::vector<std::string> result;
|
|
101
|
+
if (values == nullptr) {
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const jsize size = env->GetArrayLength(values);
|
|
106
|
+
result.reserve(static_cast<size_t>(size));
|
|
107
|
+
for (jsize index = 0; index < size; ++index) {
|
|
108
|
+
auto* item = static_cast<jstring>(env->GetObjectArrayElement(values, index));
|
|
109
|
+
result.push_back(JStringToString(env, item));
|
|
110
|
+
env->DeleteLocalRef(item);
|
|
111
|
+
}
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
inline void ThrowRuntimeException(JNIEnv* env, const char* message) {
|
|
116
|
+
jclass exception = env->FindClass("java/lang/RuntimeException");
|
|
117
|
+
if (exception != nullptr) {
|
|
118
|
+
env->ThrowNew(exception, message);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
inline void ThrowRuntimeException(JNIEnv* env, const std::string& message) {
|
|
123
|
+
ThrowRuntimeException(env, message.c_str());
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// The bytes of a Java byte[] as-is (an empty string for null).
|
|
127
|
+
inline std::string JByteArrayToString(JNIEnv* env, jbyteArray values) {
|
|
128
|
+
if (values == nullptr) {
|
|
129
|
+
return std::string();
|
|
130
|
+
}
|
|
131
|
+
const jsize size = env->GetArrayLength(values);
|
|
132
|
+
std::string result(static_cast<size_t>(size), '\0');
|
|
133
|
+
if (size > 0) {
|
|
134
|
+
env->GetByteArrayRegion(values, 0, size,
|
|
135
|
+
reinterpret_cast<jbyte*>(&result[0]));
|
|
136
|
+
}
|
|
137
|
+
return result;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Runs a native method body so no C++ exception (bad_alloc/length_error from
|
|
141
|
+
// input-proportional STL allocations) ever unwinds through the JNI boundary:
|
|
142
|
+
// it becomes a Java RuntimeException like every other failure of the entry
|
|
143
|
+
// point, carrying `fallback_message` when the exception has no message of its
|
|
144
|
+
// own. Returns a value-initialized Result (nullptr / void) in that case.
|
|
145
|
+
template <typename Body>
|
|
146
|
+
auto GuardJni(JNIEnv* env, const char* fallback_message, Body&& body)
|
|
147
|
+
-> decltype(body()) {
|
|
148
|
+
using Result = decltype(body());
|
|
149
|
+
try {
|
|
150
|
+
return std::forward<Body>(body)();
|
|
151
|
+
} catch (const std::exception& error) {
|
|
152
|
+
ThrowRuntimeException(env, error.what());
|
|
153
|
+
} catch (...) {
|
|
154
|
+
ThrowRuntimeException(env, fallback_message);
|
|
155
|
+
}
|
|
156
|
+
return Result();
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
} // namespace jni_util
|
|
160
|
+
} // namespace pushy
|