diff --git a/interfaces/inner_api/file_access/BUILD.gn b/interfaces/inner_api/file_access/BUILD.gn index 4cb4a40e59650e7cb40c6b8eac2ed91371fd047e..6ea6a1fc5404c3bc4052ba46349311295feac25d 100644 --- a/interfaces/inner_api/file_access/BUILD.gn +++ b/interfaces/inner_api/file_access/BUILD.gn @@ -87,6 +87,7 @@ ohos_shared_library("file_access_extension_ability_kit") { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", + "c_utils:utilsbase", "file_api:filemgmt_libn", "hilog:libhilog", "hitrace:hitrace_meter", diff --git a/interfaces/inner_api/file_access/src/file_access_ext_proxy.cpp b/interfaces/inner_api/file_access/src/file_access_ext_proxy.cpp index d6efb18056a6690efc2bd177654f36846ca7da85..09273855d87f2024821b26a5ebe5201b5b278a13 100644 --- a/interfaces/inner_api/file_access/src/file_access_ext_proxy.cpp +++ b/interfaces/inner_api/file_access/src/file_access_ext_proxy.cpp @@ -572,8 +572,8 @@ static int ReadFileFilterResults(MessageParcel &reply, SharedMemoryInfo &memInfo return ERR_OK; } -int FileAccessExtProxy::ListFile(const FileInfo &fileInfo, const int64_t offset, const FileFilter &filter, - SharedMemoryInfo &memInfo) +int FileAccessExtProxy::ListFile(const FileInfo &fileInfo, const int64_t offset, + const FileFilter &filter, SharedMemoryInfo &memInfo) { UserAccessTracer trace; trace.Start("ListFile"); @@ -700,12 +700,12 @@ int FileAccessExtProxy::Query(const Uri &uri, std::vector &columns, HILOG_ERROR("fail to WriteParcelable sourceFile"); return E_IPCS; } - int64_t count = columns.size(); + size_t count = columns.size(); if (!data.WriteInt64(count)) { HILOG_ERROR("Parameter Query fail to WriteInt64 count"); return E_IPCS; } - if (static_cast(count) > FILE_RESULT_TYPE.size()) { + if (count > FILE_RESULT_TYPE.size()) { HILOG_ERROR(" The number of query operations exceeds %{public}zu ", FILE_RESULT_TYPE.size()); return EINVAL; } diff --git a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/Common.ts b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/Common.ts index d8e2c59d44fb123d3c80939b2e5c77590cc9e190..6c9ef15da0dc859195bcb17a5c79e015f746d374 100644 --- a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/Common.ts +++ b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/Common.ts @@ -128,7 +128,7 @@ function encodePathOfUri(uri): string { } return uri; } - + function decodeUri(uri): string { try { uri = decodeURIComponent(uri); diff --git a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts index 00e2a0399d4c2bde64aa0c41d9751b1b1c8d18f9..0a5283064047df1bc3d1d391faff099483092074 100644 --- a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts +++ b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts @@ -769,6 +769,7 @@ export default class FileExtAbility extends Extension { deviceType: deviceType.DEVICE_SHARED_TERMINAL, deviceFlags: deviceFlag.SUPPORTS_READ | deviceFlag.SUPPORTS_WRITE, }; + hilog.info(DOMAIN_CODE, TAG, `df count: ${hmdfsInfo.length}`); hmdfsInfoList.push(hmdfsInfo); } return hmdfsInfoList; @@ -806,7 +807,7 @@ export default class FileExtAbility extends Extension { volumeInfoList.push(volumeInfo); } roots = roots.concat(volumeInfoList); - + hilog.info(DOMAIN_CODE, TAG, `External file count: ${volumeInfoList.length}`); try { roots = roots.concat(getHmdfsPath()); } catch (e) { diff --git a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/ListScanFileInfo.ts b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/ListScanFileInfo.ts index b7c5e7d0f854468ea2639e00b79bf263c8883b31..03db99f845d2660f4430ac1db8012f9a02b01927 100644 --- a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/ListScanFileInfo.ts +++ b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/ListScanFileInfo.ts @@ -23,6 +23,7 @@ const documentFlag = fileExtensionInfo.DocumentFlag; const ERR_OK = 0; const E_GETRESULT = 14300004; const APP_DATA = 'appdata'; +const BACKUP_DIR = '.backup'; const CURRENT_USER_PATH = '/storage/Users/currentUser'; function hasFilter(filter: Filter) : boolean { @@ -152,8 +153,8 @@ function getListFileInfos(sourceFileUri: string, offset: number, count: number, if (i === listNum) { break; } - if (path === CURRENT_USER_PATH && fileNameList[i] === APP_DATA) { - hilog.info(DOMAIN_CODE, TAG, `filter appdata doc`); + if (path === CURRENT_USER_PATH && (fileNameList[i] === APP_DATA || fileNameList[i] === BACKUP_DIR)) { + hilog.info(DOMAIN_CODE, TAG, `filter appdata doc or backup dir`); continue; } let mode = documentFlag.SUPPORTS_READ | documentFlag.SUPPORTS_WRITE;