1/* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import hilog from '@ohos.hilog'; 17import Window from '@ohos.window'; 18import { Hypium } from '@ohos/hypium'; 19import testsuite from '../test/List.test'; 20import Ability from '@ohos.app.ability.UIAbility'; 21import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'; 22 23export default class MainAbility extends Ability { 24 onCreate(want, launchParam) { 25 hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); 26 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); 27 hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); 28 hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? ''); 29 30 var abilityDelegator: any; 31 abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 32 var abilityDelegatorArguments: any; 33 abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments(); 34 hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); 35 if (abilityDelegator != undefined && abilityDelegatorArguments != undefined) { 36 hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!'); 37 Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite); 38 } else { 39 hilog.info(0x0000, 'testTag', '%{public}s', 'abilityDelegator or abilityDelegatorArguments is undefined!!!'); 40 } 41 } 42 43 onDestroy() { 44 hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); 45 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); 46 } 47 48 onWindowStageCreate(windowStage: Window.WindowStage) { 49 // Main window is created, set main page for this ability 50 hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); 51 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); 52 53 globalThis.abilityContext = this.context; 54 55 windowStage.loadContent('pages/index', (err, data) => { 56 if (err.code) { 57 hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.ERROR); 58 hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); 59 return; 60 } 61 hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); 62 hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); 63 }); 64 } 65 66 onWindowStageDestroy() { 67 // Main window is destroyed, release UI related resources 68 hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); 69 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); 70 } 71 72 onForeground() { 73 // Ability has brought to foreground 74 hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); 75 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); 76 } 77 78 onBackground() { 79 // Ability has back to background 80 hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); 81 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); 82 } 83} 84