diff --git a/ability/ability_runtime/BUILD.gn b/ability/ability_runtime/BUILD.gn index c8633d0d8ae82d3579431091275776f9b1fac2bd..25968a619e4578a952472090b2e5f721596cead2 100644 --- a/ability/ability_runtime/BUILD.gn +++ b/ability/ability_runtime/BUILD.gn @@ -10,7 +10,9 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + import("//build/ohos_var.gni") + group("ability_runtime") { testonly = true if (is_standard_system) { diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeOneReply/entry/src/main/ets/entryability/EntryAbility.ts b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeOneReply/entry/src/main/ets/entryability/EntryAbility.ts index ab29c8d0e4f3856029ae0efe04fb35965c9daf63..71fca49a16b0e1075bc89780af3ed57c28cc9e96 100644 --- a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeOneReply/entry/src/main/ets/entryability/EntryAbility.ts +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeOneReply/entry/src/main/ets/entryability/EntryAbility.ts @@ -69,6 +69,10 @@ export default class EntryAbility extends Ability { globalThis.abilityContext = this.context globalThis.want = want globalThis.applicationContext = this.context.getApplicationContext(); + if (globalThis.want.action == 'RegisterOnOffOn') { + globalThis.applicationContext.on('applicationStateChange', ApplicationStateChangeCallbackFir) + globalThis.applicationContext.off('applicationStateChange', ApplicationStateChangeCallbackFir) + } globalThis.applicationContext.on('applicationStateChange', ApplicationStateChangeCallbackFir) if (globalThis.want.action == 'doubleRegister' || globalThis.want.action == 'doubleNeedBackGroundOff' || globalThis.want.action == 'DoubleRegisterOff') { diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/AppScope/app.json b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/AppScope/app.json new file mode 100644 index 0000000000000000000000000000000000000000..11026896c3a086ba0261051e3fd2ff338eb05016 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/AppScope/app.json @@ -0,0 +1,19 @@ +{ + "app": { + "bundleName": "com.example.applicationstatechangethreereply", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name", + "distributedNotificationEnabled": true, + "keepAlive" : true, + "singleUser": true, + "minAPIVersion": 10, + "targetAPIVersion": 10, + "car": { + "apiCompatibleVersion": 10, + "singleUser": false + } + } +} diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/AppScope/resources/base/element/string.json b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/AppScope/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..ed62247d7712519262bc6d406f2aa51bd27b818c --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "ApplicationStateChangeThreeReply" + } + ] +} diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/AppScope/resources/base/media/app_icon.png b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/AppScope/resources/base/media/app_icon.png differ diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/BUILD.gn b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..b94d433c9e6becbe8048de85850d79aea28bd387 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/BUILD.gn @@ -0,0 +1,43 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//test/xts/tools/build/suite.gni") + +ohos_hap_assist_suite("ApplicationStateChangeThreeReply") { + hap_profile = "entry/src/main/module.json" + js_build_mode = "debug" + deps = [ + ":applicationstatechangethreereply_js_assets", + ":applicationstatechangethreereply_resources", + ] + ets2abc = true + certificate_profile = "signature/openharmony_sx.p7b" + hap_name = "ApplicationStateChangeThreeReply" + subsystem_name = "ability" + part_name = "ability_runtime" +} + +ohos_app_scope("applicationstatechangethreereply_app_profile") { + app_profile = "AppScope/app.json" + sources = [ "AppScope/resources" ] +} + +ohos_js_assets("applicationstatechangethreereply_js_assets") { + source_dir = "entry/src/main/ets" +} + +ohos_resources("applicationstatechangethreereply_resources") { + sources = [ "entry/src/main/resources" ] + deps = [ ":applicationstatechangethreereply_app_profile" ] + hap_profile = "entry/src/main/module.json" +} diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/entryability/EntryAbility.ts b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/entryability/EntryAbility.ts new file mode 100644 index 0000000000000000000000000000000000000000..03d35478676083aeea98d8c34e39f0977ff4a8c6 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/entryability/EntryAbility.ts @@ -0,0 +1,92 @@ +import hilog from '@ohos.hilog'; +import Ability from '@ohos.app.ability.UIAbility' +import Window from '@ohos.window' +import commonEvent from '@ohos.commonEvent' + + +let TAG = 'getRunningProcess' +let commonStateArr +let commonEventData = { + parameters:{ + commonStateArr: commonStateArr + } +} +let ApplicationStateChangeCallbackFir = { + onApplicationForeground() { + console.log(TAG,'ApplicationStateChangeCallbackFir onApplicationForeground') + }, + onApplicationBackground() { + console.log(TAG,'ApplicationStateChangeCallbackFir onApplicationBackground') + setTimeout(() => { + console.info('Enter onApplicationForeground publish!') + commonEventData.parameters.commonStateArr = 1 + commonEvent.publish('processState',commonEventData, (err) => { + console.info("====>processState publish err: " + JSON.stringify(err)) + }) + },1000) + } +} +let ForegroundTAG = -1 +export default class EntryAbility extends Ability { + onCreate(want, launchParam) { + ForegroundTAG = -1 + commonEventData.parameters.commonStateArr = -1 + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); + hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? ''); + globalThis.abilityContext1 = this.context + globalThis.want1 = want + globalThis.applicationContext1 = this.context.getApplicationContext(); + globalThis.applicationContext1.on('applicationStateChange', ApplicationStateChangeCallbackFir) + + } + + onDestroy() { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: Window.WindowStage) { + // Main window is created, set main page for this ability + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err, data) => { + if (err.code) { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.ERROR); + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy() { + // Main window is destroyed, release UI related resources + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground() { + // Ability has brought to foreground + ForegroundTAG++ + if(ForegroundTAG == 1) { + setTimeout(() => { + commonEvent.publish('processState',commonEventData, (err) => { + console.info("====>processState publish err: " + JSON.stringify(err)) + }) + },3000) + + } + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground() { + // Ability has back to background + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/entryability1/EntryAbility1.ts b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/entryability1/EntryAbility1.ts new file mode 100644 index 0000000000000000000000000000000000000000..f82279d45475e45b76efea3b74a52cc64ebb2e3c --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/entryability1/EntryAbility1.ts @@ -0,0 +1,59 @@ +import hilog from '@ohos.hilog'; +import Ability from '@ohos.app.ability.UIAbility' +import Window from '@ohos.window' + +export default class EntryAbility1 extends Ability { + onCreate(want, launchParam) { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); + hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? ''); + globalThis.abilityContext2 = this.context + globalThis.want2 = want + globalThis.applicationContext2 = this.context.getApplicationContext(); + } + + onDestroy() { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: Window.WindowStage) { + // Main window is created, set main page for this ability + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err, data) => { + if (err.code) { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.ERROR); + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy() { + // Main window is destroyed, release UI related resources + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground() { + // Ability has brought to foreground + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + setTimeout(() => { + globalThis.abilityContext2.terminateSelf((err) => { + console.log('terminateSelf result:' + JSON.stringify(err)); + }) + },3000) + } + + onBackground() { + // Ability has back to background + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/pages/Index.ets b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/pages/Index.ets new file mode 100644 index 0000000000000000000000000000000000000000..d6ca48cf43988cd6f270a026f0c1a88b7bc57123 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,17 @@ +@Entry +@Component +struct Index { + @State message: string = 'Hello World' + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/pages/Index1.ets b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/pages/Index1.ets new file mode 100644 index 0000000000000000000000000000000000000000..bced76d2d7deb1d13d9d16da36a6865b3b2173de --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/ets/pages/Index1.ets @@ -0,0 +1,17 @@ +@Entry +@Component +struct Index1 { + @State message: string = 'Hello World' + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/module.json b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/module.json new file mode 100644 index 0000000000000000000000000000000000000000..68978ce749059ecd4ee82bdcbeb4f3b0676155d3 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/module.json @@ -0,0 +1,47 @@ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntrance": "./ets/entryability/EntryAbility.ts", + "description": "$string:EntryAbility_desc", + "icon": "$media:icon", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "visible": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + }, + { + "name": "EntryAbility1", + "srcEntrance": "./ets/entryability1/EntryAbility1.ts", + "description": "$string:EntryAbility1_desc", + "icon": "$media:icon", + "label": "$string:EntryAbility1_label", + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "visible": true + } + ] + } +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/element/color.json b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/element/color.json new file mode 100644 index 0000000000000000000000000000000000000000..d66f9a7d4ac61fb8d215239ab3620b7bcd77bf33 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/element/string.json b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..922f8b0c516fdb4c0925dc146a51c12dffe426a7 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/element/string.json @@ -0,0 +1,24 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + }, + { + "name": "EntryAbility1_desc", + "value": "description" + }, + { + "name": "EntryAbility1_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/media/icon.png b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/media/icon.png differ diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/profile/main_pages.json b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 0000000000000000000000000000000000000000..097c1e806d73c7aba1ef9ed4cc12d53e266d4d2b --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,6 @@ +{ + "src": [ + "pages/Index", + "pages/Index1" + ] +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/en_US/element/string.json b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..922f8b0c516fdb4c0925dc146a51c12dffe426a7 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,24 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + }, + { + "name": "EntryAbility1_desc", + "value": "description" + }, + { + "name": "EntryAbility1_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/zh_CN/element/string.json b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..38ffb2c06734f8b88e3f1a728ec8735879759c6e --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,24 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "模块描述" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + }, + { + "name": "EntryAbility1_desc", + "value": "description" + }, + { + "name": "EntryAbility1_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/signature/openharmony_sx.p7b b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..2185a3d683ff2587937d945bc20ed5f515d0a432 Binary files /dev/null and b/ability/ability_runtime/getrunningprocessinformation/ApplicationStateChangeThreeReply/signature/openharmony_sx.p7b differ diff --git a/ability/ability_runtime/getrunningprocessinformation/BUILD.gn b/ability/ability_runtime/getrunningprocessinformation/BUILD.gn index 9de09b041a7d2f1196415c8355c2c692a5181df7..ca23004fb9f4a43539aa6fb6981054473bbf3bf4 100644 --- a/ability/ability_runtime/getrunningprocessinformation/BUILD.gn +++ b/ability/ability_runtime/getrunningprocessinformation/BUILD.gn @@ -18,9 +18,11 @@ group("getrunningprocessinformation") { if (is_standard_system) { deps = [ "ApplicationStateChangeOneReply:ApplicationStateChangeOneReply", + "ApplicationStateChangeThreeReply:ApplicationStateChangeThreeReply", "ApplicationStateChangeTwoReply:ApplicationStateChangeTwoReply", "GetRunningProcessInformationOneReply:GetRunningProcessInformationOneReply", "GetRunningProcessInformationTest:GetRunningProcessInformationTest", + "GetRunningProcessInformationTwoReply:GetRunningProcessInformationTwoReply", ] } } diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationOneReply/entry/src/main/ets/entryability/EntryAbility.ts b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationOneReply/entry/src/main/ets/entryability/EntryAbility.ts index 28db0f3d271f700823b48c798f488f3a86b10735..1648f86e91d08a51bfa2a08f0f96b3c9681a8f24 100644 --- a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationOneReply/entry/src/main/ets/entryability/EntryAbility.ts +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationOneReply/entry/src/main/ets/entryability/EntryAbility.ts @@ -2,17 +2,71 @@ import hilog from '@ohos.hilog'; import Ability from '@ohos.app.ability.UIAbility' import Window from '@ohos.window' import commonEvent from '@ohos.commonEvent' +import AbilityConstant from '@ohos.app.ability.AbilityConstant' -let commonStateArr: number[] = [2,2,2,3,3,3] +let sequence = 0; +let TAG = 'GetRunningProcessInformation' +let commonStateArr: number[] = [-1,-1,-1,-1] let commonEventData={ parameters:{ - "commonStateArr": commonStateArr + commonStateArr: commonStateArr } } -let TAG = 'Runningprocessinformation' +globalThis.StartFloatingAbility = () => { + let want = { + "deviceId": "", + "bundleName": "com.example.getrunningprocessinformationtworeply", // + "abilityName": "EntryAbility" + }; + let options = { + windowMode: AbilityConstant.WindowMode.WINDOW_MODE_FLOATING, + }; + globalThis.abilityContext.startAbility(want, options, (error) => { + console.log(TAG,"start floating ability error.code = " + error.code) + }) +} + +globalThis.StartNormalAbility = () => { + let want = { + "deviceId": "", + "bundleName": "com.example.getrunningprocessinformationtworeply", // + "abilityName": "EntryAbility" + }; + globalThis.abilityContext.startAbility(want, (error) => { + console.log(TAG, "start normal ability error.code = " + error.code) + }) +} + +globalThis.GetRunningProcessInfoCallback = () => { + globalThis.applicationContext.getRunningProcessInformation((err,data) => { + if (err) { + console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); + } + else { + console.log(TAG,'Oncreate Callback State: ' + JSON.stringify(data[0].state)); + commonStateArr[sequence++] = data[0].state + } + }) +} + +globalThis.GetRunningProcessInfoPromise = () => { + globalThis.applicationContext.getRunningProcessInformation().then((data) => { + console.log(TAG,'Oncreate Promise State: ' + JSON.stringify(data[0].state)); + commonStateArr[sequence++] = data[0].state + }).catch((err) => { + console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); + }); +} + +globalThis.PublishStateArray = () => { + commonEvent.publish('processState',commonEventData, (err) => { + console.info("====>processState publish err: " + JSON.stringify(err)) + }) +} export default class EntryAbility extends Ability { onCreate(want, launchParam) { + sequence = 0 hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); @@ -22,83 +76,17 @@ export default class EntryAbility extends Ability { globalThis.abilityContext = this.context globalThis.applicationContext = this.context.getApplicationContext(); - if (globalThis.want.action == 'Callback') { - globalThis.applicationContext.getRunningProcessInformation((err,data) => { - if (err) { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - } - else { - console.log(TAG,'Oncreate Callback State: ' + JSON.stringify(data[0].state)); - commonStateArr[0] = data[0].state - } - }) - } - else if (globalThis.want.action == 'Promise') { - globalThis.applicationContext.getRunningProcessInformation().then((data) => { - console.log(TAG,'Oncreate Promise State: ' + JSON.stringify(data[0].state)); - commonStateArr[0] = data[0].state - }).catch((err) => { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - }); - } } onDestroy() { hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); - - if (globalThis.want.action == 'Callback') { - globalThis.applicationContext.getRunningProcessInformation((err,data) => { - if (err) { - console.log(TAG,'Ondestroy Callback State: ' + JSON.stringify(err)); - } - else { - console.log(TAG,'Ondestroy Callback State: ' + JSON.stringify(data[0].state)); - commonStateArr[5] = data[0].state - - commonEvent.publish('processState',commonEventData, (err) => { - console.info("====>processState publish err: " + JSON.stringify(err)) - }) - } - }) - } - else if (globalThis.want.action == 'Promise') { - globalThis.applicationContext.getRunningProcessInformation().then((data) => { - console.log(TAG,'Ondestroy Promise State: ' + JSON.stringify(data[0].state)); - commonStateArr[5] = data[0].state - commonEvent.publish('processState',commonEventData, (err) => { - console.info("====>processState publish err: " + JSON.stringify(err)) - }) - }).catch((err) => { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - }); - } } onWindowStageCreate(windowStage: Window.WindowStage) { // Main window is created, set main page for this ability hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); - if (globalThis.want.action == 'Callback') { - globalThis.applicationContext.getRunningProcessInformation((err,data) => { - if (err) { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - } - else { - console.log(TAG,'Onwindowstagecreate Callback State: ' + JSON.stringify(data[0].state)); - commonStateArr[1] = data[0].state - } - }) - } - else if (globalThis.want.action == 'Promise') { - globalThis.applicationContext.getRunningProcessInformation().then((data) => { - console.log(TAG,'Onwindowstagecreate Promise State: ' + JSON.stringify(data[0].state)); - commonStateArr[1] = data[0].state - }).catch((err) => { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - }); - } - windowStage.loadContent('pages/Index', (err, data) => { if (err.code) { hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.ERROR); @@ -110,88 +98,21 @@ export default class EntryAbility extends Ability { }); } - async onWindowStageDestroy() { + onWindowStageDestroy() { // Main window is destroyed, release UI related resources hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); - - if (globalThis.want.action == 'Callback') { - globalThis.applicationContext.getRunningProcessInformation((err,data) => { - if (err) { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - } - else { - console.log(TAG,'Onwindowstagedestroy Callback State: ' + JSON.stringify(data[0].state)); - commonStateArr[4] = data[0].state - } - }) - } - else if (globalThis.want.action == 'Promise') { - await globalThis.applicationContext.getRunningProcessInformation().then((data) => { - console.log(TAG,'Onwindowstagedestroy Promise State: ' + JSON.stringify(data[0].state)); - commonStateArr[2] = data[4].state - }).catch((err) => { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - }); - } } - async onForeground() { + onForeground() { // Ability has brought to foreground hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); - - if (globalThis.want.action == 'Callback') { - globalThis.applicationContext.getRunningProcessInformation((err,data) => { - if (err) { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - } - else { - console.log(TAG,'Onforeground Callback State: ' + JSON.stringify(data[0].state)); - commonStateArr[2] = data[0].state - globalThis.abilityContext.terminateSelf((err) => { - console.log(TAG,'terminateSelf result:' + JSON.stringify(err)); - }); - } - }) - } - else if (globalThis.want.action == 'Promise') { - await globalThis.applicationContext.getRunningProcessInformation().then((data) => { - console.log(TAG,'Onforeground Promise State: ' + JSON.stringify(data[0].state)); - commonStateArr[2] = data[0].state - }).catch((err) => { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - }); - } - await setTimeout(() => { - globalThis.abilityContext.terminateSelf((err) => { - console.log(TAG,'terminateSelf result:' + JSON.stringify(err)); - }); - },4000) } - async onBackground() { + onBackground() { // Ability has back to background hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); - if (globalThis.want.action == 'Callback') { - globalThis.applicationContext.getRunningProcessInformation((err,data) => { - if (err) { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - } - else { - console.log(TAG,'Onbackground Callback State: ' + JSON.stringify(data[0].state)); - commonStateArr[3] = data[0].state - } - }) - } -// else if (globalThis.want.action == 'Promise') { - await globalThis.applicationContext.getRunningProcessInformation().then((data) => { - console.log(TAG,'Onbackground Promise State: ' + JSON.stringify(data[0].state)); - commonStateArr[3] = data[0].state - }).catch((err) => { - console.log(TAG,`getRunningProcessInformation err: ` + JSON.stringify(err)); - }); -// } } } diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationOneReply/entry/src/main/ets/pages/Index.ets b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationOneReply/entry/src/main/ets/pages/Index.ets index d6ca48cf43988cd6f270a026f0c1a88b7bc57123..b3d501ccd30ff325cdf1011ec00d1fc8077b7200 100644 --- a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationOneReply/entry/src/main/ets/pages/Index.ets +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationOneReply/entry/src/main/ets/pages/Index.ets @@ -6,9 +6,104 @@ struct Index { build() { Row() { Column() { - Text(this.message) - .fontSize(50) - .fontWeight(FontWeight.Bold) + Button() { + Text('get BackInfo') + .fontSize(25) + .fontWeight(FontWeight.Bold) + .fontColor('#FFFFFF') + } + .id('Backtest') + .type(ButtonType.Capsule) + .margin({ top: 30 }) + .backgroundColor('#87CEEB') + .width('90%') + .height('6%') + .onClick(() => { + if (globalThis.want.action == 'Callback') { + setTimeout(() => { + globalThis.StartNormalAbility() + },500) + + setTimeout(() => { + globalThis.GetRunningProcessInfoCallback() + },3000) + + setTimeout(() => { + globalThis.PublishStateArray() + },5000) + } + else if (globalThis.want.action == 'Promise') { + setTimeout(() => { + globalThis.StartNormalAbility() + },500) + + setTimeout(() => { + globalThis.GetRunningProcessInfoPromise() + },3000) + + setTimeout(() => { + globalThis.PublishStateArray() + },5000) + } + }) + + Button() { + Text('get unFocusedInfo') + .fontSize(25) + .fontWeight(FontWeight.Bold) + .fontColor('#FFFFFF') + } + .id('unFocusedtest') + .type(ButtonType.Capsule) + .margin({ top: 30 }) + .backgroundColor('#87CEEB') + .width('90%') + .height('6%') + .onClick(() => { + if (globalThis.want.action == 'Callback') { + setTimeout(() => { + globalThis.StartFloatingAbility() + },500) + + setTimeout(() => { + globalThis.GetRunningProcessInfoCallback() + },2500) + } + else if (globalThis.want.action == 'Promise') { + setTimeout(() => { + globalThis.StartFloatingAbility() + },500) + + setTimeout(() => { + globalThis.GetRunningProcessInfoPromise() + },2500) + } + }) + + Button() { + Text('get focusedInfo') + .fontSize(25) + .fontWeight(FontWeight.Bold) + .fontColor('#FFFFFF') + } + .id('Focustest') + .type(ButtonType.Capsule) + .margin({ top: 30 }) + .backgroundColor('#87CEEB') + .width('90%') + .height('6%') + .onClick(() => { + if (globalThis.want.action == 'Callback') { + setTimeout(() => { + globalThis.GetRunningProcessInfoCallback() + },500) + } + else if (globalThis.want.action == 'Promise') { + setTimeout(() => { + globalThis.GetRunningProcessInfoPromise() + },500) + } + }) } .width('100%') } diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTest/Test.json b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTest/Test.json index 5f37b2d59f1af0e5e0b60315679feae569a5c3ae..1486d5f40cf99302473b8bae757dbc3a7afae1f9 100644 --- a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTest/Test.json +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTest/Test.json @@ -6,13 +6,15 @@ "bundle-name": "com.example.getrunningprocessinformationtest", "module-name": "entry_test", "shell-timeout": "600000", - "testcase-timeout": "15000" + "testcase-timeout": "30000" }, "kits": [ { "test-file-name": [ "GetRunningProcessInformationTest.hap", "GetRunningProcessInformationOneReply.hap", + "GetRunningProcessInformationTwoReply.hap", + "ApplicationStateChangeThreeReply.hap", "ApplicationStateChangeOneReply.hap", "ApplicationStateChangeTwoReply.hap" ], diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTest/entry/src/main/ets/test/Ability.test.ets b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTest/entry/src/main/ets/test/Ability.test.ets index d1fdf2c6786a3211121709529198f30fafd8ab3d..fe934c15e06e4089fe8a17b7e7939a599547f7df 100644 --- a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTest/entry/src/main/ets/test/Ability.test.ets +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTest/entry/src/main/ets/test/Ability.test.ets @@ -1,5 +1,6 @@ import hilog from '@ohos.hilog' import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import { Component, Driver, UiWindow, ON, UiDriver } from '@ohos.UiTest' import commonEvent from '@ohos.commonEvent' import appManager from '@ohos.app.ability.appManager' import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' @@ -28,7 +29,9 @@ export default function abilityTest() { abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); let cmd1 = 'aa force-stop com.example.applicationstatechangeonereply' let cmd2 = 'aa force-stop com.example.applicationstatechangetworeply' + let cmd6 = 'aa force-stop com.example.applicationstatechangethreereply' let cmd4 = 'aa force-stop com.example.getrunningprocessinformationonereply' + let cmd5 = 'aa force-stop com.example.getrunningprocessinformationtworeply' let cmd3 = 'hilog -r' await abilityDelegator.executeShellCommand(cmd1, (err : any, data : any) => { console.info("executeShellCommand1 callback"); @@ -42,6 +45,12 @@ export default function abilityTest() { await abilityDelegator.executeShellCommand(cmd4, (err : any, data : any) => { console.info("executeShellCommand3 callback"); }); + await abilityDelegator.executeShellCommand(cmd5, (err : any, data : any) => { + console.info("executeShellCommand3 callback"); + }); + await abilityDelegator.executeShellCommand(cmd6, (err : any, data : any) => { + console.info("executeShellCommand3 callback"); + }); }) afterAll(function () { @@ -49,6 +58,7 @@ export default function abilityTest() { // This API supports only one parameter: clear action function. }) + it('Acts_ApplicationStateChange_0100',0, function (done) { let want = { "deviceId": "", @@ -64,11 +74,11 @@ export default function abilityTest() { } let subscriber function unSubscribeCallback() { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 unSubscribeCallback"); + console.debug("====>Acts_ApplicationStateChange_0100 unSubscribeCallback"); } function subscribeCallBack(err, data) { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 data: " + JSON.stringify(data)); - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 err: " + JSON.stringify(err)); + console.debug("====>Acts_ApplicationStateChange_0100 data: " + JSON.stringify(data)); + console.debug("====>Acts_ApplicationStateChange_0100 err: " + JSON.stringify(err)); if(data.event == "processState") { try{ expect(data.parameters.commonStateArr[0]).assertEqual(1) @@ -84,7 +94,7 @@ export default function abilityTest() { } setTimeout(() => { commonEvent.createSubscriber(ACTS_ProcessState).then((data) => { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0100 Create Subscribe"); + console.debug("====>Acts_ApplicationStateChange_0100 Create Subscribe"); subscriber = data; commonEvent.subscribe(subscriber, subscribeCallBack); @@ -96,14 +106,14 @@ export default function abilityTest() { globalThis.abilityContext.startAbility(wantAuxiliary, (error) => { console.log("auxiliary ability error.code = " + error.code) }) - },2500) + },3000) }) - },500) + },700) setTimeout(()=>{ done(); - }, 14000); + }, 18000); }) @@ -122,11 +132,11 @@ export default function abilityTest() { } let subscriber function unSubscribeCallback() { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 unSubscribeCallback"); + console.debug("====>Acts_ApplicationStateChange_0200 unSubscribeCallback"); } function subscribeCallBack(err, data) { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 data: " + JSON.stringify(data)); - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 err: " + JSON.stringify(err)); + console.debug("====>Acts_ApplicationStateChange_0200 data: " + JSON.stringify(data)); + console.debug("====>Acts_ApplicationStateChange_0200 err: " + JSON.stringify(err)); if(data.event == "processState") { console.info("entered assert zone!") try{ @@ -144,7 +154,7 @@ export default function abilityTest() { } setTimeout(() => { commonEvent.createSubscriber(ACTS_ProcessState).then(async (data) => { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 Create Subscribe"); + console.debug("====>Acts_ApplicationStateChange_0200 Create Subscribe"); subscriber = data; commonEvent.subscribe(subscriber, subscribeCallBack); @@ -156,13 +166,13 @@ export default function abilityTest() { globalThis.abilityContext.startAbility(wantAuxiliary, (error) => { console.log("auxiliary ability error.code = " + error.code) }) - },2500) + },3000) }) - },500) + },700) setTimeout(()=>{ done(); - }, 14000); + }, 18000); }) @@ -182,11 +192,11 @@ export default function abilityTest() { let subscriber function unSubscribeCallback() { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 unSubscribeCallback"); + console.debug("====>Acts_ApplicationStateChange_0300 unSubscribeCallback"); } function subscribeCallBack(err, data) { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 data: " + JSON.stringify(data)); - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 err: " + JSON.stringify(err)); + console.debug("====>Acts_ApplicationStateChange_0300 data: " + JSON.stringify(data)); + console.debug("====>Acts_ApplicationStateChange_0300 err: " + JSON.stringify(err)); if(data.event == "processState") { console.info("entered assert zone!") try{ @@ -203,7 +213,7 @@ export default function abilityTest() { } setTimeout(() => { commonEvent.createSubscriber(ACTS_ProcessState).then(async (data) => { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0300 Create Subscribe"); + console.debug("====>Acts_ApplicationStateChange_0300 Create Subscribe"); subscriber = data; commonEvent.subscribe(subscriber, subscribeCallBack); @@ -214,13 +224,13 @@ export default function abilityTest() { globalThis.abilityContext.startAbility(wantAuxiliary, (error) => { console.log("auxiliary ability error.code = " + error.code) }) - },2500) + },3000) }) - },500) + },700) setTimeout(()=>{ done(); - }, 14000); + }, 18000); }) @@ -243,11 +253,11 @@ export default function abilityTest() { let subscriber function unSubscribeCallback() { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 unSubscribeCallback"); + console.debug("====>Acts_ApplicationStateChange_0400 unSubscribeCallback"); } function subscribeCallBack(err, data) { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 data: " + JSON.stringify(data)); - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 err: " + JSON.stringify(err)); + console.debug("====>Acts_ApplicationStateChange_0400 data: " + JSON.stringify(data)); + console.debug("====>Acts_ApplicationStateChange_0400 err: " + JSON.stringify(err)); if(data.event == "processState") { console.info("entered assert zone!") try{ @@ -264,7 +274,7 @@ export default function abilityTest() { } setTimeout(() => { commonEvent.createSubscriber(ACTS_ProcessState).then(async (data) => { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 Create Subscribe"); + console.debug("====>Acts_ApplicationStateChange_0400 Create Subscribe"); subscriber = data; commonEvent.subscribe(subscriber, subscribeCallBack); @@ -275,13 +285,13 @@ export default function abilityTest() { globalThis.abilityContext.startAbility(wantAuxiliary, (error) => { console.log("auxiliary ability error.code = " + error.code) }) - },2500) + },3000) }) - },500) + },700) setTimeout(()=>{ done(); - }, 14000); + }, 18000); }) @@ -303,11 +313,11 @@ export default function abilityTest() { let subscriber function unSubscribeCallback() { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 unSubscribeCallback"); + console.debug("====>Acts_ApplicationStateChange_0500 unSubscribeCallback"); } function subscribeCallBack(err, data) { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 data: " + JSON.stringify(data)); - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 err: " + JSON.stringify(err)); + console.debug("====>Acts_ApplicationStateChange_0500 data: " + JSON.stringify(data)); + console.debug("====>Acts_ApplicationStateChange_0500 err: " + JSON.stringify(err)); if(data.event == "processState") { console.info("entered assert zone!") try{ @@ -324,7 +334,7 @@ export default function abilityTest() { } setTimeout(() => { commonEvent.createSubscriber(ACTS_ProcessState).then(async (data) => { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 Create Subscribe"); + console.debug("====>Acts_ApplicationStateChange_0500 Create Subscribe"); subscriber = data; commonEvent.subscribe(subscriber, subscribeCallBack); @@ -335,13 +345,13 @@ export default function abilityTest() { globalThis.abilityContext.startAbility(wantAuxiliary, (error) => { console.log("auxiliary ability error.code = " + error.code) }) - },2500) + },3000) }) - },500) + },700) setTimeout(()=>{ done(); - }, 14000); + }, 18000); }) it('Acts_ApplicationStateChange_0600',0, async function (done) { @@ -362,11 +372,11 @@ export default function abilityTest() { let subscriber function unSubscribeCallback() { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 unSubscribeCallback"); + console.debug("====>Acts_ApplicationStateChange_0600 unSubscribeCallback"); } function subscribeCallBack(err, data) { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 data: " + JSON.stringify(data)); - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 err: " + JSON.stringify(err)); + console.debug("====>Acts_ApplicationStateChange_0600 data: " + JSON.stringify(data)); + console.debug("====>Acts_ApplicationStateChange_0600 err: " + JSON.stringify(err)); if(data.event == "processState") { console.info("entered assert zone!") try{ @@ -383,7 +393,7 @@ export default function abilityTest() { } setTimeout(() => { commonEvent.createSubscriber(ACTS_ProcessState).then(async (data) => { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 Create Subscribe"); + console.debug("====>Acts_ApplicationStateChange_0600 Create Subscribe"); subscriber = data; commonEvent.subscribe(subscriber, subscribeCallBack); @@ -394,39 +404,43 @@ export default function abilityTest() { globalThis.abilityContext.startAbility(wantAuxiliary, (error) => { console.log("auxiliary ability error.code = " + error.code) }) - },2500) + },3000) }) - },500) + },700) setTimeout(()=>{ done(); - }, 14000); + }, 18000); }) - it('Acts_GetRunningProcessInformation_AsyncCallback_0200',0, function (done) { + - console.info("=====>Acts_GetRunningProcessInformation_AsyncCallback_0200 start<=====") + it('Acts_ApplicationStateChange_0700',0, function (done) { let want = { "deviceId": "", - "bundleName": "com.example.getrunningprocessinformationonereply", + "bundleName": "com.example.applicationstatechangeonereply", "abilityName": "EntryAbility", - "action": "Callback" + "action": "RegisterOnOffOn" + } + let wantAuxiliary = { + "deviceId": "", + "bundleName": "com.example.applicationstatechangetworeply", + "abilityName": "EntryAbility", + "action": "Normal" } let subscriber function unSubscribeCallback() { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 unSubscribeCallback"); + console.debug("====>Acts_ApplicationStateChange_0700 unSubscribeCallback"); } function subscribeCallBack(err, data) { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 data: " + JSON.stringify(data)); - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 err: " + JSON.stringify(err)); + console.debug("====>Acts_ApplicationStateChange_0700 data: " + JSON.stringify(data)); + console.debug("====>Acts_ApplicationStateChange_0700 err: " + JSON.stringify(err)); if(data.event == "processState") { try{ - expect(data.parameters.commonStateArr[0]).assertEqual(2||1) - expect(data.parameters.commonStateArr[1]).assertEqual(2||1) - expect(data.parameters.commonStateArr[2]).assertEqual(2||1) - expect(data.parameters.commonStateArr[3]).assertEqual(3) - expect(data.parameters.commonStateArr[4]).assertEqual(3) - expect(data.parameters.commonStateArr[5]).assertEqual(3) + expect(data.parameters.commonStateArr[0]).assertEqual(1) + expect(data.parameters.commonStateArr[1]).assertEqual(1) + expect(data.parameters.commonStateArr[2]).assertEqual(-1) + expect(data.parameters.commonStateArr[3]).assertEqual(-1) } catch(error) { console.log("An error is generated") @@ -435,71 +449,223 @@ export default function abilityTest() { } } setTimeout(() => { - commonEvent.createSubscriber(ACTS_ProcessState).then(async (data) => { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 Create Subscribe"); + commonEvent.createSubscriber(ACTS_ProcessState).then((data) => { + console.debug("====>Acts_ApplicationStateChange_0700 Create Subscribe"); subscriber = data; commonEvent.subscribe(subscriber, subscribeCallBack); - await globalThis.abilityContext.startAbility(want, (error) => { + globalThis.abilityContext.startAbility(want, (error) => { console.log("ability error.code = " + error.code) }) - }) - },500) - setTimeout(()=>{ - done(); - }, 14000); + setTimeout(() => { + globalThis.abilityContext.startAbility(wantAuxiliary, (error) => { + console.log("auxiliary ability error.code = " + error.code) + }) + },3000) + }) + },700) + + setTimeout(()=>{ + done(); + }, 18000); }) + - it('Acts_GetRunningProcessInformation_Promise_0200',0, function (done) { - console.info("=====>Acts_GetRunningProcessInformation_AsyncCallback_0200 start<=====") + it('Acts_ApplicationStateChange_0800', 0, async function (done) { let want = { "deviceId": "", - "bundleName": "com.example.getrunningprocessinformationonereply", + "bundleName": "com.example.applicationstatechangethreereply", "abilityName": "EntryAbility", - "action": "Promise" + "action": "DoubleAbilityTest" } + let wantAuxiliary = { + "deviceId": "", + "bundleName": "com.example.applicationstatechangethreereply", + "abilityName": "EntryAbility1", + "action": "DoubleAbilityTest" + } + let subscriber + function unSubscribeCallback() { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 unSubscribeCallback"); + console.debug("====>Acts_ApplicationStateChange_0800 unSubscribeCallback"); + done() } + function subscribeCallBack(err, data) { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 data: " + JSON.stringify(data)); - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 err: " + JSON.stringify(err)); - if(data.event == "processState") { - try{ - expect(data.parameters.commonStateArr[0]).assertEqual(2||1) - expect(data.parameters.commonStateArr[1]).assertEqual(2||1) - expect(data.parameters.commonStateArr[2]).assertEqual(2||1) - expect(data.parameters.commonStateArr[3]).assertEqual(3) - expect(data.parameters.commonStateArr[4]).assertEqual(3) - expect(data.parameters.commonStateArr[5]).assertEqual(3) + console.debug("====>Acts_ApplicationStateChange_0800 data: " + JSON.stringify(data)); + console.debug("====>Acts_ApplicationStateChange_0800 err: " + JSON.stringify(err)); + if (data.event == "processState") { + console.info("entered assert zone!") + try { + expect(data.parameters.commonStateArr).assertEqual(-1) } - catch(error) { + catch (error) { console.log("An error is generated") } commonEvent.unsubscribe(subscriber, unSubscribeCallback); } } + setTimeout(() => { commonEvent.createSubscriber(ACTS_ProcessState).then(async (data) => { - console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0200 Create Subscribe"); + console.debug("====>Acts_ApplicationStateChange_0800 Create Subscribe"); subscriber = data; commonEvent.subscribe(subscriber, subscribeCallBack); - await globalThis.abilityContext.startAbility(want, (error) => { + globalThis.abilityContext.startAbility(want, (error) => { console.log("ability error.code = " + error.code) }) + setTimeout(() => { + globalThis.abilityContext.startAbility(wantAuxiliary, (error) => { + console.log("auxiliary ability error.code = " + error.code) + }) + }, 3000) }) - },500) + }, 700) - setTimeout(()=>{ - done(); - }, 14000); + }) + + it('Acts_GetRunningProcessInformation_AsyncCallback_0100', 0, async function (done) { + let TAG = 'getRunningProcess' + console.info("=====>Acts_GetRunningProcessInformation_AsyncCallback_0100 start<=====") + let want = { + "deviceId": "", + "bundleName": "com.example.getrunningprocessinformationonereply", + "abilityName": "EntryAbility", + "action": "Callback" + } + let subscriber + + function unSubscribeCallback() { + console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0100 unSubscribeCallback"); + done() + } + + function subscribeCallBack(err, data) { + console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0100 data: " + JSON.stringify(data)); + console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0100 err: " + JSON.stringify(err)); + if (data.event == "processState") { + console.info("entered assert zone!") + try { + expect(data.parameters.commonStateArr[0]).assertEqual(2) + console.info("this is array one") + expect(data.parameters.commonStateArr[1]).assertEqual(1) + console.info("this is array one") + expect(data.parameters.commonStateArr[2]).assertEqual(3) + console.info("this is array one") + expect(data.parameters.commonStateArr[3]).assertEqual(-1) + console.info("this is array one") + } + catch (error) { + console.log("An error is generated") + } + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + } + } + + setTimeout(() => { + commonEvent.createSubscriber(ACTS_ProcessState).then(async (data) => { + console.debug("====>Acts_GetRunningProcessInformation_AsyncCallback_0100 Create Subscribe"); + subscriber = data; + commonEvent.subscribe(subscriber, subscribeCallBack); + globalThis.abilityContext.startAbility(want, (error) => { + console.log("start normal ability error.code = " + error.code) + }) + + setTimeout(async () => { + let driver = Driver.create() + await driver.delayMs(1500) + let button1 = await driver.findComponent(ON.text('get focusedInfo')) + await expect(button1 != null).assertTrue() + let button2 = await driver.findComponent(ON.text('get unFocusedInfo')) + await expect(button2 != null).assertTrue() + let button3 = await driver.findComponent(ON.text('get BackInfo')) + await expect(button3 != null).assertTrue() + await button1.click() + await driver.delayMs(2000) + await button2.click() + await driver.delayMs(4000) + await driver.pressBack() + await driver.delayMs(2000) + await button3.click() + }, 3000) + }) + }, 1000) }) + it('Acts_GetRunningProcessInformation_Promise_0100', 0, async function (done) { + let TAG = 'getRunningProcess' + console.info("=====>Acts_GetRunningProcessInformation_AsyncCallback_0100 start<=====") + let want = { + "deviceId": "", + "bundleName": "com.example.getrunningprocessinformationonereply", + "abilityName": "EntryAbility", + "action": "Promise" + } + let subscriber + + function unSubscribeCallback() { + console.debug("====>Acts_GetRunningProcessInformation_Promise_0100 unSubscribeCallback"); + done() + } + + function subscribeCallBack(err, data) { + console.debug("====>Acts_GetRunningProcessInformation_Promise_0100 data: " + JSON.stringify(data)); + console.debug("====>Acts_GetRunningProcessInformation_Promise_0100 err: " + JSON.stringify(err)); + if (data.event == "processState") { + console.info("entered assert zone!") + try { + expect(data.parameters.commonStateArr[0]).assertEqual(2) + console.info("this is array one") + expect(data.parameters.commonStateArr[1]).assertEqual(1) + console.info("this is array one") + expect(data.parameters.commonStateArr[2]).assertEqual(3) + console.info("this is array one") + expect(data.parameters.commonStateArr[3]).assertEqual(-1) + console.info("this is array one") + } + catch (error) { + console.log("An error is generated") + } + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + } + } + + setTimeout(() => { + commonEvent.createSubscriber(ACTS_ProcessState).then(async (data) => { + console.debug("====>Acts_GetRunningProcessInformation_Promise_0100 Create Subscribe"); + subscriber = data; + commonEvent.subscribe(subscriber, subscribeCallBack); + + globalThis.abilityContext.startAbility(want, (error) => { + console.log("start normal ability error.code = " + error.code) + }) + + setTimeout(async () => { + let driver = Driver.create() + await driver.delayMs(1500) + let button1 = await driver.findComponent(ON.text('get focusedInfo')) + await expect(button1 != null).assertTrue() + let button2 = await driver.findComponent(ON.text('get unFocusedInfo')) + await expect(button2 != null).assertTrue() + let button3 = await driver.findComponent(ON.text('get BackInfo')) + await expect(button3 != null).assertTrue() + await button1.click() + await driver.delayMs(2000) + await button2.click() + await driver.delayMs(4000) + await driver.pressBack() + await driver.delayMs(2000) + await button3.click() + }, 3000) + }) + }, 1000) + + }) }) } \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/AppScope/app.json b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/AppScope/app.json new file mode 100644 index 0000000000000000000000000000000000000000..b415ca4bfb85f9e3557cd46704db5024c393ae89 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/AppScope/app.json @@ -0,0 +1,19 @@ +{ + "app": { + "bundleName": "com.example.getrunningprocessinformationtworeply", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name", + "distributedNotificationEnabled": true, + "keepAlive" : true, + "singleUser": true, + "minAPIVersion": 10, + "targetAPIVersion": 10, + "car": { + "apiCompatibleVersion": 10, + "singleUser": false + } + } +} diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/AppScope/resources/base/element/string.json b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/AppScope/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..e119e5d35177a009c4416884cd86e9a762200273 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "GetRunningProcessInformationTwoReply" + } + ] +} diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/AppScope/resources/base/media/app_icon.png b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/AppScope/resources/base/media/app_icon.png differ diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/BUILD.gn b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..170e5306cc9de69e8fa703dbf041914ff7ad7174 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/BUILD.gn @@ -0,0 +1,43 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//test/xts/tools/build/suite.gni") + +ohos_hap_assist_suite("GetRunningProcessInformationTwoReply") { + hap_profile = "entry/src/main/module.json" + js_build_mode = "debug" + deps = [ + ":getrunningprocessinformationtworeply_js_assets", + ":getrunningprocessinformationtworeply_resources", + ] + ets2abc = true + certificate_profile = "signature/openharmony_sx.p7b" + hap_name = "GetRunningProcessInformationTwoReply" + subsystem_name = "ability" + part_name = "ability_runtime" +} + +ohos_app_scope("getrunningprocessinformationtworeply_app_profile") { + app_profile = "AppScope/app.json" + sources = [ "AppScope/resources" ] +} + +ohos_js_assets("getrunningprocessinformationtworeply_js_assets") { + source_dir = "entry/src/main/ets" +} + +ohos_resources("getrunningprocessinformationtworeply_resources") { + sources = [ "entry/src/main/resources" ] + deps = [ ":getrunningprocessinformationtworeply_app_profile" ] + hap_profile = "entry/src/main/module.json" +} diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/ets/entryability/EntryAbility.ts b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/ets/entryability/EntryAbility.ts new file mode 100644 index 0000000000000000000000000000000000000000..57686050fee56d4ca2b7d073531f6a187cf0a95e --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/ets/entryability/EntryAbility.ts @@ -0,0 +1,51 @@ +import hilog from '@ohos.hilog'; +import Ability from '@ohos.app.ability.UIAbility' +import Window from '@ohos.window' + +export default class EntryAbility extends Ability { + onCreate(want, launchParam) { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); + hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? ''); + } + + onDestroy() { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: Window.WindowStage) { + // Main window is created, set main page for this ability + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err, data) => { + if (err.code) { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.ERROR); + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy() { + // Main window is destroyed, release UI related resources + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground() { + // Ability has brought to foreground + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground() { + // Ability has back to background + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/ets/pages/Index.ets b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/ets/pages/Index.ets new file mode 100644 index 0000000000000000000000000000000000000000..d6ca48cf43988cd6f270a026f0c1a88b7bc57123 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,17 @@ +@Entry +@Component +struct Index { + @State message: string = 'Hello World' + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/module.json b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/module.json new file mode 100644 index 0000000000000000000000000000000000000000..744de4947a3779088b8c551e3bef74beda2255e8 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/module.json @@ -0,0 +1,37 @@ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntrance": "./ets/entryability/EntryAbility.ts", + "description": "$string:EntryAbility_desc", + "icon": "$media:icon", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "visible": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/element/color.json b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/element/color.json new file mode 100644 index 0000000000000000000000000000000000000000..d66f9a7d4ac61fb8d215239ab3620b7bcd77bf33 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/element/string.json b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..f94595515a99e0c828807e243494f57f09251930 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/media/icon.png b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/media/icon.png differ diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/profile/main_pages.json b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 0000000000000000000000000000000000000000..1898d94f58d6128ab712be2c68acc7c98e9ab9ce --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "pages/Index" + ] +} diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/en_US/element/string.json b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..f94595515a99e0c828807e243494f57f09251930 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/zh_CN/element/string.json b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..597ecf95e61d7e30367c22fe2f8638008361b044 --- /dev/null +++ b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "模块描述" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/signature/openharmony_sx.p7b b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..e139020a0a39e96053d2b965004b09b0816d0c72 Binary files /dev/null and b/ability/ability_runtime/getrunningprocessinformation/GetRunningProcessInformationTwoReply/signature/openharmony_sx.p7b differ