From ee2385c838f02d7ac9a18b1a306f90e9ba2d81aa Mon Sep 17 00:00:00 2001 From: liyuke Date: Thu, 24 Jul 2025 18:47:08 +0800 Subject: [PATCH] =?UTF-8?q?copy=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liyuke Change-Id: Ib310b6bcdcbf432d0c8d16164861399a895e0d50 --- .../copy_listener/ani/progress_listener_ani.cpp | 17 ++++++++++------- .../copy_listener/ani/progress_listener_ani.h | 3 --- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/interfaces/kits/js/src/mod_fs/properties/copy_listener/ani/progress_listener_ani.cpp b/interfaces/kits/js/src/mod_fs/properties/copy_listener/ani/progress_listener_ani.cpp index 58be19337..f9b15b0db 100644 --- a/interfaces/kits/js/src/mod_fs/properties/copy_listener/ani/progress_listener_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/copy_listener/ani/progress_listener_ani.cpp @@ -26,12 +26,6 @@ namespace OHOS::FileManagement::ModuleFileIO::ANI { using namespace std; using namespace OHOS::FileManagement::ModuleFileIO::ANI::AniSignature; -void ProgressListenerAni::InvokeListener(uint64_t progressSize, uint64_t totalSize) const -{ - auto task = [this, progressSize, totalSize]() { SendCopyProgress(progressSize, totalSize); }; - AniHelper::SendEventToMainThread(task); -} - static ani_object WrapCopyProgress(ani_env *env, uint64_t progressSize, uint64_t totalSize) { auto classDesc = FS::ProgressInner::classDesc.c_str(); @@ -59,7 +53,7 @@ static ani_object WrapCopyProgress(ani_env *env, uint64_t progressSize, uint64_t return obj; } -void ProgressListenerAni::SendCopyProgress(uint64_t progressSize, uint64_t totalSize) const +static void SendCopyProgress(ani_vm *vm, ani_ref listener, uint64_t progressSize, uint64_t totalSize) { if (vm == nullptr) { HILOGE("Cannot send copy progress because the vm is null."); @@ -90,4 +84,13 @@ void ProgressListenerAni::SendCopyProgress(uint64_t progressSize, uint64_t total } } +void ProgressListenerAni::InvokeListener(uint64_t progressSize, uint64_t totalSize) const +{ + auto localVm = vm; + auto localListener = listener; + auto task = [localVm, localListener, progressSize, totalSize]() { + SendCopyProgress(localVm, localListener, progressSize, totalSize); + }; + AniHelper::SendEventToMainThread(task); +} } // namespace OHOS::FileManagement::ModuleFileIO::ANI diff --git a/interfaces/kits/js/src/mod_fs/properties/copy_listener/ani/progress_listener_ani.h b/interfaces/kits/js/src/mod_fs/properties/copy_listener/ani/progress_listener_ani.h index 07894982a..ccff55493 100644 --- a/interfaces/kits/js/src/mod_fs/properties/copy_listener/ani/progress_listener_ani.h +++ b/interfaces/kits/js/src/mod_fs/properties/copy_listener/ani/progress_listener_ani.h @@ -27,9 +27,6 @@ public: ProgressListenerAni(ani_vm *vm, const ani_ref &listener) : vm(vm), listener(listener) {} void InvokeListener(uint64_t progressSize, uint64_t totalSize) const override; -private: - void SendCopyProgress(uint64_t progressSize, uint64_t totalSize) const; - private: ani_vm *vm; ani_ref listener; -- Gitee