• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * Copyright (c) 2024 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 */
15import Ability from '@ohos.app.ability.UIAbility'
16import Window from '@ohos.window'
17
18import HiLog from "../utils/HiLog";
19import MmsPreferences from "../utils/MmsPreferences";
20import WorkFactory, { WorkerType } from "../workers/WorkFactory";
21import simCardService from "../service/SimCardService";
22
23const TAG = "app";
24
25export default class MainAbility extends Ability {
26    onCreate(want, launchParam) {
27        HiLog.i(TAG, "Ability onCreate com.ohos.mms version: 1.0.0.41");
28        globalThis.mmsContext = this.context;
29        globalThis.abilityWant = want;
30        globalThis.needToUpdate = true;
31        MmsPreferences.getInstance().initPreferences();
32        globalThis.DataWorker = WorkFactory.getWorker(WorkerType.DataWorker);
33    }
34
35    onNewWant(want, launchParam) {
36        HiLog.i(TAG, 'Application onNewWant');
37        globalThis.abilityWant = want;
38    }
39
40    onWindowStageCreate(windowStage: Window.WindowStage) {
41        // Main window is created, set main page for this ability
42        windowStage.loadContent('pages/index', (err, data) => {
43            if (err.code) {
44                HiLog.e(TAG, 'testTag', 'Failed to load the content.');
45                return;
46            }
47            HiLog.i(TAG, 'testTag', 'Succeeded in loading the content. Data: %{public}s');
48        });
49    }
50
51    onWindowStageDestroy() {
52        // Main window is destroyed, release UI related resources
53        HiLog.i(TAG, 'Ability onWindowStageDestroy');
54    }
55
56    onForeground() {
57        // Ability has brought to foreground
58        HiLog.i(TAG, 'Ability onForeground');
59        simCardService.init();
60    }
61
62    onBackground() {
63        // Ability has back to background
64        HiLog.i(TAG, 'Ability onBackground');
65        simCardService.deInit();
66    }
67
68    onDestroy() {
69        HiLog.i(TAG, 'Ability onDestroy');
70        if (globalThis.DataWorker == null || globalThis.DataWorker == undefined) {
71            return;
72        }
73        globalThis.DataWorker.close();
74    }
75}
76