199da06d0Sopenharmony_ci/** 299da06d0Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 399da06d0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 499da06d0Sopenharmony_ci * you may not use this file except in compliance with the License. 599da06d0Sopenharmony_ci * You may obtain a copy of the License at 699da06d0Sopenharmony_ci * 799da06d0Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 899da06d0Sopenharmony_ci * 999da06d0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1099da06d0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1199da06d0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1299da06d0Sopenharmony_ci * See the License for the specific language governing permissions and 1399da06d0Sopenharmony_ci * limitations under the License. 1499da06d0Sopenharmony_ci */ 1599da06d0Sopenharmony_ci 1699da06d0Sopenharmony_ci/** 1799da06d0Sopenharmony_ci * Call Util 1899da06d0Sopenharmony_ci * 1999da06d0Sopenharmony_ci * standard: 2099da06d0Sopenharmony_ci * 1. define TAG, recommend class name. 2199da06d0Sopenharmony_ci * 2. switch IS_DEBUG_ON as true, when debugging. 2299da06d0Sopenharmony_ci * 3. msg should be short and valuable. 2399da06d0Sopenharmony_ci * 4. choose appropriate function. 2499da06d0Sopenharmony_ci * 5. the function execute many times can not print. 2599da06d0Sopenharmony_ci * 6. uniqueness. 2699da06d0Sopenharmony_ci */ 2799da06d0Sopenharmony_ciimport call from '@ohos.telephony.call'; 2899da06d0Sopenharmony_ciimport sim from '@ohos.telephony.sim'; 2999da06d0Sopenharmony_ciimport LogUtils from './LogUtils'; 3099da06d0Sopenharmony_ci 3199da06d0Sopenharmony_ciconst TAG = 'CallUtils'; 3299da06d0Sopenharmony_ci 3399da06d0Sopenharmony_ci/** 3499da06d0Sopenharmony_ci * calllog package tool class 3599da06d0Sopenharmony_ci */ 3699da06d0Sopenharmony_ciexport class CallUtils { 3799da06d0Sopenharmony_ci /** 3899da06d0Sopenharmony_ci * Judge whether there is a sim card. 3999da06d0Sopenharmony_ci * 4099da06d0Sopenharmony_ci * @param { accountId } accountId 4199da06d0Sopenharmony_ci * 4299da06d0Sopenharmony_ci * @return { boolean } - return success true fail false 4399da06d0Sopenharmony_ci */ 4499da06d0Sopenharmony_ci public hasSimeCard: Function = (accountId) => new Promise((resolve, reject) => { 4599da06d0Sopenharmony_ci sim.hasSimCard(accountId).then((res) => { 4699da06d0Sopenharmony_ci resolve(res); 4799da06d0Sopenharmony_ci if (accountId === 0) { 4899da06d0Sopenharmony_ci AppStorage.SetOrCreate('hasSimCard1', res); 4999da06d0Sopenharmony_ci } else if (accountId === 1) { 5099da06d0Sopenharmony_ci AppStorage.SetOrCreate('hasSimCard2', res); 5199da06d0Sopenharmony_ci } 5299da06d0Sopenharmony_ci }) 5399da06d0Sopenharmony_ci .catch((err) => { 5499da06d0Sopenharmony_ci reject(err); 5599da06d0Sopenharmony_ci LogUtils.i(TAG, 'catch:hasSimeCard :' + JSON.stringify(err)); 5699da06d0Sopenharmony_ci }); 5799da06d0Sopenharmony_ci }); 5899da06d0Sopenharmony_ci 5999da06d0Sopenharmony_ci /** 6099da06d0Sopenharmony_ci * Determine whether the call is an emergency call. 6199da06d0Sopenharmony_ci * 6299da06d0Sopenharmony_ci * @param { phoneNumber } phoneNumber-number 6399da06d0Sopenharmony_ci * 6499da06d0Sopenharmony_ci * @return { boolean } - return success true fail false 6599da06d0Sopenharmony_ci */ 6699da06d0Sopenharmony_ci public isEmergencyPhoneNumber: Function = (phoneNumber) => new Promise((resolve, reject) => { 6799da06d0Sopenharmony_ci call.isEmergencyPhoneNumber(phoneNumber, { 6899da06d0Sopenharmony_ci slotId: 0 6999da06d0Sopenharmony_ci }).then((res) => { 7099da06d0Sopenharmony_ci resolve(res); 7199da06d0Sopenharmony_ci AppStorage.SetOrCreate('IsEmergencyPhoneNumber', res); 7299da06d0Sopenharmony_ci LogUtils.i(TAG, 'then:isEmergencyPhoneNumber :' + JSON.stringify(res)); 7399da06d0Sopenharmony_ci }).catch((err) => { 7499da06d0Sopenharmony_ci reject(err); 7599da06d0Sopenharmony_ci LogUtils.i(TAG, 'catch:isEmergencyPhoneNumber :' + JSON.stringify(err)); 7699da06d0Sopenharmony_ci }); 7799da06d0Sopenharmony_ci }); 7899da06d0Sopenharmony_ci} 7999da06d0Sopenharmony_ci 8099da06d0Sopenharmony_cilet mCallUtil = new CallUtils(); 8199da06d0Sopenharmony_ci 8299da06d0Sopenharmony_ciexport default mCallUtil as CallUtils; 8399da06d0Sopenharmony_ci 84