diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/BUILD.gn b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/BUILD.gn
new file mode 100755
index 0000000000000000000000000000000000000000..e0abad233983bd0e34bb59745ac13c3bb90f46ef
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/BUILD.gn
@@ -0,0 +1,31 @@
+# Copyright (c) 2020-2021 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_js_hap_suite("FaConfigurationconstantTest") {
+ hap_profile = "./entry/src/main/config.json"
+ deps = [
+ ":fa_configurationconstant_test_assets",
+ ":fa_configurationconstant_test_resources",
+ ]
+ certificate_profile = "./signature/openharmony_sx.p7b"
+ hap_name = "FaConfigurationconstantTest"
+}
+ohos_js_assets("fa_configurationconstant_test_assets") {
+ source_dir = "./entry/src/main/js/MainAbility"
+}
+ohos_resources("fa_configurationconstant_test_resources") {
+ sources = [ "./entry/src/main/resources" ]
+ hap_profile = "./entry/src/main/config.json"
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/Test.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/Test.json
new file mode 100755
index 0000000000000000000000000000000000000000..776b88009d046d24c37fefce8a86504d1b68d5d2
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/Test.json
@@ -0,0 +1,18 @@
+{
+ "description" : "Configuration for hjunit demo Test",
+ "driver": {
+ "type" : "JSUnitTest",
+ "test-timeout": "180000",
+ "package": "com.example.actsabilitydistributetest",
+ "shell-timeout": "600000"
+ },
+ "kits": [
+ {
+ "test-file-name": [
+ "ActsAbilityDistributeTest.hap"
+ ],
+ "type": "AppInstallKit",
+ "cleanup-apps": true
+ }
+ ]
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/.gitignore b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..f77260b1509284d42a7f8a2449ad1e8f4b489a3a
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/.gitignore
@@ -0,0 +1,2 @@
+/build
+/node_modules
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/build.gradle b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..c40c1f08c819a404fc2312634d97bee84d939ba3
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/build.gradle
@@ -0,0 +1,21 @@
+apply plugin: 'com.huawei.ohos.hap'
+//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510
+ohos {
+ compileSdkVersion 8
+ defaultConfig {
+ compatibleSdkVersion 7
+ }
+ buildTypes {
+ release {
+ proguardOpt {
+ proguardEnabled false
+ rulesFiles 'proguard-rules.pro'
+ }
+ }
+ }
+}
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
+ testImplementation 'junit:junit:4.13.1'
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/package.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..69a88e3b65423624fe7ea8b0f8beefcc62cc3d5f
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/package.json
@@ -0,0 +1 @@
+{}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/proguard-rules.pro b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/proguard-rules.pro
new file mode 100644
index 0000000000000000000000000000000000000000..f7666e47561d514b2a76d5a7dfbb43ede86da92a
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/proguard-rules.pro
@@ -0,0 +1 @@
+# config module specific ProGuard rules here.
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/config.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..28902fb2a71d62484cf1284313c948108afc01c2
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/config.json
@@ -0,0 +1,151 @@
+{
+ "app": {
+ "bundleName": "com.example.abilitydisable",
+ "vendor": "example",
+ "version": {
+ "code": 1000000,
+ "name": "1.0.0"
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "package": "com.example.abilitydisable",
+ "name": ".MyApplication",
+ "mainAbility": ".MainAbility",
+ "srcPath": "",
+ "deviceType": [
+ "phone"
+ ],
+ "distro": {
+ "deliveryWithInstall": true,
+ "moduleName": "entry",
+ "moduleType": "entry",
+ "installationFree": false
+ },
+ "abilities": [
+ {
+ "skills": [
+ {
+ "entities": [
+ "entity.system.home"
+ ],
+ "actions": [
+ "action.system.home"
+ ]
+ }
+ ],
+ "orientation": "unspecified",
+ "visible": true,
+ "srcPath": "MainAbility",
+ "name": ".MainAbility",
+ "srcLanguage": "js",
+ "icon": "$media:icon",
+ "description": "$string:description_mainability",
+ "formsEnabled": false,
+ "label": "$string:entry_MainAbility",
+ "type": "page",
+ "launchType": "standard"
+ },
+ {
+ "orientation": "unspecified",
+ "srcPath": "MainAbility2",
+ "name": ".MainAbility2",
+ "srcLanguage": "js",
+ "icon": "$media:icon",
+ "description": "$string:description_mainability2",
+ "formsEnabled": false,
+ "label": "$string:entry_MainAbility",
+ "type": "page",
+ "launchType": "standard"
+ },
+ {
+ "orientation": "unspecified",
+ "srcPath": "MainAbility3",
+ "name": ".MainAbility3",
+ "srcLanguage": "js",
+ "icon": "$media:icon",
+ "description": "$string:description_mainability3",
+ "formsEnabled": false,
+ "label": "$string:entry_MainAbility",
+ "type": "page",
+ "launchType": "standard"
+ },
+ {
+ "orientation": "unspecified",
+ "srcPath": "MainAbility4",
+ "name": ".MainAbility4",
+ "srcLanguage": "js",
+ "icon": "$media:icon",
+ "description": "$string:description_mainability4",
+ "formsEnabled": false,
+ "label": "$string:entry_MainAbility",
+ "type": "page",
+ "launchType": "standard"
+ }
+ ],
+ "js": [
+ {
+ "pages": [
+ "pages/index/index",
+ "pages/second/second"
+ ],
+ "name": ".MainAbility",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ },
+ {
+ "pages": [
+ "pages/index/index",
+ "pages/second/second"
+ ],
+ "name": ".MainAbility2",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ },
+ {
+ "pages": [
+ "pages/index/index",
+ "pages/second/second"
+ ],
+ "name": ".MainAbility3",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ },
+ {
+ "pages": [
+ "pages/index/index",
+ "pages/second/second"
+ ],
+ "name": ".MainAbility4",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ }
+ ],
+ "reqPermissions": [
+ {
+ "name": "ohos.permission.MANAGE_LOCAL_ACCOUNTS"
+ },
+ {
+ "name": "ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION"
+ },
+ {
+ "name": "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED"
+ },
+ {
+ "name": "ohos.permission.MANAGE_MISSIONS"
+ },
+ {
+ "name": "ohos.permission.GET_BUNDLE_INFO",
+ "reason": "need use ohos.permission.INSTALL_BUNDLE"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/app.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..82cacfcf44d5ddd528b6747988c6a899590928cf
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/app.js
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2021 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 commonEvent from '@ohos.commonEvent';
+import abilityFeatureAbility from '@ohos.ability.featureAbility';
+export default {
+ onCreate() {
+ commonEvent.publish("ApplicationMainAbility1_onCreate",()=>{
+ console.log("ApplicationMainAbility1_onCreate publish callBack ApplicationMainAbility1_onCreate");
+ });
+ setTimeout(()=>{
+ abilityFeatureAbility.terminateSelf().then((data)=>{
+ console.log("ApplicationMainAbility2 terminateSelf data:" + JSON.stringify(data) )
+ }).catch((error)=>{
+ console.log("ApplicationMainAbility2 terminateSelf error:" + JSON.stringify(error) )
+ })
+ },3000)
+
+ console.info("Application onCreate");
+ },
+ onDestroy() {
+ console.info("Application onDestroy");
+// commonEvent.publish("ApplicationMainAbility1_onDestroy",()=>{
+// console.log("ApplicationMainAbility1_onDestroy publish callBack ApplicationMainAbility1_onDestroy");
+// });
+ },
+ onForgeGround(){
+ console.info("Application onForgeGround");
+ }
+};
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/i18n/en-US.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..08e34eac912bf2651eefc20e26aa479b5e4e7ec2
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/i18n/en-US.json
@@ -0,0 +1,11 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World",
+ "page": "Second Page",
+ "next": "Next Page",
+ "back": "Back"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/i18n/zh-CN.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..3dd53b3a8b808aec9396fa663cb00ef22ba61e0a
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/i18n/zh-CN.json
@@ -0,0 +1,11 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界",
+ "page": "第二页",
+ "next": "下一页",
+ "back": "返回"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/index/index.css b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..737096ca1070d46824d8173dd029de7e4144f3a9
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/index/index.css
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2021 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.
+ */
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+}
+
+.title {
+ font-size: 60px;
+ text-align: center;
+ width: 100%;
+ height: 40%;
+ margin: 10px;
+}
+
+.btn {
+ width: 50%;
+ height: 100px;
+ font-size: 40px;
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/index/index.hml b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..9c27d02f668220192c6ceaa0c7e6a83f189bd7f0
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/index/index.hml
@@ -0,0 +1,20 @@
+
+
+
+ {{ $t('strings.hello') }} {{ title }}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/index/index.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..56e613e12909c46ca3e79910459ad3a24b34eff1
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/index/index.js
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2021 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 commonEvent from '@ohos.commonEvent';
+import router from '@system.router'
+import {Core} from 'deccjsunit/index'
+
+export default {
+ data: {
+ title: ""
+ },
+ onInit() {
+ this.title = 'yingyong1';
+ },
+ onclick: function () {
+ router.replace({
+ uri: "pages/second/second"
+ })
+ },
+ onShow() {
+ console.log("singletonEntryAbulity1_onShow")
+ commonEvent.publish("singletonEntryAbulity1_onShow",()=>{
+ console.log("singletonEntryAbulity1_onHide publish callBack singletonEntryAbulity1_onHide");
+ });
+ const core = Core.getInstance()
+ core.init()
+ const configService = core.getDefaultService('config')
+ configService.setConfig(this)
+ console.info('onShow ')
+ require('../../../test/List.test')
+ console.info('onShow start5')
+ core.execute()
+ },
+ onHide(){
+ console.log("singletonEntryAbulity_onHide")
+ commonEvent.publish("singletonEntryAbulity1_onHide",()=>{
+ console.log("singletonEntryAbulity1_onHide publish callBack singletonEntryAbulity1_onHide");
+ });
+ },
+ onActive(){
+ console.log("singletonEntryAbulity_onActive")
+ commonEvent.publish("singletonEntryAbulity1_onActive",()=>{
+ console.log("singletonEntryAbulity1_onActive publish callBack singletonEntryAbulity1_onActive");
+ });
+ },
+ onInactive(){
+ console.log("singletonEntryAbulity_onInactive")
+ commonEvent.publish("singletonEntryAbulity1_onInactive",()=>{
+ console.log("singletonEntryAbulity1_onInactive publish callBack singletonEntryAbulity1_onInactive");
+ });
+ }
+}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/second/second.css b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/second/second.css
new file mode 100644
index 0000000000000000000000000000000000000000..737096ca1070d46824d8173dd029de7e4144f3a9
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/second/second.css
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2021 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.
+ */
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+}
+
+.title {
+ font-size: 60px;
+ text-align: center;
+ width: 100%;
+ height: 40%;
+ margin: 10px;
+}
+
+.btn {
+ width: 50%;
+ height: 100px;
+ font-size: 40px;
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/second/second.hml b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/second/second.hml
new file mode 100644
index 0000000000000000000000000000000000000000..232a295e9245fb2e09d7be62626850bfd281062a
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/second/second.hml
@@ -0,0 +1,20 @@
+
+
+
+ {{ $t('strings.page') }}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/second/second.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/second/second.js
new file mode 100644
index 0000000000000000000000000000000000000000..55c229adf9b349ff9a374f8d91be5b5b31d7c6aa
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility/pages/second/second.js
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2021 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 router from '@system.router'
+
+export default {
+ data: {
+ title: 'World'
+ },
+ onclick: function () {
+ router.replace({
+ uri: "pages/index/index"
+ })
+ }
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/app.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..e0c38971a1cf382d5f77c7435d00347866fc23ed
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/app.js
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2021 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 commonEvent from '@ohos.commonEvent';
+
+export default {
+ onCreate() {
+ commonEvent.publish("ApplicationMainAbility2_onCreate",()=>{
+ console.log("ApplicationMainAbility2_onCreate publish callBack ApplicationMainAbility2_onCreate");
+ });
+ console.info("ApplicationMainAbility2 onCreate");
+ },
+ onDestroy() {
+ console.log("singletonEntryAbulity_onDestroy222");
+ commonEvent.publish("ApplicationMainAbility2_onDestroy",()=>{
+ console.log("singletonEntryAbulity2_onDestroy publish callBack singletonEntryAbulity2onDestroy");
+ });
+ },
+};
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/i18n/en-US.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..08e34eac912bf2651eefc20e26aa479b5e4e7ec2
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/i18n/en-US.json
@@ -0,0 +1,11 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World",
+ "page": "Second Page",
+ "next": "Next Page",
+ "back": "Back"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/i18n/zh-CN.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..3dd53b3a8b808aec9396fa663cb00ef22ba61e0a
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/i18n/zh-CN.json
@@ -0,0 +1,11 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界",
+ "page": "第二页",
+ "next": "下一页",
+ "back": "返回"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/index/index.css b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..737096ca1070d46824d8173dd029de7e4144f3a9
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/index/index.css
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2021 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.
+ */
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+}
+
+.title {
+ font-size: 60px;
+ text-align: center;
+ width: 100%;
+ height: 40%;
+ margin: 10px;
+}
+
+.btn {
+ width: 50%;
+ height: 100px;
+ font-size: 40px;
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/index/index.hml b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..83ae6b784af095aa173906f7aa7468eb2bf2e5e3
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/index/index.hml
@@ -0,0 +1,20 @@
+
+
+
+ {{ $t('strings.hello') }} {{ title }}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/index/index.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..caadb951daa23bb4f633d417aca566875ef31e17
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/index/index.js
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2021 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 router from '@system.router'
+import {Core} from 'deccjsunit/index'
+import commonEvent from '@ohos.commonEvent';
+
+export default {
+ data: {
+ title: ""
+ },
+ onInit() {
+ this.title = 'yingyong2';
+ },
+ onclick: function () {
+ router.replace({
+ uri: "pages/second/second"
+ })
+ },
+ onShow() {
+ console.log("singletonEntryAbulity_onShow")
+ commonEvent.publish("singletonEntryAbulity2_onShow",()=>{
+ console.log("singletonEntryAbulity2_onShow publish callBack singletonEntryAbulity2_onShow");
+ });
+ },
+ onHide(){
+ console.log("singletonEntryAbulity_onHide")
+ commonEvent.publish("singletonEntryAbulity2_onHide",()=>{
+ console.log("singletonEntryAbulity2_onHide publish callBack singletonEntryAbulity2onHide");
+ });
+ },
+ onActive(){
+ console.log("singletonEntryAbulity_onActive")
+ commonEvent.publish("singletonEntryAbulity2_onActive",()=>{
+ console.log("singletonEntryAbulity2_onActive publish callBack singletonEntryAbulity2_onActive");
+ });
+ },
+ onInactive(){
+ console.log("singletonEntryAbulity_onInactive");
+ commonEvent.publish("singletonEntryAbulity2_onInactive",()=>{
+ console.log("singletonEntryAbulity2_onInactive publish callBack singletonEntryAbulity2_onInactive");
+ });
+ }
+
+}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/second/second.css b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/second/second.css
new file mode 100644
index 0000000000000000000000000000000000000000..737096ca1070d46824d8173dd029de7e4144f3a9
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/second/second.css
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2021 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.
+ */
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+}
+
+.title {
+ font-size: 60px;
+ text-align: center;
+ width: 100%;
+ height: 40%;
+ margin: 10px;
+}
+
+.btn {
+ width: 50%;
+ height: 100px;
+ font-size: 40px;
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/second/second.hml b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/second/second.hml
new file mode 100644
index 0000000000000000000000000000000000000000..4503365d59184ec671bb489b6c2b64134daf0849
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/second/second.hml
@@ -0,0 +1,20 @@
+
+
+
+ {{ $t('strings.page') }}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/second/second.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/second/second.js
new file mode 100644
index 0000000000000000000000000000000000000000..55c229adf9b349ff9a374f8d91be5b5b31d7c6aa
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility2/pages/second/second.js
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2021 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 router from '@system.router'
+
+export default {
+ data: {
+ title: 'World'
+ },
+ onclick: function () {
+ router.replace({
+ uri: "pages/index/index"
+ })
+ }
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/app.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..aa30315f0817e62217ed004dce86a1e57a99342b
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/app.js
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2021 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 abilityFeatureAbility from '@ohos.ability.featureAbility';
+import commonEvent from '@ohos.commonEvent';
+export default {
+ onCreate() {
+ console.info("Application onCreate MainAbility3");
+ setTimeout(()=>{
+ abilityFeatureAbility.terminateSelf().then((data)=>{
+ console.log("Application terminateSelf data:" + JSON.stringify(data) )
+ }).catch((error)=>{
+ console.log("Application terminateSelf data:" + JSON.stringify(error) )
+ })
+ },2500)
+ },
+ onDestroy() {
+ console.log("singletonEntryAbulity_onDestroy222");
+ commonEvent.publish("ApplicationMainAbility3_onDestroy",()=>{
+ console.log("ApplicationMainAbility3_onDestroy publish callBack ApplicationMainAbility2_onDestroy");
+ });
+ },
+ onForgeGround(){
+ console.log("singletonEntryAbulity_onForgeGround");
+ commonEvent.publish("ApplicationMainAbility3_onForgeGround",()=>{
+ console.log("ApplicationMainAbility3_onHide publish callBack ApplicationMainAbility2_onForgeGround");
+ });
+ }
+};
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/i18n/en-US.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..08e34eac912bf2651eefc20e26aa479b5e4e7ec2
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/i18n/en-US.json
@@ -0,0 +1,11 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World",
+ "page": "Second Page",
+ "next": "Next Page",
+ "back": "Back"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/i18n/zh-CN.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..3dd53b3a8b808aec9396fa663cb00ef22ba61e0a
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/i18n/zh-CN.json
@@ -0,0 +1,11 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界",
+ "page": "第二页",
+ "next": "下一页",
+ "back": "返回"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/index/index.css b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..737096ca1070d46824d8173dd029de7e4144f3a9
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/index/index.css
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2021 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.
+ */
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+}
+
+.title {
+ font-size: 60px;
+ text-align: center;
+ width: 100%;
+ height: 40%;
+ margin: 10px;
+}
+
+.btn {
+ width: 50%;
+ height: 100px;
+ font-size: 40px;
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/index/index.hml b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..9c27d02f668220192c6ceaa0c7e6a83f189bd7f0
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/index/index.hml
@@ -0,0 +1,20 @@
+
+
+
+ {{ $t('strings.hello') }} {{ title }}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/index/index.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..4749e825224c0d6b8e38fed4e4a0acc714e3fc9d
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/index/index.js
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2021 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 router from '@system.router'
+import {Core} from 'deccjsunit/index'
+import commonEvent from '@ohos.commonEvent';
+
+export default {
+ data: {
+ title: ""
+ },
+ onInit() {
+ this.title = 'yingyong3';
+ },
+ onclick: function () {
+ router.replace({
+ uri: "pages/second/second"
+ })
+ },
+ onShow() {
+ console.info('onShow start')
+ },
+ onHide(){
+ console.log("singletonEntryAbulity_onHide")
+ commonEvent.publish("singletonEntryAbulity3_onHide",()=>{
+ console.log("singletonEntryAbulity3_onHide publish callBack singletonEntryAbulity3_onHide");
+ });
+ },
+ onActive(){
+ console.log("singletonEntryAbulity_onActive")
+ commonEvent.publish("singletonEntryAbulity3_onActive",()=>{
+ console.log("singletonEntryAbulity3_onActive publish callBack singletonEntryAbulity3_onActive");
+ });
+ },
+ onInactive(){
+ console.log("singletonEntryAbulity_onInactive")
+ commonEvent.publish("singletonEntryAbulity3_onHide",()=>{
+ console.log("singletonEntryAbulity3_onInactive publish callBack singletonEntryAbulity3_onInactive");
+ });
+ }
+}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/second/second.css b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/second/second.css
new file mode 100644
index 0000000000000000000000000000000000000000..737096ca1070d46824d8173dd029de7e4144f3a9
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/second/second.css
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2021 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.
+ */
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+}
+
+.title {
+ font-size: 60px;
+ text-align: center;
+ width: 100%;
+ height: 40%;
+ margin: 10px;
+}
+
+.btn {
+ width: 50%;
+ height: 100px;
+ font-size: 40px;
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/second/second.hml b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/second/second.hml
new file mode 100644
index 0000000000000000000000000000000000000000..232a295e9245fb2e09d7be62626850bfd281062a
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/second/second.hml
@@ -0,0 +1,20 @@
+
+
+
+ {{ $t('strings.page') }}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/second/second.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/second/second.js
new file mode 100644
index 0000000000000000000000000000000000000000..55c229adf9b349ff9a374f8d91be5b5b31d7c6aa
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility3/pages/second/second.js
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2021 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 router from '@system.router'
+
+export default {
+ data: {
+ title: 'World'
+ },
+ onclick: function () {
+ router.replace({
+ uri: "pages/index/index"
+ })
+ }
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/app.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..7cb7248bdc90dac7fded8362a9cd8dfb4bfc637c
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/app.js
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2021 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.
+ */
+export default {
+ onCreate() {
+ console.info("Application onCreate");
+// setTimeout(()=>{
+// this.content.terminateSelf().then((data)=>{
+// console.log("Application terminateSelf data:" + JSON.stringify(data) )
+// }).catch((error)=>{
+// console.log("Application terminateSelf data:" + JSON.stringify(error) )
+// })
+// },8000)
+ },
+ onDestroy() {
+ console.info("Application onDestroy");
+ }
+};
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/i18n/en-US.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..08e34eac912bf2651eefc20e26aa479b5e4e7ec2
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/i18n/en-US.json
@@ -0,0 +1,11 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World",
+ "page": "Second Page",
+ "next": "Next Page",
+ "back": "Back"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/i18n/zh-CN.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..3dd53b3a8b808aec9396fa663cb00ef22ba61e0a
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/i18n/zh-CN.json
@@ -0,0 +1,11 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界",
+ "page": "第二页",
+ "next": "下一页",
+ "back": "返回"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/index/index.css b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..737096ca1070d46824d8173dd029de7e4144f3a9
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/index/index.css
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2021 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.
+ */
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+}
+
+.title {
+ font-size: 60px;
+ text-align: center;
+ width: 100%;
+ height: 40%;
+ margin: 10px;
+}
+
+.btn {
+ width: 50%;
+ height: 100px;
+ font-size: 40px;
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/index/index.hml b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..9c27d02f668220192c6ceaa0c7e6a83f189bd7f0
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/index/index.hml
@@ -0,0 +1,20 @@
+
+
+
+ {{ $t('strings.hello') }} {{ title }}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/index/index.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..e73299287b52395279b39401cb978522c0195053
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/index/index.js
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2021 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 router from '@system.router'
+import {Core} from 'deccjsunit/index'
+import commonEvent from '@ohos.commonEvent';
+
+export default {
+ data: {
+ title: ""
+ },
+ onInit() {
+ this.title = 'yingyong4';
+ },
+ onclick: function () {
+ router.replace({
+ uri: "pages/second/second"
+ })
+ },
+ onShow() {
+ console.info('onShow start')
+
+ },
+ onHide(){
+ console.log("singletonEntryAbulity_onHide")
+ commonEvent.publish("singletonEntryAbulity1_onHide",()=>{
+ console.log("singletonEntryAbulity1_onHide publish callBack singletonEntryAbulity1_onHide");
+ });
+ },
+ onActive(){
+ console.log("singletonEntryAbulity_onActive")
+ commonEvent.publish("singletonEntryAbulity1_onActive",()=>{
+ console.log("singletonEntryAbulity1_onActive publish callBack singletonEntryAbulity1_onActive");
+ });
+ },
+ onInactive(){
+ console.log("singletonEntryAbulity_onInactive")
+ commonEvent.publish("singletonEntryAbulity1_onHide",()=>{
+ console.log("singletonEntryAbulity1_onInactive publish callBack singletonEntryAbulity1_onInactive");
+ });
+ }
+}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/second/second.css b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/second/second.css
new file mode 100644
index 0000000000000000000000000000000000000000..737096ca1070d46824d8173dd029de7e4144f3a9
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/second/second.css
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2021 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.
+ */
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+}
+
+.title {
+ font-size: 60px;
+ text-align: center;
+ width: 100%;
+ height: 40%;
+ margin: 10px;
+}
+
+.btn {
+ width: 50%;
+ height: 100px;
+ font-size: 40px;
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/second/second.hml b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/second/second.hml
new file mode 100644
index 0000000000000000000000000000000000000000..232a295e9245fb2e09d7be62626850bfd281062a
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/second/second.hml
@@ -0,0 +1,20 @@
+
+
+
+ {{ $t('strings.page') }}
+
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/second/second.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/second/second.js
new file mode 100644
index 0000000000000000000000000000000000000000..55c229adf9b349ff9a374f8d91be5b5b31d7c6aa
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/MainAbility4/pages/second/second.js
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2021 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 router from '@system.router'
+
+export default {
+ data: {
+ title: 'World'
+ },
+ onclick: function () {
+ router.replace({
+ uri: "pages/index/index"
+ })
+ }
+}
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/test/AbilityDisableTest.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/test/AbilityDisableTest.js
new file mode 100644
index 0000000000000000000000000000000000000000..e3dde6c0c5909d85a89bcaf857e4238a62b6c9f3
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/test/AbilityDisableTest.js
@@ -0,0 +1,390 @@
+
+/*
+ * Copyright (c) 2021 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.
+ */
+// @ts-nocheck
+import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from "deccjsunit/index"
+import missionManager from '@ohos.application.missionManager';
+import featureAbility from '@ohos.ability.featureAbility';
+import bundleManager from '@ohos.bundle';
+import appManager from "@ohos.application.appManager"
+import commonEvent from '@ohos.commonEvent';
+import {onDestroys} from "../MainAbility2/app.js"
+import abilityManager from '@ohos.application.abilityManager'
+import ConfigurationConstant from "@ohos.application.ConfigurationConstant";
+
+function startAility(){
+ setTimeout(()=>{
+ featureAbility.startAbility({ want: {
+ bundleName: "com.example.abilitydisable",
+ abilityName: "com.example.abilitydisable.MainAbility2"
+ } }, (error, data) => {
+ console.log('SUB_AA_OpenHarmony_Clear_0400 - startMainAbility2: '
+ + JSON.stringify(error) + ", " + JSON.stringify(data))
+ });
+ },100)
+ setTimeout(()=>{
+ featureAbility.startAbility({ want: {
+ bundleName: "com.example.abilitydisable",
+ abilityName: "com.example.abilitydisable.MainAbility3"
+ } }, (error, data) => {
+ console.log('SUB_AA_OpenHarmony_Clear_0400 - startMainAbility3: '
+ + JSON.stringify(error) + ", " + JSON.stringify(data));
+ });
+ },400)
+}
+function lockMissions(titles,missionId,times){
+ setTimeout(()=>{
+ for(var i=0;i{
+ console.log(titles+'lockMission1 errCode:' + JSON.stringify(err) + " data: " + JSON.stringify(data));
+ });
+ };
+ },times);
+}
+function clearAllMissions(){
+ missionManager.clearAllMissions((err,data)=>{
+ console.log('clearAllMissions errCode: ' +
+ JSON.stringify(err) + " data: " + JSON.stringify(data));
+ })
+}
+
+function fns(){
+ setTimeout(()=>{
+ featureAbility.startAbility({ want: {
+ bundleName: "com.example.abilitydisable",
+ abilityName: "com.example.abilitydisable.MainAbility2"
+ } }, (error, data) => {
+ console.log('SUB_AA_OpenHarmony_Clear_0100 - startMainAbility2: '
+ + JSON.stringify(error) + ", " + JSON.stringify(data))
+ expect(err.code == 0).assertTrue();
+ });
+ },100)
+ setTimeout(()=>{
+ featureAbility.startAbility({ want: {
+ bundleName: "com.example.abilitydisable",
+ abilityName: "com.example.abilitydisable.MainAbility4"
+ } }, (error, data) => {
+ console.log('SUB_AA_OpenHarmony_Clear_0100 - startMainAbility4: '
+ + JSON.stringify(error) + ", " + JSON.stringify(data))
+ expect(err.code == 0).assertTrue();
+ });
+ },300)
+ setTimeout(()=>{
+ featureAbility.startAbility({ want: {
+ bundleName: "com.example.abilitydisable",
+ abilityName: "com.example.abilitydisable.MainAbility3"
+ } }, (error, data) => {
+ console.log('SUB_AA_OpenHarmony_Clear_0100 - startMainAbility3: '
+ + JSON.stringify(error) + ", " + JSON.stringify(data))
+ expect(err.code == 0).assertTrue();
+ });
+ },500)
+ setTimeout(()=>{
+ missionManager.getMissionInfos("", 20, (err, data) => {
+ console.log('SUB_AA_OpenHarmony_Clear_0100 getMissionInfos errCode : '
+ + JSON.stringify(err) + " data: " + JSON.stringify(data));
+ for (var i = 0;i < data.length; i++) {
+ console.log("bundleName:"+data[i].want["abilityName"])
+ if(data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility3"
+ || data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility4"
+ ||data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility"
+ ||data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility2"){
+ console.log("data[i]['lockedState']::::"+data[i]['lockedState']);
+ console.log("data[i].missionId" + data[i].missionId);
+ console.log("SUB_AA_OpenHarmony_Clear_0100, missionId:" + data[i].missionId);
+ missionIds.push(data[i].missionId);
+ }
+ }
+ console.log('SUB_AA_OpenHarmony_Clear_0100 missionId:'+ missionIds +
+ typeof missionIds +missionIds[1] + typeof missionIds[1]);
+ })
+ console.log("SUB_AA_OpenHarmony_Clear_0100" + JSON.stringify(missionIds));
+ },800)
+ setTimeout(()=>{
+ missionManager.lockMission(parseInt(missionIds[1]),(err,data)=>{
+ console.log('SUB_AA_OpenHarmony_Clear_0100 lockMission1 missionIds[1] : ' +
+ JSON.stringify(missionIds[1]), + parseInt(missionIds[1]));
+ console.log('SUB_AA_OpenHarmony_Clear_0100 lockMission1 errCode : ' +
+ JSON.stringify(err) + " data: " + JSON.stringify(data));
+ })
+ },1200)
+ setTimeout(()=>{
+ missionManager.lockMission(parseInt(missionIds[2]),(err,data)=>{
+ console.log('SUB_AA_OpenHarmony_Clear_0100 lockMission2 errCode : ' +
+ JSON.stringify(err) + " data: " + JSON.stringify(data));
+ })
+ },1500)
+ setTimeout(()=>{
+ missionManager.getMissionInfos("", 20, (err, data) => {
+ console.log("SUB_AA_OpenHarmony_Clear_0100, twosgetMissionInfos:" +
+ JSON.stringify(data));
+ for (var i = 0;i < data.length; i++) {
+ console.log("data[i].missionId:missionIds[2] news missionIds[1]" +
+ data[i].missionId + missionIds[2] + missionIds[1])
+ if(data[i].missionId == missionIds[1] || data[i].missionId == missionIds[2]){
+ console.log("data[i]['lockedState']222:::::::"+data[i]['lockedState']);
+ expect(data[i]['lockedState'] == true).assertTrue();
+ }
+ }
+ })
+ console.log("SUB_AA_OpenHarmony_Clear_0100" + JSON.stringify(missionIds));
+ },3500)
+ setTimeout(()=>{
+ missionManager.getMissionInfos("", 20, (err, data) => {
+ console.log('SUB_AA_OpenHarmony_Clear_0100 getMissionInfos errCode : '
+ + JSON.stringify(err) + " data: " + JSON.stringify(data));
+ for (var i = 0;i < data.length; i++) {
+ console.log("bundleName:"+data[i].want["abilityName"])
+ if(data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility3"
+ || data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility4"
+ ||data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility"
+ ||data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility2"){
+ console.log("data[i]['lockedState']::::"+data[i]['lockedState']);
+ expect(data[i].lockedState == false).assertTrue();
+ }
+ }
+ })
+ console.log("SUB_AA_OpenHarmony_Clear_0100" + JSON.stringify(missionIds));
+ },4000)
+ setTimeout(()=>{
+ missionManager.moveMissionToFront(parseInt(missionIds[2]),(err,data)=>{
+ console.log('SUB_AA_OpenHarmony_Clear_0100 moveMissionToFront errCode : ' +
+ JSON.stringify(err) + " data: " + JSON.stringify(data));
+ })
+ },4500)
+ setTimeout(()=>{
+ missionManager.clearAllMissions((err,data)=>{
+ console.log('SUB_AA_OpenHarmony_Clear_0100 clearAllMissions errCode: ' +
+ JSON.stringify(err) + " data: " + JSON.stringify(data));
+
+ })
+ },5000)
+ setTimeout(()=>{
+ missionManager.getMissionInfos("", 20, (err, data) => {
+ console.log('SUB_AA_OpenHarmony_Clear_0100 getMissionInfos errCode : ' +
+ JSON.stringify(err) + " data: " + JSON.stringify(data));
+ for (var i = 0;i < data.length; i++) {
+ console.log("bundleName:"+data[i].want["abilityName"])
+ if(data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility3" ||
+ data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility4" ||
+ data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility"||
+ data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility2"){
+ console.log("data[i]['lockedState']end::::"+data[i]['lockedState']);
+ expect(data[i]['lockedState'] == true).assertTrue();
+ }
+ }
+ })
+ console.log("SUB_AA_OpenHarmony_Clear_0100" +
+ JSON.stringify(missionIds));
+ },8000)
+ expect(lists.indexOf(JSON.stringify("singletonEntryAbulity2_onShow"))!=-1).assertTrue();
+
+}
+describe('AbilityDisableTests', function () {
+ let mainAbility1ListS = new Array()
+ let lists = new Array()
+ function subscriberCallBackMainAbility2Destory(err,data){
+ console.log("Subscribe2 CallBack data:" + JSON.stringify(data));
+ lists.push(data["event"]);
+ console.log("subscriberCallBackMainAbility2Destory lists:"+lists);
+ };
+ function subscriberCallBackMainAbility1Destory(err,data){
+ console.log("Subscribe3 CallBack data:" + JSON.stringify(data));
+ mainAbility1ListS.push(data["event"])
+ console.log("subscriberCallBack_mainAbility3_Destory mainAbility1ListS:"+mainAbility1ListS);
+ }
+ console.log("AbilityDisableTests --- start");
+ var ability2LifeEvents = {
+ events:["ApplicationMainAbility2_onDestroy",
+ "singletonEntryAbulity2_onHide",
+ "singletonEntryAbulity2_onActive",
+ "singletonEntryAbulity2_onInactive",
+ "singletonEntryAbility2_onDestroy",
+ "singletonEntryAbulity2_onShow",
+ "ApplicationMainAbility2_onCreate",]
+ };
+ var ability1LifeEvents = {
+ events:["singletonEntryAbulity3_onHide",
+ "singletonEntryAbulity3_onActive",
+ "singletonEntryAbulity3_onInactive",
+ "singletonEntryAbility3_onDestroy",
+ "singletonEntryAbulity3_onShow",
+ "ApplicationMainAbility3_onCreate",
+ "ApplicationMainAbility3_onDestroy",
+ ]
+ };
+
+ /*
+ * @tc.number SUB_AA_OpenHarmony_MoveMissionToFront_2900
+ * @tc.name Verify the full-screen switching application
+ * @tc.desc Function test
+ * @tc.level 0
+ */
+ it('SUB_AA_OpenHarmony_MoveMissionToFront_2900', 0, async function (done) {
+
+ var Subscriber2 = [];
+ var Subscriber1 = [];
+ var mainAbility1missinds = []
+ console.log("SUB_AA_OpenHarmony_MoveMissionToFront_2900 --- start")
+ commonEvent.createSubscriber(ability2LifeEvents).then(async (data)=>{
+ console.log("Create Subscriber2=======>:"+JSON.stringify(data));
+ Subscriber2 = data;
+ console.log("data2 is:" + JSON.stringify(Subscriber2));
+ await commonEvent.subscribe(Subscriber2,subscriberCallBackMainAbility2Destory)
+ });
+ commonEvent.createSubscriber(ability1LifeEvents).then(async (data)=>{
+ console.log("Create Subscriber1=======>:"+JSON.stringify(data));
+ Subscriber1 = data;
+ console.log("data2 is:" + JSON.stringify(Subscriber1));
+ await commonEvent.subscribe(Subscriber1,subscriberCallBackMainAbility1Destory)
+ });
+ setTimeout(()=>{
+ featureAbility.startAbility({ want: {
+ bundleName: "com.example.abilitydisable",
+ abilityName: "com.example.abilitydisable.MainAbility2"
+ } }, (error, data) => {
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_2900 - startMainAbility2: '
+ + JSON.stringify(error) + ", " + JSON.stringify(data));
+ });
+ },500)
+ setTimeout(()=>{
+ featureAbility.startAbility({ want: {
+ bundleName: "com.example.abilitydisable",
+ abilityName: "com.example.abilitydisable.MainAbility3"
+ } }, (error, data) => {
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_2900 - startMainAbility3: '
+ + JSON.stringify(error) + ", " + JSON.stringify(data));
+ });
+ },1000);
+ setTimeout(()=>{
+ console.log("1111subscriberCallBackMainAbility2Destory lists:"+lists);
+ expect(lists.indexOf(JSON.stringify("singletonEntryAbulity2_onShow"))!=-1).assertTrue();
+ expect(lists.indexOf(JSON.stringify("ApplicationMainAbility2_onCreate"))!=-1).assertTrue();
+ },2500)
+ setTimeout(()=>{
+ missionManager.getMissionInfos("", 100, (err, data) => {
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_2900 getMissionInfos errCode: '+
+JSON.stringify(err) + " data: " + JSON.stringify(data));
+ for (var i = 0;i < data.length; i++) {
+ if(data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility2"){
+ mainAbility1missinds.push(data[i]["missionId"])
+ }
+
+ }
+ console.log("mainAbility1missinds:"+mainAbility1missinds);
+ });
+ },3000)
+ setTimeout(()=>{
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_2900 moveMissionToFront dataCode:++++++');
+ missionManager.moveMissionToFront(parseInt(mainAbility1missinds[0]),{
+ parameters:{ "windowMode":1 }}).then((data)=>{
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_2900 moveMissionToFront dataCode:'+ " data:"
+ + JSON.stringify(data));
+ expect().assertFail();
+ }).catch((err)=>{
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_2900 moveMissionToFront errCode:'+ " err:"
+ + JSON.stringify(err));
+ });
+ },3888);
+ setTimeout(()=>{
+ console.log("1111subscriberCallBackMainAbility1Destory lists:"+ mainAbility1ListS);
+ expect(mainAbility1ListS.indexOf(JSON.stringify("singletonEntrymainAb" +
+ "ility1ListSAbulity1_onInactive"))!=-1).assertTrue();
+ expect(mainAbility1ListS.indexOf(JSON.stringify("singletonEntryA" +
+ "bulity1_onHide"))!=-1).assertTrue();
+ },3999);
+ done()
+ });
+
+ /*
+ * @tc.number SUB_AA_OpenHarmony_MoveMissionToFront_3000
+ * @tc.name Verify the left split screen switching application
+ * @tc.desc Function test
+ * @tc.level 0
+ */
+ it('SUB_AA_OpenHarmony_MoveMissionToFront_3000', 0, async function (done) {
+ var Subscriber2 = "";
+ var Subscriber1 = "";
+ var mainAbility1missinds = []
+ console.log("SUB_AA_OpenHarmony_MoveMissionToFront_3000 --- start")
+ commonEvent.createSubscriber(ability2LifeEvents).then(async (data)=>{
+ console.log("Create Subscriber2=======>:"+JSON.stringify(data));
+ Subscriber2 = data;
+ console.log("data2 is:" + JSON.stringify(Subscriber2));
+ await commonEvent.subscribe(Subscriber2,subscriberCallBackMainAbility2Destory)
+ });
+ commonEvent.createSubscriber(ability1LifeEvents).then(async (data)=>{
+ console.log("Create Subscriber1=======>:"+JSON.stringify(data));
+ Subscriber1 = data;
+ console.log("data2 is:" + JSON.stringify(Subscriber1));
+ await commonEvent.subscribe(Subscriber1,subscriberCallBackMainAbility1Destory)
+ });
+
+ setTimeout(()=>{
+ featureAbility.startAbility({ want: {
+ bundleName: "com.example.abilitydisable",
+ abilityName: "com.example.abilitydisable.MainAbility2"
+ } }, (error, data) => {
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_3000 - startMainAbility2: '
+ + JSON.stringify(error) + ", " + JSON.stringify(data));
+ });
+ },500);
+ setTimeout(()=>{
+ featureAbility.startAbility({ want: {
+ bundleName: "com.example.abilitydisable",
+ abilityName: "com.example.abilitydisable.MainAbility3"
+ } }, (error, data) => {
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_3000 - startMainAbility3: '
+ + JSON.stringify(error) + ", " + JSON.stringify(data));
+ });
+ },1000);
+ setTimeout(()=>{
+ console.log("1111subscriberCallBack_mainAbility2_lists:
+singletonEntryAbulity2_onShow:"+lists);
+ console.log("+++++++++++++++++"+lists.indexOf("singletonEntryAbulity2_onShow")+"+++++++"+lists.indexOf("ApplicationMainAbility2_onCreate")+lists)
+ expect(lists.indexOf(JSON.stringify("singletonEntryAbulity2_onShow"))!=-1).assertTrue();
+ expect(lists.indexOf(JSON.stringify("ApplicationMainAbility2_onCreate"))!=-1).assertTrue();
+ },2500);
+ setTimeout(()=>{
+ missionManager.getMissionInfos("", 100, (err, data) => {
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_3000 getMissionInfos errCode: '+ JSON.stringify(err) + " data: " + JSON.stringify(data));
+ for (var i = 0;i < data.length; i++) {
+ console.log("bundleName222222:"+data[i].want["abilityName"]+"data[i]['lockedState']::::"+data[i]['lockedState']);
+ if(data[i].want["abilityName"] == "com.example.abilitydisable.MainAbility3"){
+ console.log('data[i]["missionId"]'+data[i]["missionId"] + "::::"+data[i].want["abilityName"]);
+ mainAbility1missinds.push(data[i]["missionId"])
+ }
+ }
+ console.log("mainAbility1missinds:"+mainAbility1missinds);
+ });
+ },3000);
+ setTimeout(()=>{
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_3000 moveMissionToFront dataCode:++++++');
+ missionManager.moveMissionToFront(parseInt(mainAbility1missinds[0]),{
+ parameters:{ "windowMode":100 }}).then((data)=>{
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_3000
+moveMissionToFront dataCode:'+ " data:" + JSON.stringify(data));
+ }).catch((err)=>{
+ console.log('SUB_AA_OpenHarmony_MoveMissionToFront_3000
+moveMissionToFront errCode:'+ " err:" + JSON.stringify(err));
+ });
+ },3888);
+ setTimeout(()=>{
+ expect(mainAbility1ListS.indexOf(JSON.stringify("singletonEntryAbulity1_onInactive"))==-1).assertTrue();
+ expect(mainAbility1ListS.indexOf(JSON.stringify("singletonEntryAbulity1_onHide"))==-1).assertTrue();
+ },3999);
+ done();
+ });
+})
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/test/ClearTest.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/test/ClearTest.js
new file mode 100644
index 0000000000000000000000000000000000000000..dfe6123932c6b426769b8e006e73abb45818a480
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/test/ClearTest.js
@@ -0,0 +1,123 @@
+
+/*
+ * Copyright (c) 2021 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.
+ */
+// @ts-nocheck
+import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from "deccjsunit/index"
+import missionManager from '@ohos.application.missionManager';
+import abilityFeatureAbility from '@ohos.ability.featureAbility';
+import bundleManager from '@ohos.bundle';
+import appManager from "@ohos.application.appManager"
+import commonEvent from '@ohos.commonEvent';
+import {onDestroys} from "../MainAbility2/app.js"
+import abilityManager from '@ohos.application.abilityManager'
+import ConfigurationConstant from "@ohos.application.ConfigurationConstant";
+import AbilityConstant from '@ohos.application.AbilityConstant'
+describe('AbilityDisableTests', function () {
+
+ /*
+ * @tc.number SUB_AA_OpenHarmony_AbilityStart_6200
+ * @tc.name Verify the enumeration values LaunchReason. CONTINUATION
+ * @tc.desc Function test
+ * @tc.level 0
+ */
+ it("SUB_AA_OpenHarmony_AbilityStart_6200", 0, async function (done) {
+ console.info("--------logMessage SUB_AA_OpenHarmony_AbilityStart_6300----");
+ console.info("SUB_AA_OpenHarmony_AbilityStart_6200 LaunchReason.CONTINUATION: " + AbilityConstant.LaunchReason.CONTINUATION);
+ expect(AbilityConstant.LaunchReason.CONTINUATION==3).assertTrue();
+ done();
+ });
+
+ /*
+ * @tc.number SUB_AA_OpenHarmony_AbilityStart_6300
+ * @tc.name Verify the enumeration value launchreason.start UNKNOWN
+ * @tc.desc Function test
+ * @tc.level 0
+ */
+ it("SUB_AA_OpenHarmony_AbilityStart_6300", 0, async function (done) {
+ console.info("--------logMessage SUB_AA_OpenHarmony_AbilityStart_6300----");
+ console.info("SUB_AA_OpenHarmony_AbilityStart_6300 LaunchReason.UNKNOWN: " +
+AbilityConstant.LaunchReason.UNKNOWN);
+ expect(AbilityConstant.LaunchReason.UNKNOWN==0).assertTrue();
+ done();
+ });
+
+ /*
+ * @tc.number SUB_AA_OpenHarmony_AbilityStart_6400
+ * @tc.name Verify the enumeration value launchreason.START_ABILITY
+ * @tc.desc Function test
+ * @tc.level 0
+ */
+ it("SUB_AA_OpenHarmony_AbilityStart_6400", 0, async function (done) {
+ console.info("------logMessage SUB_AA_OpenHarmony_AbilityStart_6400-----");
+ console.info("SUB_AA_OpenHarmony_AbilityStart_6400 LaunchReason.START_ABILITY: " + AbilityConstant.LaunchReason.START_ABILITY);
+ expect(AbilityConstant.LaunchReason.START_ABILITY==1).assertTrue();
+ done();
+ });
+
+ /*
+ * @tc.number SUB_AA_OpenHarmony_AbilityStart_6500
+ * @tc.name Verify the enumeration values LaunchReason. CALL
+ * @tc.desc Function test
+ * @tc.level 0
+ */
+ it("SUB_AA_OpenHarmony_AbilityStart_6500", 0, async function (done) {
+ console.info("-------logMessage SUB_AA_OpenHarmony_AbilityStart_6500-----");
+ console.info("SUB_AA_OpenHarmony_AbilityStart_6500 LaunchReason.CALL: " +
+AbilityConstant.LaunchReason.CALL);
+ expect(AbilityConstant.LaunchReason.CALL==2).assertTrue();
+ done();
+ });
+
+ /*
+ * @tc.number SUB_AA_OpenHarmony_AbilityStart_6600
+ * @tc.name Verify the enumeration values LastExitReason.UNKNOWN
+ * @tc.desc Function test
+ * @tc.level 0
+ */
+ it("SUB_AA_OpenHarmony_AbilityStart_6600", 0, async function (done) {
+ console.info("---------logMessage SUB_AA_OpenHarmony_AbilityStart_6600---------");
+ console.info("SUB_AA_OpenHarmony_AbilityStart_6600 LastExitReason.UNKNOWN: " +
+ AbilityConstant.LastExitReason.UNKNOWN);
+ expect(AbilityConstant.LastExitReason.UNKNOWN==0).assertTrue();
+ done();
+ });
+
+ /*
+ * @tc.number SUB_AA_OpenHarmony_AbilityStart_6700
+ * @tc.name Verify the enumeration values LastExitReason.ABILITY_NOT_RESPONDING
+ * @tc.desc Function test
+ * @tc.level 0
+ */
+ it("SUB_AA_OpenHarmony_AbilityStart_6700", 0, async function (done) {
+ console.info("--------logMessage SUB_AA_OpenHarmony_AbilityStart_6700---------");
+ console.info("SUB_AA_OpenHarmony_AbilityStart_6700 LastExitReason.ABILITY_NOT_RESPONDING: " + AbilityConstant.LastExitReason.ABILITY_NOT_RESPONDING);
+ expect(AbilityConstant.LastExitReason.ABILITY_NOT_RESPONDING==1).assertTrue();
+ done();
+ });
+
+ /*
+ * @tc.number SUB_AA_OpenHarmony_AbilityStart_6700
+ * @tc.name Verify the enumeration values LastExitReason.NORMAL
+ * @tc.desc Function test
+ * @tc.level 0
+ */
+ it("SUB_AA_OpenHarmony_AbilityStart_6800", 0, async function (done) {
+ console.info("-----logMessage SUB_AA_OpenHarmony_AbilityStart_6800-----------");
+ console.info("SUB_AA_OpenHarmony_AbilityStart_6800 LastExitReason.NORMAL: " +
+ AbilityConstant.LastExitReason.NORMAL);
+ expect(AbilityConstant.LastExitReason.NORMAL==2).assertTrue();
+ done();
+ });
+})
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/test/List.test.js b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/test/List.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..41ed56e0457d0ec9bfc0b11d359bc352ea6c0052
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/js/test/List.test.js
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2021 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.
+ */
+require('./ClearTest.js');
+require('./AbilityDisableTest.js');
+
+
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/resources/base/element/string.json b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/resources/base/element/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..2e8b3cf8ad2f92e47882e62285122d098547a872
--- /dev/null
+++ b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/resources/base/element/string.json
@@ -0,0 +1,40 @@
+{
+ "string": [
+ {
+ "name": "entry_MainAbility",
+ "value": "entry_MainAbility"
+ },
+ {
+ "name": "description_mainability",
+ "value": "JS_Empty Ability"
+ },
+ {
+ "name": "description_mainability2",
+ "value": "JS_Empty Ability"
+ },
+ {
+ "name": "entry_MainAbility2",
+ "value": "entry_MainAbility2"
+ },
+ {
+ "name": "description_mainability3",
+ "value": "JS_Empty Ability"
+ },
+ {
+ "name": "entry_MainAbility3",
+ "value": "entry_MainAbility3"
+ },
+ {
+ "name": "description_mainability4",
+ "value": "JS_Empty Ability"
+ },
+ {
+ "name": "entry_MainAbility4",
+ "value": "entry_MainAbility4"
+ },
+ {
+ "name": "description_serviceability",
+ "value": "hap sample empty service"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/resources/base/media/icon.png b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/resources/base/media/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c
Binary files /dev/null and b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/entry/src/main/resources/base/media/icon.png differ
diff --git a/aafwk/aafwk_standard/fa/fa_configurationconstant_test/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/signature/openharmony_sx.p7b
new file mode 100755
index 0000000000000000000000000000000000000000..66b4457a8a81fb8d3356cf46d67226c850944858
Binary files /dev/null and b/aafwk/aafwk_standard/fa/fa_configurationconstant_test/signature/openharmony_sx.p7b differ