1import Ability from '@ohos.app.ability.UIAbility' 2import Window from '@ohos.window' 3 4import HiLog from "../utils/HiLog"; 5import MmsPreferences from "../utils/MmsPreferences"; 6import MmsDatabaseHelper from "../utils/MmsDatabaseHelper"; 7import WorkFactory, { WorkerType } from "../workers/WorkFactory"; 8import simCardService from "../service/SimCardService"; 9 10const TAG = "app"; 11 12export default class MainAbility extends Ability { 13 onCreate(want, launchParam) { 14 HiLog.i(TAG, "Ability onCreate com.ohos.mms version: 1.0.0.38"); 15 globalThis.mmsContext = this.context; 16 globalThis.abilityWant = want; 17 globalThis.MmsDatabaseHelper = new MmsDatabaseHelper(); 18 globalThis.MmsDatabaseHelper.createTable(); 19 globalThis.needToUpdate = true; 20 MmsPreferences.getInstance().initPreferences(); 21 globalThis.DataWorker = WorkFactory.getWorker(WorkerType.DataWorker); 22 } 23 24 onNewWant(want, launchParam) { 25 HiLog.i(TAG, 'Application onNewWant'); 26 globalThis.abilityWant = want; 27 } 28 29 onWindowStageCreate(windowStage: Window.WindowStage) { 30 // Main window is created, set main page for this ability 31 windowStage.loadContent('pages/index', (err, data) => { 32 if (err.code) { 33 HiLog.e(TAG, 'testTag', 'Failed to load the content.'); 34 return; 35 } 36 HiLog.i(TAG, 'testTag', 'Succeeded in loading the content. Data: %{public}s'); 37 }); 38 } 39 40 onWindowStageDestroy() { 41 // Main window is destroyed, release UI related resources 42 HiLog.i(TAG, 'Ability onWindowStageDestroy'); 43 } 44 45 onForeground() { 46 // Ability has brought to foreground 47 HiLog.i(TAG, 'Ability onForeground'); 48 simCardService.init(); 49 } 50 51 onBackground() { 52 // Ability has back to background 53 HiLog.i(TAG, 'Ability onBackground'); 54 simCardService.deInit(); 55 } 56 57 onDestroy() { 58 HiLog.i(TAG, 'Ability onDestroy'); 59 globalThis.DataWorker.close(); 60 } 61} 62