From 10a646f5debb0314007aaf5ef5d2a9a091c17f36 Mon Sep 17 00:00:00 2001 From: shuzhouhao Date: Fri, 24 Jun 2022 11:46:52 +0800 Subject: [PATCH 1/2] add kill self Signed-off-by: shuzhouhao --- .../FileExtensionAbility.ts | 23 +++++-------------- .../ets/FileExtensionAbility/VolumeManager.ts | 2 +- .../entry/src/main/module.json | 5 ++++ 3 files changed, 12 insertions(+), 18 deletions(-) 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 79678aff..fb6ab019 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 @@ -18,30 +18,19 @@ import hilog from '@ohos.hilog' import { init, addVolumeInfo, delVolumeInfo, path2uri, getVolumeInfoList } from './VolumeManager' import { onReceiveEvent } from './Subcriber' import fileExtensionInfo from "@ohos.fileExtensionInfo" +import appManager from '@ohos.application.appManager'; const FLAG = fileExtensionInfo.FLAG; +const BUNDLE_NAME = 'com.ohos.UserFile.ExternalFileManager'; export default class FileExtAbility extends Extension { onCreate(want) { init(); onReceiveEvent(function (data) { - let parameters = data.parameters; - let flag = FLAG.SUPPORTS_WRITE | FLAG.SUPPORTS_DELETE | FLAG.SUPPORTS_RENAME | FLAG.SUPPORTS_COPY - | FLAG.SUPPORTS_MOVE | FLAG.SUPPORTS_REMOVE | FLAG.DIR_SUPPORTS_CREATE | FLAG.DIR_PREFERS_LAST_MODIFIED; if (data.event == 'usual.event.data.VOLUME_MOUNTED') { - let volumeInfo = { - 'volumeId': parameters.id, - 'fsUuid': parameters.fsUuid, - 'path': parameters.path, - 'uri': path2uri(parameters.id, parameters.path), - 'flags': flag, - 'deviceId': '', - 'displayName': parameters.id, - 'type': 'SD' - } - addVolumeInfo(volumeInfo); + appManager.killProcessesByBundleName(BUNDLE_NAME); } else { - delVolumeInfo(parameters.id); + delVolumeInfo(data.parameters.id); } }); } @@ -226,7 +215,7 @@ export default class FileExtAbility extends Extension { return { uri: sourceFileUri, fileName: this.getFileName(sourceFileUri), - mode: stat.mode, + mode: '' + stat.mode, size: stat.size, mtime: stat.mtime, mimiType: '', @@ -251,7 +240,7 @@ export default class FileExtAbility extends Extension { infos.push({ uri: this.genNewFileUri(sourceFileUri, dirent.name), fileName: dirent.name, - mode: stat.mode, + mode: '' + stat.mode, size: stat.size, mtime: stat.mtime, mimiType: '', diff --git a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts index 10100910..ceb9be10 100644 --- a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts +++ b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts @@ -52,7 +52,7 @@ function addVolumeInfo(volumeInfo) { } function path2uri(id, path) { - return `fileAccess://${id}/${path}`; + return `fileAccess://${id}${path}`; } function delVolumeInfo(volumeId) { diff --git a/services/file_extension_hap/entry/src/main/module.json b/services/file_extension_hap/entry/src/main/module.json index 20916b6a..16c409b2 100644 --- a/services/file_extension_hap/entry/src/main/module.json +++ b/services/file_extension_hap/entry/src/main/module.json @@ -20,6 +20,11 @@ "type": "fileAccess", "visible": true } + ], + "requestPermissions": [ + { + "name": "ohos.permission.CLEAN_BACKGROUND_PROCESSES" + } ] } } \ No newline at end of file -- Gitee From 782a27fdd829ddaf95828bdc0b14b1653f3981cb Mon Sep 17 00:00:00 2001 From: shuzhouhao Date: Fri, 24 Jun 2022 15:29:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=8D=B7=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: shuzhouhao --- .../FileExtensionAbility.ts | 7 +++---- .../ets/FileExtensionAbility/VolumeManager.ts | 14 +++----------- .../entry/src/main/module.json | 3 +++ services/signature/fileextension.p7b | Bin 3466 -> 3443 bytes 4 files changed, 9 insertions(+), 15 deletions(-) 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 fb6ab019..f5840a71 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 @@ -15,7 +15,7 @@ import Extension from '@ohos.application.FileExtensionAbility' import fileio from '@ohos.fileio' import hilog from '@ohos.hilog' -import { init, addVolumeInfo, delVolumeInfo, path2uri, getVolumeInfoList } from './VolumeManager' +import { init, delVolumeInfo, getVolumeInfoList } from './VolumeManager' import { onReceiveEvent } from './Subcriber' import fileExtensionInfo from "@ohos.fileExtensionInfo" import appManager from '@ohos.application.appManager'; @@ -218,7 +218,7 @@ export default class FileExtAbility extends Extension { mode: '' + stat.mode, size: stat.size, mtime: stat.mtime, - mimiType: '', + mimeType: '', }; } catch (e) { hilog.debug(0x0001, 'jsserver', 'query catch' + e); @@ -227,7 +227,6 @@ export default class FileExtAbility extends Extension { } listFile(sourceFileUri) { - let infos = []; try { let path = this.getPath(sourceFileUri); @@ -243,7 +242,7 @@ export default class FileExtAbility extends Extension { mode: '' + stat.mode, size: stat.size, mtime: stat.mtime, - mimiType: '', + mimeType: '', }); } catch (e) { hilog.debug(0x0001, 'jsserver', 'dir.readSync catch' + e); diff --git a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts index ceb9be10..b127b2f5 100644 --- a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts +++ b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts @@ -24,7 +24,7 @@ const FLAG = fileExtensionInfo.FLAG; function init() { try { volumeManager.getAllVolumes().then((volumes) => { - let flag = FLAG.SUPPORTS_WRITE | FLAG.SUPPORTS_DELETE | FLAG.SUPPORTS_RENAME | FLAG.SUPPORTS_COPY + let flags = FLAG.SUPPORTS_WRITE | FLAG.SUPPORTS_DELETE | FLAG.SUPPORTS_RENAME | FLAG.SUPPORTS_COPY | FLAG.SUPPORTS_MOVE | FLAG.SUPPORTS_REMOVE | FLAG.DIR_SUPPORTS_CREATE | FLAG.DIR_PREFERS_LAST_MODIFIED; for (let i = 0; i < volumes.length; i++) { let volume = volumes[i]; @@ -32,10 +32,10 @@ function init() { 'volumeId': volume.id, 'fsUuid': volume.uuid, 'path': volume.path, - 'uri': path2uri(volume.id, volume.path), + 'uri': path2uri('', volume.path), 'displayName': volume.id, 'deviceId': '', - 'flags': flag, + 'flags': flags, 'type': 'SD' } globalThis.volumeInfoList.push(volumeInfo); @@ -59,16 +59,8 @@ function delVolumeInfo(volumeId) { globalThis.volumeInfoList = globalThis.volumeInfoList.filter((volume) => volume.volumeId !== volumeId); } -function getVolumeInfo(volumeId) { - let volumeInfo = globalThis.volumeInfoList.filter((volume) => volume.volumeId === volumeId); - return volumeInfo; -} - function getVolumeInfoList() { return globalThis.volumeInfoList; } -function notifyChange() { - -} export { init, addVolumeInfo, delVolumeInfo, getVolumeInfoList, path2uri } \ No newline at end of file diff --git a/services/file_extension_hap/entry/src/main/module.json b/services/file_extension_hap/entry/src/main/module.json index 16c409b2..3908c63b 100644 --- a/services/file_extension_hap/entry/src/main/module.json +++ b/services/file_extension_hap/entry/src/main/module.json @@ -24,6 +24,9 @@ "requestPermissions": [ { "name": "ohos.permission.CLEAN_BACKGROUND_PROCESSES" + }, + { + "name": "ohos.permission.STORAGE_MANAGER" } ] } diff --git a/services/signature/fileextension.p7b b/services/signature/fileextension.p7b index ddb74239918c96a341ee6dc7d118aba46355e5d0..66b4457a8a81fb8d3356cf46d67226c850944858 100644 GIT binary patch delta 314 zcmeB@{w!5*(8Qb1#;Mij(e|B}k)3Hl6K?`gD29oV(U8}Gn~gJ}&4V$OnT3hbpox_q zp^$Mw6DtEt6U(1!rLxqb;>`R!-Q@g~R3$4z9k@VVVlGfX$xzQg&p=5>skAgR1;{lu zFfvcFv`p1CO#>1e>wQ?biz|yuQgh>z^NUg^Uu032R+y$I0hDt07eFai_TvFAdezr<$v|DDVK0Ey0EYL^n;ga+(1<615&oJO( z;{f{YoGlA86N`s|8)b;O$SXX&(onNi8obllEhO^rqvajI-0CiAlOaK4? delta 344 zcmew?)g@hT(8Sxu#;Mij(e|B}k)3Hl6K^?CsF;b7(U8}Gn~gJ}&4V$OnT3hbpovu- zp^$Mw6RQME6RSwIQdw$Iab|v=ZgPG~s*;tF4qPBFF&8MHWTa=HXP~5`R9c#u0_2(+ z7?~$oTBhonrU8kK^*$_YdHF@Ti8+(6u_#L=Cg&6@Syd|~=H%p;r>5va_|ZyAv75iK zSg~_C8Z-sj)6T_-I_y zoNm*%uN&RIufA|#p|=MUBX5W5saV$@CIz;$@u_P~&aYoK?}heR)@s37jqyts@6c8* N(a}7%`-_6!OaLxdaQFZK -- Gitee