diff --git a/appexecfwk/bundle_standard/bundlemanager/BUILD.gn b/appexecfwk/bundle_standard/bundlemanager/BUILD.gn old mode 100755 new mode 100644 index 0e131d5bbe3f14ebe80ed53b0f858aca40d58a5c..15ac6da0720f79428d0ececa6cb6e8a1df0d4050 --- a/appexecfwk/bundle_standard/bundlemanager/BUILD.gn +++ b/appexecfwk/bundle_standard/bundlemanager/BUILD.gn @@ -19,8 +19,7 @@ group("bundlemanager") { deps = [ "actsbmsallshortcutinfotest:ActsBmsAllShortcutInfoTest", "actsbmscheckpermissiontest:ActsBmsCheckPermissionTest", - - #"actsbmsgetinfostest:ActsBmsGetInfosTest", + "actsbmsgetinfostest:ActsBmsGetInfosTest", "actsbmshapmoduletest:ActsBmsHapModuleTest", "actsbmsjstest:ActsBmsJsTest", "actsbmskittest:ActsBmsKitTest", @@ -29,7 +28,10 @@ group("bundlemanager") { "actsbundlemanagertest:ActsBundleManagerTest", "actsbundlemanageruninstall:ActsBundleManagerUninstallTest", - # "bmscheckpermissiontest:ActsBmsCheckPermissionTest", + # "bmscheckpermissiontest:ActsBmsCheckPermissionManualTest", + # "bmspermissionchangetest:ActsBmsPermissionChangeManualTest", + + "sceneProject/bmsfirstrequestpermissions:FirstRequestPermissions", "sceneProject/bmsgetinfosfifthscene:bmsThirdBundleTest5", "sceneProject/bmsgetinfosfirstscene:bmsThirdBundleTest1", "sceneProject/bmsgetinfosfirstsceneupdate:bmsThirdBundleTestA1", @@ -39,8 +41,7 @@ group("bundlemanager") { "sceneProject/bmsgetinfosscenesystem:bmsSystemBundleTest1", "sceneProject/bmsgetinfosscenevendor:bmsVendorBundleTest1", "sceneProject/bmsgetinfossecondscene:bmsThirdBundleTest2", - - #"sceneProject/bmsgetinfossixthscene:bmsThirdBundleTest6", + "sceneProject/bmsgetinfossixthscene:bmsThirdBundleTest6", "sceneProject/bmsgetinfosthirdscene:bmsThirdBundleTest3", "sceneProject/bmsmainabilityfirstscene:bmsMainAbilityFirstScene", "sceneProject/bmsmainabilitysecondscene:bmsMainAbilitySecondScene", @@ -53,6 +54,7 @@ group("bundlemanager") { "sceneProject/bmsscenesix:bmsJstest6", "sceneProject/bmsscenethree:bmsJstest3", "sceneProject/bmsscenetwo:bmsJstest2", + "sceneProject/bmssecondrequestpermissions:SecondRequestPermissions", ] } } diff --git a/appexecfwk/bundle_standard/bundlemanager/actsbmscheckpermissiontest/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/actsbmscheckpermissiontest/signature/openharmony_sx.p7b old mode 100644 new mode 100755 index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 Binary files a/appexecfwk/bundle_standard/bundlemanager/actsbmscheckpermissiontest/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/actsbmscheckpermissiontest/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/ActsBmsGetBackGroundModes.test.js b/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/ActsBmsGetBackGroundModes.test.js index 11c3eebdbc591eebfc7f51b76fa97dee49039a1b..b3d08e132dd8a86f5dbc35d40406ed3d40886aa9 100644 --- a/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/ActsBmsGetBackGroundModes.test.js +++ b/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/ActsBmsGetBackGroundModes.test.js @@ -23,6 +23,11 @@ const BUNDLE_PATH4 = '/data/test/bmsThirdBundleTest4.hap'; const BUNDLE_PATH5 = '/data/test/bmsThirdBundleTest5.hap'; const BUNDLE_PATH6 = '/data/test/bmsThirdBundleTest6.hap'; const BUNDLE_PATHUPDATE = '/data/test/bmsThirdBundleTestA1.hap'; +const BUNDLE_NAME1 = 'com.example.third1'; +const BUNDLE_NAME2 = 'com.example.third2'; +const BUNDLE_NAME4 = 'com.example.third4'; +const BUNDLE_NAME5 = 'com.example.third5'; +const BUNDLE_NAME6 = 'com.example.third6'; const NUM_TWO = 2; const NUM_NINE = 9; let dataTransfer = 1; @@ -62,7 +67,7 @@ describe('ActsBmsGetBackGroundModes', function () { entities: ['entity.system.home'], elementName: { deviceId: '0', - bundleName: 'com.example.third5', + bundleName: BUNDLE_NAME5, abilityName: 'com.example.third5.AMainAbility', }, } @@ -75,7 +80,7 @@ describe('ActsBmsGetBackGroundModes', function () { expect(dataInfos[1].name).assertEqual("com.example.third5.BMainAbility"); expect(dataInfos[1].backgroundModes).assertEqual(dataTransfer + voip); } - installer.uninstall('com.example.third5', { + installer.uninstall(BUNDLE_NAME5, { param: { userId: 0, installFlag: 1, @@ -92,7 +97,7 @@ describe('ActsBmsGetBackGroundModes', function () { /* * @tc.number: bms_backGroundModes_0200 - * @tc.name: Get the backgroundModes information of the application through queryAbilityByWant + * @tc.name: Get the backgroundModes information of the application through queryAbilityByWant * @tc.desc: Get all background modes information, and each ability of the application * contains one of the background mode */ @@ -116,7 +121,7 @@ describe('ActsBmsGetBackGroundModes', function () { entities: ['entity.system.home'], elementName: { deviceId: '0', - bundleName: 'com.example.third6', + bundleName: BUNDLE_NAME6, abilityName: '', }, } @@ -127,7 +132,7 @@ describe('ActsBmsGetBackGroundModes', function () { console.info("==========dataInfos[i].backgroundModes=========" + dataInfos[i].backgroundModes); console.info("==========dataInfos[1].name=========" + dataInfos[i].name); } - installer.uninstall('com.example.third6', { + installer.uninstall(BUNDLE_NAME6, { param: { userId: 0, installFlag: 1, @@ -144,8 +149,8 @@ describe('ActsBmsGetBackGroundModes', function () { /* * @tc.number: bms_backGroundModes_0300 - * @tc.name: Get the backgroundModes information of the application through queryAbilityByWant - * @tc.desc: Read the backgroundModes information of the app's ability and replace invalid attributes + * @tc.name: Get the backgroundModes information of the application through queryAbilityByWant + * @tc.desc: Read the backgroundModes information of the app's ability and replace invalid attributes */ it('bms_backGroundModes_0300', 0, async function (done) { console.info('=====================bms_backGroundModes_0300=================='); @@ -167,7 +172,7 @@ describe('ActsBmsGetBackGroundModes', function () { entities: ['entity.system.home'], elementName: { deviceId: '0', - bundleName: 'com.example.third2', + bundleName: BUNDLE_NAME2, abilityName: 'com.example.third2.MainAbility', }, } @@ -178,7 +183,7 @@ describe('ActsBmsGetBackGroundModes', function () { expect(dataInfos[0].backgroundModes).assertEqual(audioPlayback + audioRecording + location + bluetoothInteraction + multiDeviceConnection + wifiInteraction + voip + taskKeeping) } - installer.uninstall('com.example.third2', { + installer.uninstall(BUNDLE_NAME2, { param: { userId: 0, installFlag: 1, @@ -195,8 +200,8 @@ describe('ActsBmsGetBackGroundModes', function () { /* * @tc.number: bms_backGroundModes_0400 - * @tc.name: Get the backgroundModes information of the application through queryAbilityByWant - * @tc.desc: Read the backgroundModes information of the app's ability and replace invalid attributes + * @tc.name: Get the backgroundModes information of the application through queryAbilityByWant + * @tc.desc: Read the backgroundModes information of the app's ability and replace invalid attributes */ it('bms_backGroundModes_0400', 0, async function (done) { console.info('=====================bms_backGroundModes_0400=================='); @@ -218,7 +223,7 @@ describe('ActsBmsGetBackGroundModes', function () { entities: ['entity.system.home'], elementName: { deviceId: '0', - bundleName: 'com.example.third4', + bundleName: BUNDLE_NAME4, abilityName: 'com.example.third4.MainAbility', }, } @@ -228,7 +233,7 @@ describe('ActsBmsGetBackGroundModes', function () { expect(dataInfos[0].name).assertEqual("com.example.third4.MainAbility") expect(dataInfos[0].backgroundModes).assertEqual(0) } - installer.uninstall('com.example.third4', { + installer.uninstall(BUNDLE_NAME4, { param: { userId: 0, installFlag: 1, @@ -245,8 +250,8 @@ describe('ActsBmsGetBackGroundModes', function () { /* * @tc.number: bms_backGroundModes_0500 - * @tc.name: Get the backgroundModes information of the application through queryAbilityByWant - * @tc.desc: Get the backgroundModes information of the multi-hap package of the application + * @tc.name: Get the backgroundModes information of the application through queryAbilityByWant + * @tc.desc: Get the backgroundModes information of the multi-hap package of the application */ it('bms_backGroundModes_0500', 0, async function (done) { console.info('=====================bms_backGroundModes_0500=================='); @@ -268,8 +273,8 @@ describe('ActsBmsGetBackGroundModes', function () { entities: ['entity.system.home'], elementName: { deviceId: '0', - bundleName: 'com.example.third1', - abilityName: 'com.example.third1.AMainAbility', + bundleName: BUNDLE_NAME1, + abilityName: 'com.example.third1.MainAbility', }, } }, 0, 0) @@ -280,7 +285,7 @@ describe('ActsBmsGetBackGroundModes', function () { location + bluetoothInteraction + multiDeviceConnection + wifiInteraction + voip + taskKeeping) } console.info("========dataInfos[0].backgroundModes=======>" + dataInfos[0].backgroundModes) - installer.uninstall('com.example.third1', { + installer.uninstall(BUNDLE_NAME1, { param: { userId: 0, installFlag: 1, @@ -298,7 +303,7 @@ describe('ActsBmsGetBackGroundModes', function () { /* * @tc.number: bms_backGroundModes_0600 * @tc.name: Get the backgroundModes information of the application through queryAbilityByWant - * @tc.desc: Get the backgroundModes information of the upgraded application's ability + * @tc.desc: Get the backgroundModes information of the upgraded application's ability */ it('bms_backGroundModes_0600', 0, async function (done) { console.info('=====================bms_backGroundModes_0600=================='); @@ -321,7 +326,7 @@ describe('ActsBmsGetBackGroundModes', function () { entities: ['entity.system.home'], elementName: { deviceId: '0', - bundleName: 'com.example.third1', + bundleName: BUNDLE_NAME1, abilityName: 'com.example.third1.MainAbility', }, } @@ -348,8 +353,8 @@ describe('ActsBmsGetBackGroundModes', function () { entities: ['entity.system.home'], elementName: { deviceId: '0', - bundleName: 'com.example.third1', - abilityName: 'com.example.third1.AMainAbility', + bundleName: BUNDLE_NAME1, + abilityName: 'com.example.third1.MainAbility', }, } }, 0, 0) @@ -359,8 +364,7 @@ describe('ActsBmsGetBackGroundModes', function () { expect(dataInfos[0].backgroundModes).assertEqual(audioRecording + location + bluetoothInteraction + multiDeviceConnection + wifiInteraction + voip + taskKeeping); } - console.info("========dataInfos[0].backgroundModes=======>" + dataInfos[0].backgroundModes) - installer.uninstall('com.example.third1', { + installer.uninstall(BUNDLE_NAME1, { param: { userId: 0, installFlag: 1, @@ -375,4 +379,67 @@ describe('ActsBmsGetBackGroundModes', function () { }) }) }) + + /* + * @tc.number: bms_backGroundModes_0700 + * @tc.name: Get the backgroundModes information of the application through queryAbilityByWant + * @tc.desc: Uninstall the application, get the backgroundModes information of the upgraded application's ability + */ + it('bms_backGroundModes_0700', 0, async function (done) { + console.info('=====================bms_backGroundModes_0700=================='); + var bundlePath = [BUNDLE_PATH1] + var installer = await bundle.getBundleInstaller(); + installer.install(bundlePath, { + param: { + userId: 0, + installFlag: 1, + isKeepData: false + } + }, async (err, data) => { + expect(err.code).assertEqual(0); + expect(data.status).assertEqual(0); + expect(data.statusMessage).assertEqual('SUCCESS'); + var dataInfos = await bundle.queryAbilityByWant({ + want: { + action: 'action.system.home', + entities: ['entity.system.home'], + elementName: { + deviceId: '0', + bundleName: BUNDLE_NAME1, + abilityName: 'com.example.third1.MainAbility' + } + } + }, 0, 0) + expect(dataInfos.length).assertEqual(1); + if (dataInfos.length == 1) { + expect(dataInfos[0].name).assertEqual("com.example.third1.MainAbility") + expect(dataInfos[0].backgroundModes).assertEqual(dataTransfer + audioPlayback + audioRecording + + location + bluetoothInteraction + multiDeviceConnection + wifiInteraction + voip + taskKeeping) + } + installer.uninstall(BUNDLE_NAME1, { + param: { + userId: 0, + installFlag: 1, + isKeepData: false + } + }, async (err, data) => { + expect(err.code).assertEqual(0); + expect(data.status).assertEqual(0); + expect(data.statusMessage).assertEqual('SUCCESS'); + var dataInfos = await bundle.queryAbilityByWant({ + want: { + action: 'action.system.home', + entities: ['entity.system.home'], + elementName: { + deviceId: '0', + bundleName: BUNDLE_NAME1, + abilityName: 'com.example.third1.MainAbility' + } + } + }, 0, 0) + expect(dataInfos.length).assertEqual(0); + done(); + }); + }) + }) }) \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/ActsBmsPermissionChange.test.js b/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/ActsBmsPermissionChange.test.js new file mode 100644 index 0000000000000000000000000000000000000000..3bfa8dfd7838691605638026eaf3c8bc2fb4e329 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/ActsBmsPermissionChange.test.js @@ -0,0 +1,222 @@ +/* + * 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 bundle from '@ohos.bundle' +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit' + +const TIMEOUT = 1000; +const DEFAULT_ERRCODE = 100; +let uid; +let systemUid; +describe('ActsBmsGetRegisterPermissionTest', function () { + beforeAll(async (done) => { + console.info('=========before all start======') + var bundleInfo = await bundle.getBundleInfo('com.example.actsbmsgetinfostest', 1); + uid = bundleInfo.uid; + var systemBundleInfo = await bundle.getBundleInfo('com.example.system1', 1); + systemUid = systemBundleInfo.uid; + done(); + }) + + /* + * @tc.number: bms_unregisterPermissionChange_0100 + * @tc.name: unregister permissionChange callback by other callback + * @tc.desc: 1.register permissionChange callback + * 2.unregister permissionChange callback by other different callback + */ + it('bms_unregisterPermissionChange_0100', 0, async function (done) { + console.info('=====================start bms_unregisterPermissionChange_0100=================='); + function callbackOne(err, data) { + console.info('=====================bms_getRegisterPermission_0100=================='); + expect(err.code).assertEqual(0); + console.info('===========bundleInfo.data========' + JSON.stringify(data)); + expect(data).assertEqual(undefined); + done(); + } + + function callbackTwo(err, data) { + expect(err.code).assertEqual(-1); + expect(data).assertEqual(undefined); + } + bundle.on('permissionChange', [uid], callbackOne) + setTimeout(() => { + bundle.off('permissionChange', [uid], callbackTwo) + setTimeout(() => { + bundle.off('permissionChange', [uid], callbackOne) + }, TIMEOUT); + }, TIMEOUT); + }) + + /* + * @tc.number: bms_unregisterPermissionChange_0100 + * @tc.name: unregister permissionChange callback by other uid list + * @tc.desc: 1.register permissionChange callback + * 2.unregister permissionChange callback by other uid list + */ + it('bms_unregisterPermissionChange_0200', 0, async function (done) { + console.info('=====================start bms_unregisterPermissionChange_0200=================='); + var errCode = DEFAULT_ERRCODE; + function callback(err, data) { + errCode = err.code; + } + bundle.on('permissionChange', [uid, systemUid], callback) + setTimeout(() => { + bundle.off('permissionChange', [uid], callback) + setTimeout(() => { + expect(errCode).assertEqual(-1); + bundle.off('permissionChange', [uid, systemUid], callback) + setTimeout(() => { + expect(errCode).assertEqual(0); + done(); + }, TIMEOUT); + }, TIMEOUT); + }, TIMEOUT); + }) + + /* + * @tc.number: bms_unregisterPermissionChange_0300 + * @tc.name: repeatly unregister permissionChange callback + * @tc.desc: 1.register permissionChange callback + * 2.repeatly unregister permissionChange callback + */ + it('bms_unregisterPermissionChange_0300', 0, async function (done) { + console.info('=====================start bms_unregisterPermissionChange_0300=================='); + var errCode = DEFAULT_ERRCODE; + function callback(err, data) { + console.info('=======call back errCode=======' + err.code) + errCode = err.code; + } + bundle.on('permissionChange', [uid], callback) + setTimeout(() => { + bundle.off('permissionChange', [uid], callback) + setTimeout(() => { + expect(errCode).assertEqual(0); + bundle.off('permissionChange', [uid], callback) + setTimeout(() => { + expect(errCode).assertEqual(-1); + bundle.off('permissionChange', [uid], callback) + setTimeout(() => { + expect(errCode).assertEqual(-1); + done(); + }, TIMEOUT); + }, TIMEOUT); + }, TIMEOUT); + }, TIMEOUT); + }) + + /* + * @tc.number: bms_unregisterPermissionChange_0400 + * @tc.name: unregister permissionChange callback by anonymous callback + * @tc.desc: 1.register permissionChange callback by anonymous callback + * 2.unregister permissionChange callback by anonymous callback + */ + it('bms_unregisterPermissionChange_0400', 0, async function (done) { + console.info('=====================start bms_unregisterPermissionChange_0400=================='); + bundle.on('permissionChange', [uid], (err, data) => { + console.info('========register permission change========') + expect(err.code).assertEqual(-1); + done(); + }) + setTimeout(() => { + bundle.off('permissionChange', [uid], (err, data) => { + console.info('========register permission change========') + expect(err.code).assertEqual(-1); + done(); + }) + }) + }) + + /* + * @tc.number: bms_unregisterAnyPermissionChange_0100 + * @tc.name: unregister anyPermissionChange callback by other callback + * @tc.desc: 1.register anyPermissionChange callback + * 2.unregister anyPermissionChange callback by other different callback + */ + it('bms_unregisterAnyPermissionChange_0100', 0, async function (done) { + console.info('=====================start bms_unregisterAnyPermissionChange_0100=================='); + function callbackOne(err, data) { + console.info('=====================bms_bms_unregisterAnyPermissionChange_0100=================='); + expect(err.code).assertEqual(0); + console.info('===========bundleInfo.data========' + JSON.stringify(data)); + expect(data).assertEqual(undefined); + done(); + } + + function callbackTwo(err, data) { + expect(err.code).assertEqual(-1); + expect(data).assertEqual(undefined); + } + bundle.on('anyPermissionChange', callbackOne) + setTimeout(() => { + bundle.off('anyPermissionChange', callbackTwo) + setTimeout(() => { + bundle.off('anyPermissionChange', callbackOne) + }, TIMEOUT); + }, TIMEOUT); + }) + + /* + * @tc.number: bms_unregisterAnyPermissionChange_0200 + * @tc.name: repeatly unregister anyPermissionChange callback + * @tc.desc: 1.register anyPermissionChange callback + * 2.repeatly unregister anyPermissionChange callback + */ + it('bms_unregisterAnyPermissionChange_0200', 0, async function (done) { + console.info('=====================start bms_unregisterAnyPermissionChange_0200=================='); + var errCode = DEFAULT_ERRCODE; + function callback(err, data) { + console.info('=======call back errCode=======' + err.code) + errCode = err.code; + } + bundle.on('anyPermissionChange', callback) + setTimeout(() => { + bundle.off('anyPermissionChange', callback) + setTimeout(() => { + expect(errCode).assertEqual(0); + bundle.off('anyPermissionChange', callback) + setTimeout(() => { + expect(errCode).assertEqual(-1); + bundle.off('anyPermissionChange', callback) + setTimeout(() => { + expect(errCode).assertEqual(-1); + done(); + }, TIMEOUT); + }, TIMEOUT); + }, TIMEOUT); + }, TIMEOUT); + }) + + /* + * @tc.number: bms_unregisterAnyPermissionChange_0300 + * @tc.name: unregister anyPermissionChange callback by anonymous callback + * @tc.desc: 1.register anyPermissionChange callback by anonymous callback + * 2.unregister anyPermissionChange callback by anonymous callback + */ + it('bms_unregisterAnyPermissionChange_0300', 0, async function (done) { + console.info('=====================start bms_unregisterAnyPermissionChange_0300=================='); + bundle.on('anyPermissionChange', (err, data) => { + console.info('========register permission change========') + expect(err.code).assertEqual(-1); + done(); + }) + setTimeout(() => { + bundle.off('anyPermissionChange', (err, data) => { + console.info('========register permission change========') + expect(err.code).assertEqual(-1); + done(); + }) + }) + }) +}) \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/List.test.js b/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/List.test.js index 673e2c7e6eabd1127771ed3d9038fc55936d502d..1312e2e33a7aa6d2c8ee8dd29f8ca434ff4822ef 100644 --- a/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/List.test.js +++ b/appexecfwk/bundle_standard/bundlemanager/actsbmsgetinfostest/entry/src/main/js/test/List.test.js @@ -13,4 +13,5 @@ * limitations under the License. */ require('./ActsBmsGetBackGroundModes.test.js') -require('./ActsBmsFormsInfoTest.test.js') \ No newline at end of file +require('./ActsBmsFormsInfoTest.test.js') +require('./ActsBmsPermissionChange.test.js') \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/bmscheckpermissiontest/BUILD.gn b/appexecfwk/bundle_standard/bundlemanager/bmscheckpermissiontest/BUILD.gn index 68eeb41395d20cc6a63e98722184fdf2c5f646ba..e622a1106b70332835acb5b145fefe4e2616f138 100644 --- a/appexecfwk/bundle_standard/bundlemanager/bmscheckpermissiontest/BUILD.gn +++ b/appexecfwk/bundle_standard/bundlemanager/bmscheckpermissiontest/BUILD.gn @@ -13,14 +13,14 @@ import("//test/xts/tools/build/suite.gni") -ohos_js_hap_suite("ActsBmsCheckPermissionTest") { +ohos_js_hap_suite("ActsBmsCheckPermissionManualTest") { hap_profile = "./entry/src/main/config.json" deps = [ ":hjs_demo_js_assets", ":hjs_demo_resources", ] certificate_profile = "./signature/openharmony_sx.p7b" - hap_name = "ActsBmsCheckPermissionTest" + hap_name = "ActsBmsCheckPermissionManualTest" } ohos_js_assets("hjs_demo_js_assets") { source_dir = "./entry/src/main/js/default" diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/BUILD.gn b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..8b87f4442d759d169c74066ea93338da8d2b3f77 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/BUILD.gn @@ -0,0 +1,31 @@ +# 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("//test/xts/tools/build/suite.gni") + +ohos_js_hap_suite("ActsBmsPermissionChangeManualTest") { + hap_profile = "./entry/src/main/config.json" + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" + hap_name = "ActsBmsPermissionChangeManualTest" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./entry/src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./entry/src/main/resources" ] + hap_profile = "./entry/src/main/config.json" +} diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/Test.json b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..7a88763ed8d2ac31dd30211b9574f47273e84549 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/Test.json @@ -0,0 +1,3 @@ +{ + "description": "Configuration for hjunit demo Tests", +} diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..4133a20e120641db85c94098e50a4268cc084ccc --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/config.json @@ -0,0 +1,414 @@ +{ + "app": { + "bundleName": "com.example.permissionchange", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.permissionchange", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": ".MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard", + "visible": true + } + ], + "js": [ + { + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + }, + "pages": [ + "pages/index/index", + "pages/permissionchange/permissionchange" + ] + } + ], + "defPermissions": [ + { + "name": "com.permission.BMS_PERMISSIONCHANGE_A", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_B", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_C", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_D", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_E", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_F", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_G", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_H", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_I", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_J", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_K", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_L", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_M", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_N", + "grantMode": "user_grant", + "availableScope": [] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_O", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_P", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_Q", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_R", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + },{ + "name": "com.permission.BMS_PERMISSIONCHANGE_S", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_T", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_U", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_V", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_W", + "grantMode": "user_grant", + "availableScope": [ + "signature" + ] + } + ], + "reqPermissions": [ + { + "name": "com.permission.BMS_PERMISSIONCHANGE_A", + "reason": "Need BMS_PERMISSIONCHANGE_A", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_B", + "reason": "Need BMS_PERMISSIONCHANGE_B", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_C", + "reason": "Need BMS_PERMISSIONCHANGE_C", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_D", + "reason": "Need BMS_PERMISSIONCHANGE_D", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_E", + "reason": "Need BMS_PERMISSIONCHANGE_E", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_F", + "reason": "Need BMS_PERMISSIONCHANGE_F", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_G", + "reason": "Need BMS_PERMISSIONCHANGE_G", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_H", + "reason": "Need BMS_PERMISSIONCHANGE_H", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_I", + "reason": "Need BMS_PERMISSIONCHANGE_I", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_J", + "reason": "Need BMS_PERMISSIONCHANGE_J", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_K", + "reason": "Need BMS_PERMISSIONCHANGE_K", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_L", + "reason": "Need BMS_PERMISSIONCHANGE_L", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_M", + "reason": "Need BMS_PERMISSIONCHANGE_M", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_N", + "reason": "Need BMS_PERMISSIONCHANGE_N", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_O", + "reason": "Need BMS_PERMISSIONCHANGE_O", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_P", + "reason": "Need BMS_PERMISSIONCHANGE_P", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_Q", + "reason": "Need BMS_PERMISSIONCHANGE_Q", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_R", + "reason": "Need BMS_PERMISSIONCHANGE_R", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_S", + "reason": "Need BMS_PERMISSIONCHANGE_S", + "usedScene": { + "ability": [ + "com.example.permissionchange.MainAbility" + ], + "when": "always" + } + } + ] + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/app.js b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..2a68c1992145a976957d7dcdd69a7e9c2e8e9877 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/app.js @@ -0,0 +1,22 @@ +/* + * 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('AceApplication onCreate'); + }, + onDestroy() { + console.info('AceApplication onDestroy'); + } +}; diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/i18n/en-US.json b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/i18n/en-US.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/i18n/zh-CN.json b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/index/index.css b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..8818f180ec2c9b6040106b18ff1f99b53dab16db --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/index/index.css @@ -0,0 +1,34 @@ +.container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + margin-top: 10px; + font-size: 40px; + color: #000000; + justify-content: center; + text-align: center; +} + +.todo-wraper { + width: 100%; + height: 80%; + justify-content: center; + diveder-color:#FF0000; + scrollbar-color: #57000000; + scrollbar-width: 30px; +} +.todo-item { + width: 100%; + height: 150px; + flex-direction: column; + justify-content: center; + align-self:center; +} +.btn{ + width: 350px; + height: 100px; + font-size: 20px; +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/index/index.hml b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..fa76df4ec92cf1aefa78d5acfc315b0623458267 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/index/index.hml @@ -0,0 +1,14 @@ +
+
+ + {{ title }} + +
+
+ + + + + +
+
diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/index/index.js b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..0eca2e0e6831012d582cc57a3c5064ceb2586f9f --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/index/index.js @@ -0,0 +1,308 @@ +/* + * 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'; +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +const ITEM_ZERO = 0; +const ITEM_ONE = 1; +const ITEM_TWO = 2; +const ITEM_THREE = 3; +const ITEM_FOUR = 4; +const ITEM_FIVE = 5; +const ITEM_SIX = 6; +const ITEM_SEVEN = 7; +const ITEM_EIGHT = 8; +const ITEM_NINE = 9; +const ITEM_TEN = 10; +const ITEM_ELEVEN = 11; +const ITEM_TWELVE = 12; +const ITEM_THIRTEEN = 13; +const ITEM_FOURTEEN = 14; +const ITEM_FIFTEEN = 15; +const ITEM_SIXTEEN = 16; +const ITEM_SEVENTEEN = 17; +const ITEM_EIGHTEEN = 18; +const ITEM_NINETEEN =19; +const ITEM_TWENTY = 20 + +export default { + data: { + title: "BmsSystemTest", + testcase: [ + { + /** + * @tc.number: bms_permissionChange_0100 + * @tc.name: on(permissionChange, uids, callback) : register permission change + * off(permissionChange, uids, callback) : unregister permission change + * @tc.desc: 1.Register permission changes to monitor the permission changes of an application + * 2.Request permissions + * 3.Unregister permission changes + */ + caseName: "bms_permissionChange_0100", + num: "_0100", + item: ITEM_ZERO + }, + { + /** + * @tc.number: bms_permissionChange_0200 + * @tc.name: on(permissionChange, uids, callback) : register permission change + * off(permissionChange, uids, callback) : unregister permission change + * @tc.desc: 1.Register permission changes to monitor the permission changes of an application + * 2.Request a permission that does not exist + * 3.Unregister permission changes + */ + caseName: "bms_permissionChange_0200", + num: "_0200", + item: ITEM_ONE + }, + { + /** + * @tc.number: bms_permissionChange_0300 + * @tc.name: on(permissionChange, uids, callback) : register permission change + * off(permissionChange, uids, callback) : unregister permission change + * @tc.desc: 1.Register permission changes to monitor the permission changes of three applications + * 2.Start other application to request permissions + * 3.Unregister permission changes + */ + caseName: "bms_permissionChange_0300", + num: "_0300", + item: ITEM_TWO + }, + { + /** + * @tc.number: bms_permissionChange_0400 + * @tc.name: on(permissionChange, uids, callback) : register permission change + * off(permissionChange, uids, callback) : unregister permission change + * @tc.desc: 1.Register error permission changes to monitor the permission changes of an application + * 2.Request permissions + */ + caseName: "bms_permissionChange_0400", + num: "_0400", + item: ITEM_THREE + }, + { + /** + * @tc.number: bms_permissionChange_0500 + * @tc.name: on(permissionChange, uids, callback) : register permission change + * off(permissionChange, uids, callback) : unregister permission change + * @tc.desc: 1.Repeatedly register permission changes to monitor the permission changes + * of an application + * 2.Request permissions + * 3.Unregister permission changes + */ + caseName: "bms_permissionChange_0500", + num: "_0500", + item: ITEM_FOUR + }, + { + /** + * @tc.number: bms_permissionChange_0600 + * @tc.name: on(permissionChange, uids, callback) : register permission change + * off(permissionChange, uids, callback) : unregister permission change + * @tc.desc: 1.Repeatedly register three different permission changes to monitor the permission changes + * of an application + * 2.Request permissions + * 3.Unregister those permission changes + */ + caseName: "bms_permissionChange_0600", + num: "_0600", + item: ITEM_FIVE + }, + { + /** + * @tc.number: bms_permissionChange_0700 + * @tc.name: on(permissionChange, uids, callback) : register permission change + * off(permissionChange, uids, callback) : unregister permission change + * @tc.desc: 1.Repeatly register permission changes to monitor the permission changes of an application + * 2.Request permissions + * 3.Unregister permission changes without callback + */ + caseName: "bms_permissionChange_0700", + num: "_0700", + item: ITEM_SIX + }, + { + /** + * @tc.number: bms_permissionChange_0800 + * @tc.name: on(permissionChange, uids, callback) : register permission change + * off(permissionChange, uids, callback) : unregister permission change + * @tc.desc: 1.Register three permission changes events to monitor the permission changes of an application + * 2.Request permissions + * 3.Unregister permission changes without callback + */ + caseName: "bms_permissionChange_0800", + num: "_0800", + item: ITEM_SEVEN + }, + { + /** + * @tc.number: bms_permissionChange_0900 + * @tc.name: on(permissionChange, uids, callback) : register permission change + * off(permissionChange, uids, callback) : unregister permission change + * @tc.desc: 1.Register permission changes to monitor the permission changes of an application + * 2.Request permissions + * 3.Unregister error permission changes + */ + caseName: "bms_permissionChange_0900", + num: "_0900", + item: ITEM_SIXTEEN + }, + { + /** + * @tc.number: bms_anyPermissionChange_0100 + * @tc.name: on(anyPermissionChange, callback) : register all permission change + * off(anyPermissionChange, callback) : unregister all permission change + * @tc.desc: 1.Register any permission changes to monitor the permission changes of all applications + * 2.Request permissions + * 3.Unregister any permission changes + */ + caseName: "bms_anyPermissionChange_0100", + num: "_0100", + item: ITEM_EIGHT + }, + { + /** + * @tc.number: bms_anyPermissionChange_0200 + * @tc.name: on(anyPermissionChange, callback) : register all permission change + * off(anyPermissionChange, callback) : unregister all permission change + * @tc.desc: 1.Register any permission changes to monitor the permission changes of all applications + * 2.Request a permission that does not exist + * 3.Unregister any permission changes + */ + caseName: "bms_anyPermissionChange_0200", + num: "_0200", + item: ITEM_NINE + }, + { + /** + * @tc.number: bms_anyPermissionChange_0300 + * @tc.name: on(anyPermissionChange, callback) : register all permission change + * off(anyPermissionChange, callback) : unregister all permission change + * @tc.desc: 1.Register any permission changes to monitor the permission changes of all applications + * 2.Start other abilities to request permissions + * 3.Unregister any permission changes + */ + caseName: "bms_anyPermissionChange_0300", + num: "_0300", + item: ITEM_TEN + }, + { + /** + * @tc.number: bms_anyPermissionChange_0400 + * @tc.name: on(anyPermissionChange, callback) : register all permission change + * off(anyPermissionChange, callback) : unregister all permission change + * @tc.desc: 1.Register any error permission changes to monitor the permission changes + * of all applications + * 2.Request permissions + */ + caseName: "bms_anyPermissionChange_0400", + num: "_0400", + item: ITEM_ELEVEN + }, + { + /** + * @tc.number: bms_anyPermissionChange_0500 + * @tc.name: on(anyPermissionChange, callback) : register all permission change + * off(anyPermissionChange, callback) : unregister all permission change + * @tc.desc: 1.Repeatedly register any permission changes to monitor the permission changes + * of all applications + * 2.Request permissions + * 3.Unregister any permission changes + */ + caseName: "bms_anyPermissionChange_0500", + num: "_0500", + item: ITEM_TWELVE + }, + { + /** + * @tc.number: bms_anyPermissionChange_0600 + * @tc.name: on(anyPermissionChange, callback) : register all permission change + * off(anyPermissionChange, callback) : unregister all permission change + * @tc.desc: 1.Repeatedly register three different any permission changes to monitor the permission changes + * of all applications + * 2.Request permissions + * 3.Unregister those any permission changes callback + */ + caseName: "bms_anyPermissionChange_0600", + num: "_0600", + item: ITEM_THIRTEEN + }, + { + /** + * @tc.number: bms_anyPermissionChange_0700 + * @tc.name: on(anyPermissionChange, callback) : register all permission change + * off(anyPermissionChange, callback) : unregister all permission change + * @tc.desc: 1.Repeatedly register any permission changes to monitor the permission changes + * of all applications + * 2.Request permissions + * 3.Unregister any permission changes without callback + */ + caseName: "bms_anyPermissionChange_0700", + num: "_0700", + item: ITEM_FOURTEEN + }, + { + /** + * @tc.number: bms_anyPermissionChange_0800 + * @tc.name: on(anyPermissionChange, callback) : register all permission change + * off(anyPermissionChange, callback) : unregister all permission change + * @tc.desc: 1.Register three any permission changes events to monitor the permission changes of all applications + * 2.Request permissions + * 3.Unregister any permission changes without callback + */ + caseName: "bms_anyPermissionChange_0800", + num: "_0800", + item: ITEM_FIFTEEN + }, + { + /** + * @tc.number: bms_anyPermissionChange_0900 + * @tc.name: on(permissionChange, uids, callback) : register permission change + * off(permissionChange, uids, callback) : unregister permission change + * @tc.desc: 1.Register permission changes to monitor the permission changes of of all applications + * 2.Request permissions + * 3.Unregister error any permission changes + */ + caseName: "bms_anyPermissionChange_0900", + num: "_0900", + item: ITEM_SEVENTEEN + }, + ] + }, + onInit() { + this.title = "Bms PermissionChange Test"; + }, + onShow() { + }, + onReady() { + console.info('onReady finish') + }, + onBackPress() { + }, + jumpPermission(caseNum, caseItem) { + console.info('===========clickAction===========') + router.replace({ + uri: 'pages/permissionchange/permissionchange', + params: { + num: caseNum, + item: caseItem + } + }) + }, +} + + diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/permissionchange.css b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/permissionchange.css new file mode 100644 index 0000000000000000000000000000000000000000..3b7ffa8518cbd47096a40427c17df7a3b5490219 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/permissionchange.css @@ -0,0 +1,57 @@ +.container { + display: flex; + justify-content: center; + align-items: center; + left: 0px; + top: 0px; + width: 100%; + height: 100%; +} + +.title { + font-size: 30px; + text-align: center; + width: 100%; + height: 80px; +} +div{ + flex-direction: column; + align-items: center; + justify-content: center; +} + +.btn{ + margin-bottom: 10px; + width: 200px; + height: 80px; +} + +.todo-title { + font-style: normal; + font-size: 30px; +} + +.log { + font-size: 20px; + text-align: center; + width: 100%; + height: 1000px; +} +.todo-wraper { + width: 100%; + height: 100%; + justify-content: center; + diveder-color:#0090FF; + scrollbar-color: #57000000; + scrollbar-width: 10px; +} +.todo-item { + width: 100%; + height: 100px; + flex-direction: column; + justify-content: center; + align-self:center; +} +.text { + margin: 20%; +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/permissionchange.hml b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/permissionchange.hml new file mode 100644 index 0000000000000000000000000000000000000000..98137036f6c5cb0f0077bec0473f8def31656160 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/permissionchange.hml @@ -0,0 +1,21 @@ +
+
+ + {{ title }} + +
+
+ +
+
+ + + {{$item + caseNum}} + + + + +
+
diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/permissionchange.js b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/permissionchange.js new file mode 100644 index 0000000000000000000000000000000000000000..02c101534e99136c44627cf5ad07c04a4781a508 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/permissionchange.js @@ -0,0 +1,146 @@ +/* + * 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: "Bms permission change", + logmessage: "This is log message:\n", + testcase: [ + [ + "registerPermissionChange", + "requestPermissions", + "unregisterPermissionChange", + ], + [ + "registerPermissionChange", + "requestNotExistPermissions", + "unregisterPermissionChange", + ], + [ + "registerThreeAppsPermissionChange", + "requestPermissionsFirst", + "startFirstRequestPermissions", + "startSecondRequestPermissions", + "unregisterThreeAppsPermissionChange", + ], + [ + "registerErrPermissionChange", + "requestPermissionsSecond", + ], + [ + "registerPermissionChangeRepeat", + "requestPermissionsThird", + "unregisterPermissionChange", + ], + [ + "registerThreePermissionChangeCallback", + "requestPermissionsFourth", + "unregisterThreePermissionChangeCallback", + ], + [ + "registerThreePermissionChangeCallback", + "requestPermissionsFifth", + "unregisterPermissionChangeNoCallback", + ], + [ + "registerPermissionChangeRepeat", + "requestPermissionsSixth", + "unregisterPermissionChangeNoCallback", + ], + [ + "registerAnyPermissionChange", + "requestPermissionsSeventh", + "unregisterAnyPermissionChange", + ], + [ + "registerAnyPermissionChange", + "requestNotExistPermissions", + "unregisterAnyPermissionChange", + ], + [ + "registerThreeAnyPermissionChange", + "requestPermissionsEighth", + "startFirstRequestPermissions", + "startSecondRequestPermissions", + "unregisterThreeAnyPermissionChange", + ], + [ + "registerErrAnyPermissionChange", + "requestPermissionsNinth", + ], + [ + "registerAnyPermissionChangeRepeat", + "requestPermissionsTenth", + "unregisterAnyPermissionChange", + ], + [ + "registerThreeAnyPermissionChangeCallback", + "requestPermissionsEleventh", + "unregisterThreeAnyPermissionChangeCallback", + ], + [ + "registerAnyPermissionChangeRepeat", + "requestPermissionsTwelfth", + "unregisterAnyPermissionChangeNoCallback", + ], + [ + "registerThreeAnyPermissionChangeCallback", + "requestPermissionsThirteenth", + "unregisterAnyPermissionChangeNoCallback", + ], + [ + "registerPermissionChange", + "requestPermissionsFifteenth", + "unregisterErrPermissionChange", + "unregisterPermissionChange", + ], + [ + "registerAnyPermissionChange", + "requestPermissionsFourteenth", + "unregisterErrAnyPermissionChange", + "unregisterAnyPermissionChange", + ] + ], + }, + onInit() { + this.title = "Bms permission change"; + this.logmessage = "This is log message:\n"; + this.caseNum = this.num; + this.caseItem = this.item; + }, + onShow() { + }, + onReady() { + console.info('onReady finish') + }, + onBackPress() { + }, + async stopAbility() { + }, + backIndex() { + router.replace({ + uri: 'pages/index/index' + }) + }, + async runTest(funcName) { + console.debug("======Run func ======:" + JSON.stringify(funcName)) + let { runFunc } = require('./testfunc.js') + this.logmessage += await runFunc(funcName, this) + '\n'; + }, + clearLog() { + this.logmessage = ""; + } +} diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/testfunc.js b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/testfunc.js new file mode 100644 index 0000000000000000000000000000000000000000..8d7f135be3d3e687f64798bc9cfd63127157f171 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/js/default/pages/permissionchange/testfunc.js @@ -0,0 +1,421 @@ +/* + * 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 bundle from '@ohos.bundle' +import featureAbility from '@ohos.ability.featureAbility' +var receive; +var uid; +const PERMISSIONCHANGE = 'permissionChange'; +const ANYPERMISSIONCHANGE = 'anyPermissionChange'; +export async function runFunc(caseName, obj) { + console.debug("======Func name is ======:" + JSON.stringify(caseName)) + var dataInfo = await bundle.getBundleInfo('com.example.permissionchange', 1); + uid = dataInfo.uid; + receive = obj; + allFunc[caseName].func(); + return getFuncInfo(caseName); +} + +export function getFuncInfo(caseName) { + console.debug("======GetCaseInfo======:" + JSON.stringify(caseName)) + return allFunc[caseName].info; +} + +var allFunc = { + registerPermissionChange: { + func: () => { bundle.on(PERMISSIONCHANGE, [uid], onRecivePermission) }, + info: "register permissionChange event." + }, + registerAnyPermissionChange: { + func: () => { bundle.on(ANYPERMISSIONCHANGE, onReciveAnyPermission); }, + info: "register anypermissionChange event." + }, + registerThreeAnyPermissionChange: { + func: () => { bundle.on(ANYPERMISSIONCHANGE, onReciveThreeAnyPermission); }, + info: "register anypermissionChange event." + }, + requestPermissions: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_A"]) }, + info: "request permissions." + }, + requestPermissionsFirst: { + func: () => { + requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_B", "com.permission.BMS_PERMISSIONCHANGE_C", + "com.permission.BMS_PERMISSIONCHANGE_D"]) + }, + info: "request permissions First." + }, + requestPermissionsSecond: { + func: () => { + requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_E"]) + }, + info: "request permissions Second." + }, + requestPermissionsThird: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_F"]) }, + info: "request permissions Third." + }, + requestPermissionsFourth: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_G"]) }, + info: "request permissions Fourth." + }, + requestPermissionsFifth: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_H"]) }, + info: "request permissions Fifth." + }, + requestPermissionsSixth: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_I"]) }, + info: "request permissions Sixth." + }, + requestPermissionsSeventh: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_J"]) }, + info: "request permissions Seventh." + }, + requestPermissionsEighth: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_K"]) }, + info: "request permissions Eighth." + }, + requestPermissionsNinth: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_L"]) }, + info: "request permissions Ninth." + }, + requestPermissionsTenth: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_N"]) }, + info: "request permissions Tenth." + }, + requestPermissionsEleventh: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_O"]) }, + info: "request permissions Eleventh." + }, + requestPermissionsTwelfth: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_P"]) }, + info: "request permissions Twelfth." + }, + requestPermissionsThirteenth: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_Q"]) }, + info: "request permissions Thirteenth." + }, + requestPermissionsFourteenth: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_R"]) }, + info: "request permissions Fourteenth." + }, + requestPermissionsFifteenth: { + func: () => { requestPermissions(["com.permission.BMS_PERMISSIONCHANGE_S"]) }, + info: "request permissions Fifteenth." + }, + startFirstRequestPermissions: { + func: () => { + startAbilityToRequestPermissions("com.example.firstrequestpermissions", + "com.example.firstrequestpermissions.MainAbility") + }, + info: "start first app to request permissions." + }, + startSecondRequestPermissions: { + func: () => { + startAbilityToRequestPermissions("com.example.secondrequestpermissions", + "com.example.secondrequestpermissions.MainAbility") + }, + info: "start second app to request permissions." + }, + unregisterPermissionChange: { + func: () => { bundle.off(PERMISSIONCHANGE, [uid], onRecivePermission) }, + info: "unregister permissionChange event." + }, + unregisterAnyPermissionChange: { + func: () => { bundle.off(ANYPERMISSIONCHANGE, onReciveAnyPermission); }, + info: "unregister anypermissionChange event." + }, + unregisterThreeAnyPermissionChange: { + func: () => { bundle.off(ANYPERMISSIONCHANGE, onReciveThreeAnyPermission); }, + info: "unregister anypermissionChange event." + }, + unregisterErrPermissionChange: { + func: () => { bundle.off('error', [uid], onRecivePermission) }, + info: "unregister permissionChange event." + }, + unregisterErrAnyPermissionChange: { + func: () => { bundle.off('error', onReciveAnyPermission); }, + info: "unregister anypermissionChange event." + }, + registerErrPermissionChange: { + func: () => { bundle.on('error', [uid], onRecivePermission) }, + info: "register error permissionChange." + }, + registerErrAnyPermissionChange: { + func: () => { bundle.on('error', onReciveAnyPermission) }, + info: "register error anyPermissionChange." + }, + unregisterErrPermissionChange: { + func: () => { bundle.off('eror', [uid], onRecivePermission) }, + info: "unregister error permissionChange." + }, + unregisterErrAnyPermissionChange: { + func: () => { bundle.off('eror', onReciveAnyPermission) }, + info: "unregister error anyPermissionChange." + }, + unregisterPermissionChangeNotAll: { + func: unregisterPermissionChangeNotAll, + info: "unregister permission change does not include all uids." + }, + requestNotExistPermissions: { + func: () => { requestPermissions(["noPermission"]) }, + info: "request a permission that does not exist " + }, + registerPermissionChangeRepeat: { + func: registerPermissionChangeRepeat, + info: "repeatedly register permissionChange event." + }, + registerAnyPermissionChangeRepeat: { + func: registerAnyPermissionChangeRepeat, + info: "repeatedly register anyPermissionChange event." + }, + unregisterThreePermissionChangeCallback: { + func: () => { + bundle.off(PERMISSIONCHANGE, [uid], onRecivePermission); + bundle.off(PERMISSIONCHANGE, [uid], onRecivePermission2); + bundle.off(PERMISSIONCHANGE, [uid], onRecivePermission3); + }, + info: "unregister three different PermissionChange callback" + }, + unregisterThreeAnyPermissionChangeCallback: { + func: () => { + bundle.off(ANYPERMISSIONCHANGE, onReciveAnyPermission); + bundle.off(ANYPERMISSIONCHANGE, onReciveAnyPermission2); + bundle.off(ANYPERMISSIONCHANGE, onReciveAnyPermission3); + }, + info: "unregister three different anyPermissionChange callback" + }, + registerThreeAppsPermissionChange: { + func: registerThreeApp, + info: "register three applications permissionChange event." + }, + unregisterThreeAppsPermissionChange: { + func: unregisterThreeApp, + info: "unregister three applications permissionChange event." + }, + unregisterPermissionChangeNoCallback: { + func: () => { bundle.off(PERMISSIONCHANGE, [uid]); }, + info: "unregister permissionChange without callback." + }, + unregisterAnyPermissionChangeNoCallback: { + func: () => { bundle.off(ANYPERMISSIONCHANGE); }, + info: "unregister anyPermissionChange event without callback." + }, + registerThreePermissionChangeCallback: { + func: () => { + bundle.on(PERMISSIONCHANGE, [uid], onRecivePermission); + bundle.on(PERMISSIONCHANGE, [uid], onRecivePermission2); + bundle.on(PERMISSIONCHANGE, [uid], onRecivePermission3); + }, + info: "register three different PermissionChange callback" + }, + registerThreeAnyPermissionChangeCallback: { + func: () => { + bundle.on(ANYPERMISSIONCHANGE, onReciveAnyPermission) + bundle.on(ANYPERMISSIONCHANGE, onReciveAnyPermission2); + bundle.on(ANYPERMISSIONCHANGE, onReciveAnyPermission3); + }, + info: "register three different AnyPermissionChange callback" + }, +} + +async function onRecivePermission(err, data) { + console.info('======permission changed======='); + console.info("permission changed err code" + err.code); + console.info("permission changed uid" + data); + if (data == undefined && err.code == 0) { + receive.logmessage += "unregister permission SUCCESS!\n" + } else if (err.code != 0) { + receive.logmessage += "unregister permission FAIL!\n" + } else if (data == uid) { + receive.logmessage += "permission change SUCCESS, change uid is " + data + '\n' + } else { + receive.logmessage += "permission change FAILED, change uid is " + data + '\n' + } +} + +async function onRecivePermission2(err, data) { + console.info('======permission changed second======='); + console.info("permission changed err code" + err.code); + console.info("permission changed uid" + data); + if (data == undefined && err.code == 0) { + receive.logmessage += "callback2 unregister permission SUCCESS!\n" + } else if (err.code != 0) { + receive.logmessage += "callback2 unregister permission FAIL!\n" + } else if (data == uid) { + receive.logmessage += "callback2 permission change SUCCESS, change uid is " + data + '\n' + } else { + receive.logmessage += "callback2 permission change FAILED, change uid is " + data + '\n' + } +} + +async function onRecivePermission3(err, data) { + console.info('======permission changed third======='); + console.info("permission changed err code" + err.code); + console.info("permission changed uid" + data); + if (data == undefined && err.code == 0) { + receive.logmessage += "callback3 unregister permission SUCCESS!\n" + } else if (err.code != 0) { + receive.logmessage += "callback3 unregister permission FAIL!\n" + } else if (data == uid) { + receive.logmessage += "callback3 permission change SUCCESS, change uid is " + data + '\n' + } else { + receive.logmessage += "callback3 permission change FAILED, change uid is " + data + '\n' + } +} + +async function onReciveAnyPermission(err, data) { + console.info('======any permission changed======='); + console.info("permission changed err code" + err.code); + console.info("permission changed uid" + data); + if (data == undefined && err.code == 0) { + receive.logmessage += "unregister anyPermission SUCCESS!\n" + } else if (err.code != 0) { + receive.logmessage += "unregister anyPermission FAIL!\n" + } else if (data == uid) { + receive.logmessage += "anyPermission change SUCCESS, change uid is " + data + '\n' + } else { + receive.logmessage += "anyPermission change FAILED, change uid is " + data + '\n' + } +} + +async function onReciveAnyPermission2(err, data) { + console.info('======any permission changed======='); + console.info("permission changed err code" + err.code); + console.info("permission changed uid" + data); + if (data == undefined && err.code == 0) { + receive.logmessage += "callback2 unregister anyPermission SUCCESS!\n" + } else if (err.code != 0) { + receive.logmessage += "callback2 unregister anyPermission FAIL!\n" + } else if (data == uid) { + receive.logmessage += "callback2 anyPermission change SUCCESS, change uid is " + data + '\n' + } else { + receive.logmessage += "callback2 anyPermission change FAILED, change uid is " + data + '\n' + } +} + +async function onReciveAnyPermission3(err, data) { + console.info('======any permission changed======='); + console.info("permission changed err code" + err.code); + console.info("permission changed uid" + data); + if (data == undefined && err.code == 0) { + receive.logmessage += "callback3 unregister anyPermission SUCCESS!\n" + } else if (err.code != 0) { + receive.logmessage += "callback3 unregister anyPermission FAIL!\n" + } else if (data == uid) { + receive.logmessage += "callback3 anyPermission change SUCCESS, change uid is " + data + '\n' + } else { + receive.logmessage += "callback3 anyPermission change FAILED, change uid is " + data + '\n' + } +} + +async function requestPermissions(permissions) { + console.debug("==========begin request permissions==========") + var context = await featureAbility.getContext(); + await context.requestPermissionsFromUser(permissions, 1, + (err, data) => { + console.log("RequestPermissionForUser:requestCode=" + data.requestCode); + for (var j = 0; j < data.permissions.length; j++) { + console.log("RequestPermissionForUser permissions : " + data.permissions[j]); + } + + for (var j = 0; j < data.grantResults.length; j++) { + console.log("RequestPermissionForUser grantResults : " + data.grantResults[j]); + } + }); +} + +async function startAbilityToRequestPermissions(newBundleName, newAbilityName) { + console.info('=======start Ability========'); + await featureAbility.startAbility( + { + want: + { + bundleName: newBundleName, + abilityName: newAbilityName + } + } + ); +} + +async function unregisterPermissionChangeNotAll() { + console.debug("==========begin unregister permissionChange without all uids=========="); + var dataInfo1 = await bundle.getBundleInfo('com.example.permissionchange', 1); + var dataInfo2 = await bundle.getBundleInfo('com.example.firstrequestpermissions', 1); + await bundle.off(PERMISSIONCHANGE, [dataInfo1.uid, dataInfo2.uid], onRecivePermission); +} + +async function onReciveThreePermission(err, data) { + var dataInfo1 = await bundle.getBundleInfo('com.example.firstrequestpermissions', 1); + var dataInfo2 = await bundle.getBundleInfo('com.example.secondrequestpermissions', 1); + console.info('======permission changed======='); + console.info("permission changed err code" + err.code); + console.info("permission changed uid" + data); + if (data == undefined && err.code == 0) { + receive.logmessage += "unregister permission SUCCESS!\n" + } else if (err.code != 0) { + receive.logmessage += "unregister permission FAIL!\n" + } else if (data == uid || data == dataInfo1.uid || data == dataInfo2.uid) { + receive.logmessage += "permission change SUCCESS, change uid is " + data + '\n' + } else { + receive.logmessage += "permission change FAILED, change uid is " + data + '\n' + } +} + +async function registerThreeApp() { + var dataInfo1 = await bundle.getBundleInfo('com.example.firstrequestpermissions', 1); + var dataInfo2 = await bundle.getBundleInfo('com.example.secondrequestpermissions', 1); + await bundle.on(PERMISSIONCHANGE, [uid, dataInfo1.uid, dataInfo2.uid], onReciveThreePermission); +} + +async function unregisterThreeApp() { + var dataInfo1 = await bundle.getBundleInfo('com.example.firstrequestpermissions', 1); + var dataInfo2 = await bundle.getBundleInfo('com.example.secondrequestpermissions', 1); + await bundle.off(PERMISSIONCHANGE, [uid, dataInfo1.uid, dataInfo2.uid], onReciveThreePermission); +} + +async function registerPermissionChangeRepeat() { + console.debug("==========begin repeat register permissionChange==========") + await bundle.on(PERMISSIONCHANGE, [uid], onRecivePermission); + await bundle.on(PERMISSIONCHANGE, [uid], onRecivePermission); + await bundle.on(PERMISSIONCHANGE, [uid], onRecivePermission); + await bundle.on(PERMISSIONCHANGE, [uid], onRecivePermission); + await bundle.on(PERMISSIONCHANGE, [uid], onRecivePermission); + await bundle.on(PERMISSIONCHANGE, [uid], onRecivePermission); +} +async function registerAnyPermissionChangeRepeat() { + console.debug("==========begin repeat register anyPermissionChange==========") + await bundle.on(ANYPERMISSIONCHANGE, onReciveAnyPermission); + await bundle.on(ANYPERMISSIONCHANGE, onReciveAnyPermission); + await bundle.on(ANYPERMISSIONCHANGE, onReciveAnyPermission); + await bundle.on(ANYPERMISSIONCHANGE, onReciveAnyPermission); + await bundle.on(ANYPERMISSIONCHANGE, onReciveAnyPermission); +} + +async function onReciveThreeAnyPermission(err, data) { + console.info('======any permission changed======='); + console.info("permission changed err code" + err.code); + console.info("permission changed uid" + data); + var dataInfo1 = await bundle.getBundleInfo('com.example.firstrequestpermissions', 1); + var dataInfo2 = await bundle.getBundleInfo('com.example.secondrequestpermissions', 1); + if (data == undefined && err.code == 0) { + receive.logmessage += "unregister anyPermission SUCCESS!\n" + } else if (err.code != 0) { + receive.logmessage += "unregister anyPermission FAIL!\n" + } else if (data == uid || data == dataInfo1.uid || data == dataInfo2.uid) { + receive.logmessage += "anyPermission change SUCCESS, change uid is " + data + '\n' + } else { + receive.logmessage += "anyPermission change FAILED, change uid is " + data + '\n' + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/resources/base/element/string.json b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..95b8c72aeebbb563b5e088e30ee474eb5f2cbcf6 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "bmspermissonchange" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/resources/base/media/icon.png b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/entry/src/main/resources/base/media/icon.png differ diff --git a/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..9be1e98fa4c0c28ca997ed660112fa16b194f0f5 Binary files /dev/null and b/appexecfwk/bundle_standard/bundlemanager/bmspermissionchangetest/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/BUILD.gn b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..34a5af0a5ae54998a2c8b0de179ecf03dc3c51f8 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/BUILD.gn @@ -0,0 +1,34 @@ +# 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("//test/xts/tools/build/suite.gni") + +ohos_hap("FirstRequestPermissions") { + hap_profile = "./src/main/config.json" + hap_name = "FirstRequestPermissions" + subsystem_name = XTS_SUITENAME + final_hap_path = + "${SUITES_OUTPUT_ROOT}/${XTS_SUITENAME}/testcases/${hap_name}.hap" + testonly = true + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/js/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/Test.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..7a88763ed8d2ac31dd30211b9574f47273e84549 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/Test.json @@ -0,0 +1,3 @@ +{ + "description": "Configuration for hjunit demo Tests", +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..9be1e98fa4c0c28ca997ed660112fa16b194f0f5 Binary files /dev/null and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..ac42b49b5dc8ee00a0f4591bae0d376912787b48 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/config.json @@ -0,0 +1,84 @@ +{ + "app": { + "bundleName": "com.example.firstrequestpermissions", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.firstrequestpermissions", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "visible": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.firstrequestpermissions.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard", + "permissions": ["ohos.permission.CAMERA"] + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ], + "reqPermissions": [ + { + "name": "com.permission.BMS_PERMISSIONCHANGE_U", + "reason": "Need PERMISSION_U", + "usedScene": { + "ability": [ + "com.example.firstrequestpermissions.MainAbility" + ], + "when": "always" + } + }, + { + "name": "com.permission.BMS_PERMISSIONCHANGE_V", + "reason": "Need PERMISSION_V", + "usedScene": { + "ability": [ + "com.example.firstrequestpermissions.MainAbility" + ], + "when": "always" + } + } + ] + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/app.js b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..2a68c1992145a976957d7dcdd69a7e9c2e8e9877 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/app.js @@ -0,0 +1,22 @@ +/* + * 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('AceApplication onCreate'); + }, + onDestroy() { + console.info('AceApplication onDestroy'); + } +}; diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/i18n/en-US.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/i18n/en-US.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/i18n/zh-CN.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/pages/index/index.css b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..bf087a1bf1bc551266dd710a592d8e0a6e430a06 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/pages/index/index.css @@ -0,0 +1,16 @@ +.container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + font-size: 100px; +} + +.button { + margin-top: 15px; + font-size:35px; + background-color: aqua; + text-color: black; +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/pages/index/index.hml b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..352365aa737f1b3a3d7f5f1d25413d8e5d3dfc4f --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/pages/index/index.hml @@ -0,0 +1,7 @@ +
+ + {{ title }} + + +
diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/pages/index/index.js b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..fce67f7ba75c4eb48e0c165cbff06cb143506833 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/default/pages/index/index.js @@ -0,0 +1,44 @@ +/* + * 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 featureAbility from '@ohos.ability.featureAbility' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +export default { + data: { + title: "" + }, + onInit() { + this.title = "Start First" + }, + onShow() { + }, + async reqPermission() { + var context = await featureAbility.getContext(); + context.requestPermissionsFromUser(["com.permission.BMS_PERMISSIONCHANGE_U", + "com.permission.BMS_PERMISSIONCHANGE_V"], 1, + (err, data) => { + console.log("RequestPermissionForUser:requestCode=" + data.requestCode); + for (var j = 0; j < data.permissions.length; j++) { + console.log("RequestPermissionForUser permissions : " + data.permissions[j]); + } + + for (var j = 0; j < data.grantResults.length; j++) { + console.log("RequestPermissionForUser grantResults : " + data.grantResults[j]); + } + }); + }, +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/resources/base/element/string.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..268d71aef5ab970d472fcab46012605fdfc1590f --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "firstrequestpermission" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/resources/base/media/icon.png b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsfirstrequestpermissions/src/main/js/resources/base/media/icon.png differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfifthscene/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfifthscene/signature/openharmony_sx.p7b index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 100755 Binary files a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfifthscene/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfifthscene/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfifthscene/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfifthscene/src/main/config.json index 0dd1dbba6b1087fd7a324deafea5134aa5172cc6..92948d11d1f295674832611b1535dda583a57087 100644 --- a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfifthscene/src/main/config.json +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfifthscene/src/main/config.json @@ -33,10 +33,21 @@ "entity.system.home" ], "actions": [ - "action.system.home" + "action.system.third5A" ] } ], + "backgroundModes": [ + "dataTransfer", + "audioPlayback", + "audioRecording", + "location", + "bluetoothInteraction", + "multiDeviceConnection", + "wifiInteraction", + "voip", + "taskKeeping" + ], "name": "com.example.third5.AMainAbility", "srcLanguage": "js", "icon": "$media:icon", @@ -114,10 +125,14 @@ "entity.system.home" ], "actions": [ - "action.system.home" + "action.system.third5B" ] } ], + "backgroundModes": [ + "dataTransfer", + "voip" + ], "name": ".BMainAbility", "srcLanguage": "js", "icon": "$media:icon", diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstscene/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstscene/signature/openharmony_sx.p7b index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 100755 Binary files a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstscene/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstscene/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstscene/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstscene/src/main/config.json index ca3c3c852a3009652421486376832bfebb3944fe..2e8cab47381df18102030f0e1d91c07443d8abcc 100644 --- a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstscene/src/main/config.json +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstscene/src/main/config.json @@ -2,6 +2,7 @@ "app": { "bundleName": "com.example.third1", "vendor": "example", + "singleUser":true, "version": { "code": 1, "name": "1.0" @@ -12,7 +13,11 @@ "releaseType": "Beta1" } }, - "deviceConfig": {}, + "deviceConfig": { + "default":{ + "keepAlive":true + } + }, "module": { "package": "com.example.third1.entry", "name": "com.example.third1.BmsThirdBundle1", @@ -36,6 +41,17 @@ ] } ], + "backgroundModes": [ + "dataTransfer", + "audioPlayback", + "audioRecording", + "location", + "bluetoothInteraction", + "multiDeviceConnection", + "wifiInteraction", + "voip", + "taskKeeping" + ], "name": "com.example.third1.MainAbility", "icon": "$media:icon", "form": { diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstsceneupdate/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstsceneupdate/signature/openharmony_sx.p7b index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 100755 Binary files a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstsceneupdate/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstsceneupdate/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstsceneupdate/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstsceneupdate/src/main/config.json index bb7a30835b49430d1ed21673efff0196c5628c8f..9d6006a707b67905f24552619f267575f46e7001 100644 --- a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstsceneupdate/src/main/config.json +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfirstsceneupdate/src/main/config.json @@ -2,6 +2,7 @@ "app": { "bundleName": "com.example.third1", "vendor": "example", + "singleUser":false, "version": { "code": 2, "name": "2.0" @@ -12,7 +13,11 @@ "releaseType": "Beta1" } }, - "deviceConfig": {}, + "deviceConfig": { + "default":{ + "keepAlive":false + } + }, "module": { "package": "com.example.third1.entry", "name": "com.example.third1.BmsThirdBundle1", @@ -37,6 +42,15 @@ ] } ], + "backgroundModes": [ + "audioRecording", + "location", + "bluetoothInteraction", + "multiDeviceConnection", + "wifiInteraction", + "voip", + "taskKeeping" + ], "name": "com.example.third1.AMainAbility", "icon": "$media:icon", "description": "$string:mainability_description", diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfourthscene/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfourthscene/signature/openharmony_sx.p7b index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 100755 Binary files a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfourthscene/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosfourthscene/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfoshapc/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfoshapc/signature/openharmony_sx.p7b old mode 100644 new mode 100755 index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 Binary files a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfoshapc/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfoshapc/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosjsscene/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosjsscene/signature/openharmony_sx.p7b index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 100755 Binary files a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosjsscene/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosjsscene/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosscenesystem/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosscenesystem/src/main/config.json index 1a90440f69b5dabbea01f3f90c68276ecc94b4f0..2437ceb4edda67f851e606580b9d9dc5a7444c62 100644 --- a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosscenesystem/src/main/config.json +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosscenesystem/src/main/config.json @@ -2,6 +2,7 @@ "app": { "bundleName": "com.example.system1", "vendor": "example", + "singleUser":true, "version": { "code": 1, "name": "1.0" @@ -12,7 +13,11 @@ "releaseType": "Beta1" } }, - "deviceConfig": {}, + "deviceConfig": { + "default":{ + "keepAlive":true + } + }, "module": { "package": "com.example.system1", "name": ".BmsSystemBundle1", @@ -44,8 +49,7 @@ "type": "page", "forms": [ { - "colorMode": "light", - "description": " JS1S Form", + "description": "JS1S Form", "supportDimensions": [ "1*2", "2*2", "2*4", "4*4"], "type": "JS", "jsComponentName": "JS_name1S", @@ -59,11 +63,17 @@ }, "isDefault": true, "deepLink": "ability://com.example.myapplication.fa/.MainAbility", - "defaultDimension": "1*2", + "defaultDimension": "4*4", "name": "Form_JS1S", - "scheduledUpateTime": "21:55", + "scheduledUpdateTime": "10:30", "updateEnabled": true, - "updateDuration": 1 + "updateDuration": 1, + "formConfigAbility": "ability://com.example.system1.MainAbility", + "src": "/pages/card/index", + "window": { + "designWidth": 770, + "autoDesignWidth": true + } } ], "launchType": "standard", diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosscenevendor/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosscenevendor/src/main/config.json index 78a39dd60b91b726f6ed07f7e7cb6fca91c41e5b..299de0bbe3c29fbfc2dffb8c6fe5118860231354 100644 --- a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosscenevendor/src/main/config.json +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosscenevendor/src/main/config.json @@ -43,26 +43,28 @@ "type": "page", "forms": [ { - "colorMode": "light", - "description": " JS1V Form", - "supportDimensions": [ "1*2", "2*2", "2*4", "4*4"], - "type": "JS", + "colorMode": "dark", + "description": "JS1V Form", + "supportDimensions": ["1*2", "2*2", "test", "2*4"], + "type": "Java", "jsComponentName": "JS_name1V", "metaData": { - "customizeData": [ - { - "name": "originWidgetName1V", - "value": "com.openharmony.weather.testWidget1V" - } - ] + "customizeData": [{ + "name": "originWidgetName1V", + "value": "com.openharmony.weather.testWidget1V" + }] }, - "isDefault": true, + "isDefault": false, "deepLink": "ability://com.example.myapplication.fa/.MainAbility", - "defaultDimension": "1*2", + "defaultDimension": "2*3", "name": "Form_JS1V", - "scheduledUpateTime": "21:55", + "scheduledUpdateTime": "21:55", "updateEnabled": true, - "updateDuration": 1 + "updateDuration": 1, + "window": { + "designWidth": 750, + "autoDesignWidth": true + } }, { "colorMode": "light", diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossecondscene/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossecondscene/signature/openharmony_sx.p7b index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 100755 Binary files a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossecondscene/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossecondscene/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossecondscene/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossecondscene/src/main/config.json index 2cb8e72bd85605c64f890f5520750748007ceb53..d64c2cf6a01ae597e4ec395e26adb47503bc88d0 100644 --- a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossecondscene/src/main/config.json +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossecondscene/src/main/config.json @@ -36,6 +36,17 @@ ] } ], + "backgroundModes": [ + "hello", + "audioPlayback", + "audioRecording", + "location", + "bluetoothInteraction", + "multiDeviceConnection", + "wifiInteraction", + "voip", + "taskKeeping" + ], "name": "com.example.third2.MainAbility", "srcLanguage": "js", "visible": true, diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/BUILD.gn b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..b9002859bbae6ed80cd8b90d89d4dfb2330467ed --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/BUILD.gn @@ -0,0 +1,34 @@ +# 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("//test/xts/tools/build/suite.gni") + +ohos_hap("bmsThirdBundleTest6") { + hap_profile = "./src/main/config.json" + hap_name = "bmsThirdBundleTest6" + subsystem_name = XTS_SUITENAME + final_hap_path = + "${SUITES_OUTPUT_ROOT}/${XTS_SUITENAME}/testcases/${hap_name}.hap" + testonly = true + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/js/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/Test.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..7a88763ed8d2ac31dd30211b9574f47273e84549 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/Test.json @@ -0,0 +1,3 @@ +{ + "description": "Configuration for hjunit demo Tests", +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/signature/openharmony_sx.p7b new file mode 100755 index 0000000000000000000000000000000000000000..f06e218defa7f707e22a3890903c574e1c498217 Binary files /dev/null and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..860bb5ba98d2aff0837600df368d4a564d2656d3 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/config.json @@ -0,0 +1,240 @@ +{ + "app": { + "bundleName": "com.example.third6", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.third6", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "backgroundModes": [ + "dataTransfer" + ], + "name": ".MainAbility", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + }, + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "backgroundModes": [ + "audioPlayback" + ], + "name": ".MainAbilityA", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + }, + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "backgroundModes": [ + "audioRecording" + ], + "name": ".MainAbilityB", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + }, + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "backgroundModes": [ + "location" + ], + "name": ".MainAbilityC", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + }, + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "backgroundModes": [ + "bluetoothInteraction" + ], + "name": ".MainAbilityD", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + }, + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "backgroundModes": [ + "multiDeviceConnection" + ], + "name": ".MainAbilityE", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + }, + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "backgroundModes": [ + "wifiInteraction" + ], + "name": ".MainAbilityF", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + }, + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "backgroundModes": [ + "voip" + ], + "name": ".MainAbilityG", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + }, + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "backgroundModes": [ + "taskKeeping" + ], + "name": ".MainAbilityH", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/app.js b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..2a68c1992145a976957d7dcdd69a7e9c2e8e9877 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/app.js @@ -0,0 +1,22 @@ +/* + * 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('AceApplication onCreate'); + }, + onDestroy() { + console.info('AceApplication onDestroy'); + } +}; diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/i18n/en-US.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/i18n/en-US.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/i18n/zh-CN.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/pages/index/index.css b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/pages/index/index.css @@ -0,0 +1,9 @@ +.container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + font-size: 100px; +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/pages/index/index.hml b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/pages/index/index.js b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..2aa8aec01d328175ca14e2f3ec9d14ed02e7a1d2 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/default/pages/index/index.js @@ -0,0 +1,25 @@ +/* + * 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. + */ +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +export default { + data: { + title: "" + }, + onInit() { + this.title = this.$t('strings.world'); + }, +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/resources/base/element/string.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..233be4f5101a2dde03d3600218b18a8a19b4930c --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "third6" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/resources/base/media/icon.png b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfossixthscene/src/main/js/resources/base/media/icon.png differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosthirdscene/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosthirdscene/signature/openharmony_sx.p7b index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 100755 Binary files a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosthirdscene/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosthirdscene/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosthirdscene/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosthirdscene/src/main/config.json index 60b95c5cc2fd09bf509b6931b2bed9a6333f1537..8c05e0f848c0808d977c3f0002214f592dad6a45 100644 --- a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosthirdscene/src/main/config.json +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsgetinfosthirdscene/src/main/config.json @@ -2,6 +2,7 @@ "app": { "bundleName": "com.example.third1", "vendor": "example", + "singleUser":true, "version": { "code": 1, "name": "1.0" @@ -12,7 +13,11 @@ "releaseType": "Beta1" } }, - "deviceConfig": {}, + "deviceConfig": { + "default":{ + "keepAlive":true + } + }, "module": { "package": "com.example.third3", "name": ".BmsThirdBundle3", @@ -36,6 +41,17 @@ ] } ], + "backgroundModes": [ + "dataTransfer", + "audioPlayback", + "audioRecording", + "location", + "bluetoothInteraction", + "multiDeviceConnection", + "wifiInteraction", + "voip", + "taskKeeping" + ], "name": "com.example.third3.MainAbility", "icon": "$media:icon", "description": "$string:mainability_description", diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsmainabilityfirstscene/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsmainabilityfirstscene/signature/openharmony_sx.p7b index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 100755 Binary files a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsmainabilityfirstscene/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsmainabilityfirstscene/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsmainabilitysecondscene/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsmainabilitysecondscene/signature/openharmony_sx.p7b index 9be1e98fa4c0c28ca997ed660112fa16b194f0f5..f06e218defa7f707e22a3890903c574e1c498217 100755 Binary files a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsmainabilitysecondscene/signature/openharmony_sx.p7b and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmsmainabilitysecondscene/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/BUILD.gn b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..d78d0fc777d20579b89d0f41c3e7b3f1d82ed919 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/BUILD.gn @@ -0,0 +1,34 @@ +# 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("//test/xts/tools/build/suite.gni") + +ohos_hap("SecondRequestPermissions") { + hap_profile = "./src/main/config.json" + hap_name = "SecondRequestPermissions" + subsystem_name = XTS_SUITENAME + final_hap_path = + "${SUITES_OUTPUT_ROOT}/${XTS_SUITENAME}/testcases/${hap_name}.hap" + testonly = true + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/js/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/Test.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..7a88763ed8d2ac31dd30211b9574f47273e84549 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/Test.json @@ -0,0 +1,3 @@ +{ + "description": "Configuration for hjunit demo Tests", +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/signature/openharmony_sx.p7b b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..9be1e98fa4c0c28ca997ed660112fa16b194f0f5 Binary files /dev/null and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/signature/openharmony_sx.p7b differ diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..38f80ae1a5d23e9868ecc08b2f9bb68429023017 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/config.json @@ -0,0 +1,73 @@ +{ + "app": { + "bundleName": "com.example.secondrequestpermissions", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.secondrequestpermissions", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "visible": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.secondrequestpermissions.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ], + "reqPermissions": [ + { + "name": "com.permission.BMS_PERMISSIONCHANGE_W", + "reason": "Need PERMISSIONCHANGE W", + "usedScene": { + "ability": [ + "com.example.secondrequestpermissions.MainAbility" + ], + "when": "always" + } + } + ] + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/app.js b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..2a68c1992145a976957d7dcdd69a7e9c2e8e9877 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/app.js @@ -0,0 +1,22 @@ +/* + * 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('AceApplication onCreate'); + }, + onDestroy() { + console.info('AceApplication onDestroy'); + } +}; diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/i18n/en-US.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/i18n/en-US.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/i18n/zh-CN.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/pages/index/index.css b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..d50fe39e7f44e6a5ff1233281832fa1526c92940 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/pages/index/index.css @@ -0,0 +1,16 @@ +.container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + font-size: 100px; +} + +.button { + margin-top: 15px; + font-size:35px; + background-color: aqua; + text-color: black; +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/pages/index/index.hml b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..129155d718c8bf12cb2a1f142630d385023afbd5 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/pages/index/index.hml @@ -0,0 +1,6 @@ +
+ + {{ title }} + + +
diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/pages/index/index.js b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..be70e7571888d2a8709f565b2c83d009180249e7 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/default/pages/index/index.js @@ -0,0 +1,42 @@ +/* + * 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 featureAbility from '@ohos.ability.featureAbility' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') +export default { + data: { + title: "" + }, + onInit() { + this.title = "Start Second"; + }, + onShow() {}, + async reqPermission() + { + var context = await featureAbility.getContext(); + context.requestPermissionsFromUser(["com.permission.BMS_PERMISSIONCHANGE_W"], 1, + (err, data)=>{ + console.log("RequestPermissionForUser:requestCode=" + data.requestCode); + for(var j = 0; j < data.permissions.length; j++) { + console.log("RequestPermissionForUser permissions : " + data.permissions[j]); + } + + for(var j = 0; j < data.grantResults.length; j++) { + console.log("RequestPermissionForUser grantResults : " + data.grantResults[j]); + } + }); + } +} diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/resources/base/element/string.json b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..40a792e03f62e897befad23d80e6a9e7a29cfa5c --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "secondrequestpermission" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/resources/base/media/icon.png b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/appexecfwk/bundle_standard/bundlemanager/sceneProject/bmssecondrequestpermissions/src/main/js/resources/base/media/icon.png differ