From 1de6f67bb9968a14bf222290929b3e4998ec5d44 Mon Sep 17 00:00:00 2001 From: w00636648 Date: Fri, 14 Oct 2022 17:18:54 +0800 Subject: [PATCH] update notification mode Signed-off-by: w00636648 --- build-profile.json5 | 6 +- .../main/ets/Application/MyAbilityStage.ts | 16 ----- entry/src/main/ets/MainAbility/MainAbility.ts | 1 - .../ets/common/components/FuncBtnGroup.ets | 2 +- .../ets/common/components/IncomingCom.ets | 2 +- entry/src/main/ets/common/utils/Constants.ts | 28 ++++++++ .../ets/common/utils/SingleInstanceHelper.ts | 26 ++++++++ entry/src/main/ets/model/CallDataManager.ets | 21 +++++- entry/src/main/ets/model/CallManager.ets | 3 +- entry/src/main/ets/model/CallServiceProxy.ets | 60 +++++++++--------- .../main/ets/model/NotificationManager.ets | 8 +-- entry/src/main/ets/pages/index.ets | 43 +++++++++++++ entry/src/main/module.json5 | 8 ++- local.properties | 13 ---- mobiledatasettings/src/main/module.json5 | 2 +- signature/{com_ohos_Callui.p7b => callui.p7b} | Bin .../ac/a427b9fa688c43e690f1c6445b2b084d | 2 + .../ce/36dbc0980c2f46639a65faefaf109cdb | Bin 0 -> 48 bytes .../fd/0/82f4d8e216354741b5f5362634c6a980 | 1 + .../fd/1/fd5d9bdcba434bc2bba28a3c1bf5b898 | 1 + .../fd/2/c2e5ec3b64614d98a95dcd228363d606 | 1 + 21 files changed, 169 insertions(+), 75 deletions(-) create mode 100644 entry/src/main/ets/common/utils/Constants.ts create mode 100644 entry/src/main/ets/common/utils/SingleInstanceHelper.ts delete mode 100644 local.properties rename signature/{com_ohos_Callui.p7b => callui.p7b} (100%) create mode 100644 signature/material/ac/a427b9fa688c43e690f1c6445b2b084d create mode 100644 signature/material/ce/36dbc0980c2f46639a65faefaf109cdb create mode 100644 signature/material/fd/0/82f4d8e216354741b5f5362634c6a980 create mode 100644 signature/material/fd/1/fd5d9bdcba434bc2bba28a3c1bf5b898 create mode 100644 signature/material/fd/2/c2e5ec3b64614d98a95dcd228363d606 diff --git a/build-profile.json5 b/build-profile.json5 index fd783cb..b45a201 100644 --- a/build-profile.json5 +++ b/build-profile.json5 @@ -22,7 +22,7 @@ "certpath": "signature/OpenHarmony.cer", "keyAlias": "OpenHarmony Application Profile Release", "keyPassword": "", - "profile": "signature/com_ohos_Callui.p7b", + "profile": "signature/callui.p7b", "signAlg": "SHA256withECDSA", "storeFile": "signature/OpenHarmony.p12" } @@ -39,7 +39,7 @@ }, "modules": [ { - "name": "com.ohos.callui", + "name": "callui", "srcPath": "./entry", "targets": [ { @@ -55,7 +55,7 @@ "srcPath": "./common" }, { - "name": "com.ohos.mobiledatasettings", + "name": "mobiledatasettings", "srcPath": "./mobiledatasettings", "targets": [ { diff --git a/entry/src/main/ets/Application/MyAbilityStage.ts b/entry/src/main/ets/Application/MyAbilityStage.ts index 2dab469..bef401d 100644 --- a/entry/src/main/ets/Application/MyAbilityStage.ts +++ b/entry/src/main/ets/Application/MyAbilityStage.ts @@ -1,6 +1,5 @@ import AbilityStage from "@ohos.application.AbilityStage" import deviceInfo from '@ohos.deviceInfo'; -import backgroundTaskManager from '@ohos.backgroundTaskManager'; import LogUtils from '../common/utils/LogUtils' import notification from '@ohos.notification'; @@ -9,7 +8,6 @@ const TAG = "MyAbilityStage"; export default class MyAbilityStage extends AbilityStage { onCreate() { globalThis.deviceTypeInfo = deviceInfo.deviceType; - this.applyEfficiencyResources(); notification.enableNotification({ bundle: "com.ohos.callui" }, true, (err, data) => { @@ -22,20 +20,6 @@ export default class MyAbilityStage extends AbilityStage { onDestroy() { LogUtils.i(TAG, "MyAbilityStage onDestroy") - backgroundTaskManager.resetAllEfficiencyResources(); - } - - private applyEfficiencyResources() { - let request: backgroundTaskManager.EfficiencyResourcesRequest = { - resourceTypes: backgroundTaskManager.ResourceType.COMMON_EVENT, - isApply: true, - timeOut: 0, - reason: "apply", - isPersist: true, - isProcess: false, - } - let res = backgroundTaskManager.applyEfficiencyResources(request); - LogUtils.i(TAG, "result of applyEfficiencyResources is:" + res) } } diff --git a/entry/src/main/ets/MainAbility/MainAbility.ts b/entry/src/main/ets/MainAbility/MainAbility.ts index a6fb3bb..82fdba8 100644 --- a/entry/src/main/ets/MainAbility/MainAbility.ts +++ b/entry/src/main/ets/MainAbility/MainAbility.ts @@ -1,4 +1,3 @@ -import featureAbility from '@ohos.ability.featureAbility'; import Ability from '@ohos.application.Ability' import LogUtils from '../common/utils/LogUtils' diff --git a/entry/src/main/ets/common/components/FuncBtnGroup.ets b/entry/src/main/ets/common/components/FuncBtnGroup.ets index 67d9735..80a4265 100644 --- a/entry/src/main/ets/common/components/FuncBtnGroup.ets +++ b/entry/src/main/ets/common/components/FuncBtnGroup.ets @@ -17,7 +17,7 @@ import Method from '../utils/Method'; import FuncBtn from './FuncBtn'; import CallStateConst from '../constant/CallStateConst'; import CallServiceProxy from '../../model/CallServiceProxy'; -import Clone from '../utils/clone'; +import Clone from '../utils/Clone'; import ConferenceConst from '../constant/ConferenceConst'; import BtnGroupConfig from '../configs/BtnGroupConfig'; import LogUtils from '../utils/LogUtils'; diff --git a/entry/src/main/ets/common/components/IncomingCom.ets b/entry/src/main/ets/common/components/IncomingCom.ets index a1621ed..def4534 100644 --- a/entry/src/main/ets/common/components/IncomingCom.ets +++ b/entry/src/main/ets/common/components/IncomingCom.ets @@ -16,7 +16,7 @@ import FuncBtn from './FuncBtn'; import InComDialog from './InComDialog'; import ImagePathConst from '../constant/ImagePathConst'; -import CallStateConst from '../constant/callStateConst'; +import CallStateConst from '../constant/CallStateConst'; import CallServiceProxy from '../../model/CallServiceProxy'; import sms from '@ohos.telephony.sms'; import resourceManager from '@ohos.resourceManager'; diff --git a/entry/src/main/ets/common/utils/Constants.ts b/entry/src/main/ets/common/utils/Constants.ts new file mode 100644 index 0000000..f3fbae3 --- /dev/null +++ b/entry/src/main/ets/common/utils/Constants.ts @@ -0,0 +1,28 @@ +/** + * Copyright (c) 2022 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. + */ + + +/** + * constants package tool class + */ +export class Constants { + public APP_KEY_CALLDATAMANGER_MANAGER: string = "CallDataManager"; + public CALL_BUNDLE_NAME = 'com.ohos.callui'; + public CALL_ABILITY_NAME = 'com.ohos.callui.MainAbility'; +} + +let mConstants = new Constants(); + +export default mConstants as Constants; \ No newline at end of file diff --git a/entry/src/main/ets/common/utils/SingleInstanceHelper.ts b/entry/src/main/ets/common/utils/SingleInstanceHelper.ts new file mode 100644 index 0000000..83ec4ba --- /dev/null +++ b/entry/src/main/ets/common/utils/SingleInstanceHelper.ts @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2022 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 LogUtils from './LogUtils' + +const TAG = "SingleInstanceHelper"; + +export default function createOrGet(objectClass: { new(): T }, storageKey: string): T { + if (!globalThis[storageKey]) { + globalThis[storageKey] = new objectClass(); + LogUtils.i(TAG, "Create key of: " + JSON.stringify(storageKey)); + } + return globalThis[storageKey]; +} diff --git a/entry/src/main/ets/model/CallDataManager.ets b/entry/src/main/ets/model/CallDataManager.ets index 22b4623..f3a135a 100644 --- a/entry/src/main/ets/model/CallDataManager.ets +++ b/entry/src/main/ets/model/CallDataManager.ets @@ -20,8 +20,10 @@ import CallStateManager from './CallStateManager'; import CallStateConst from '../common/constant/CallStateConst'; import NotificationManager from '../model/NotificationManager'; import LogUtils from '../common/utils/LogUtils'; +import getSingleInstance from '../common/utils/SingleInstanceHelper' const TAG = "CallDataManager"; +const CALL_DATA_MANAGER_KEY = 'AppStorage_CallDataManager'; /** * class CallDataManager @@ -33,9 +35,15 @@ export default class CallDataManager { private callStateChange: any; private mCallStateManager: CallStateManager ; private NotificationManager ; - private sCallDataManager: CallDataManager ; - constructor(callData, callList, callTimeList) { + public static getInstance():CallDataManager{ + return getSingleInstance(CallDataManager, CALL_DATA_MANAGER_KEY); + } + + /** + * Init data. + */ + public init(callData, callList, callTimeList) { this.NotificationManager = new NotificationManager() this.mCallStateManager = CallStateManager.getInstance() this.callData = callData; @@ -101,6 +109,15 @@ export default class CallDataManager { } } + /** + * Judge whether the call exists. + */ + public hasAliveCall(): Boolean { + LogUtils.i(TAG, "hasAliveCall 1: true") + return this.callList.find((call) => call.callState !== CallStateConst.CALL_STATUS_DISCONNECTED + && call.callState !== CallStateConst.CALL_STATUS_DISCONNECTING); + } + /** * addCallList * diff --git a/entry/src/main/ets/model/CallManager.ets b/entry/src/main/ets/model/CallManager.ets index 3f1fba2..9990538 100644 --- a/entry/src/main/ets/model/CallManager.ets +++ b/entry/src/main/ets/model/CallManager.ets @@ -54,7 +54,8 @@ export default class CallManager { this.timer = null; this.ctx = ctx; this.callTimeList = ctx.callTimeList; - this.mCallDataManager = new CallDataManager(ctx.callData, ctx.callList, ctx.callTimeList); + this.mCallDataManager = CallDataManager.getInstance(); + this.mCallDataManager.init(ctx.callData, ctx.callList, ctx.callTimeList); this.openTimer(); this.sendNotificationHandle = (arg) => arg; this.registerSubscriber(); diff --git a/entry/src/main/ets/model/CallServiceProxy.ets b/entry/src/main/ets/model/CallServiceProxy.ets index 1c75f83..50d2638 100644 --- a/entry/src/main/ets/model/CallServiceProxy.ets +++ b/entry/src/main/ets/model/CallServiceProxy.ets @@ -25,11 +25,12 @@ import commonEvent from '@ohos.commonEvent'; import call from '@ohos.telephony.call'; -import app from '@system.app'; +import getSingleInstance from '../common/utils/SingleInstanceHelper' import LogUtils from '../common/utils/LogUtils'; const TAG = "CallServiceProxy"; const prefixLog = 'callUI app:@ohos.telephony.call:'; +const CALL_SERVICE_PROXY_KEY = 'AppStorage_CallServiceProxy' /** * dial call @@ -40,7 +41,9 @@ const prefixLog = 'callUI app:@ohos.telephony.call:'; * @return { Object } promise object */ export default class CallServiceProxy { - private static sCallServiceProxy: CallServiceProxy ; + public static getInstance(): CallServiceProxy { + return getSingleInstance(CallServiceProxy, CALL_SERVICE_PROXY_KEY); + } /** * Make a phone call @@ -54,13 +57,6 @@ export default class CallServiceProxy { }); } - public static getInstance(): CallServiceProxy { - if (CallServiceProxy.sCallServiceProxy == null) { - CallServiceProxy.sCallServiceProxy = new CallServiceProxy(); - } - return CallServiceProxy.sCallServiceProxy; - } - /** * accept call * @@ -84,13 +80,15 @@ export default class CallServiceProxy { * @param { string } msg - message string */ public rejectCall = function (callId, isSendSms = false, msg = '') { - const rejectCallPromise = isSendSms ? call.reject(callId, {messageContent: msg}) : call.reject(callId); + const rejectCallPromise = isSendSms ? call.reject(callId, { + messageContent: msg + }) : call.reject(callId); rejectCallPromise.then((res) => { - LogUtils.i(TAG,prefixLog + "then:rejectCall") + LogUtils.i(TAG, prefixLog + "then:rejectCall") }) .catch((err) => { LogUtils.i(TAG, prefixLog + "catch:rejectCall : %s" + JSON.stringify(err)) - }); + }); }; /** @@ -124,8 +122,8 @@ export default class CallServiceProxy { }) .catch((err) => { reject(err); - LogUtils.i(TAG, prefixLog + "catch:holdCall : %s" + JSON.stringify(err)) - }); + LogUtils.i(TAG, prefixLog + "catch:holdCall : %s" + JSON.stringify(err)) + }); }); /** @@ -142,8 +140,8 @@ export default class CallServiceProxy { }) .catch((err) => { reject(err); - LogUtils.i(TAG, prefixLog + "catch:unHoldCall : %s" + JSON.stringify(err)) - }); + LogUtils.i(TAG, prefixLog + "catch:unHoldCall : %s" + JSON.stringify(err)) + }); }); @@ -160,7 +158,7 @@ export default class CallServiceProxy { resolve(res); }).catch((err) => { reject(err); - LogUtils.i(TAG, prefixLog + "catch:setAudioDevice : %s" + JSON.stringify(err)) + LogUtils.i(TAG, prefixLog + "catch:setAudioDevice : %s" + JSON.stringify(err)) }); }); @@ -169,9 +167,9 @@ export default class CallServiceProxy { */ public setMuted() { call.setMuted().then((res) => { - LogUtils.i(TAG, prefixLog + "then:setMute") + LogUtils.i(TAG, prefixLog + "then:setMute") }).catch((err) => { - LogUtils.i(TAG,prefixLog + "catch:setMute : %s" + JSON.stringify(err)) + LogUtils.i(TAG, prefixLog + "catch:setMute : %s" + JSON.stringify(err)) }); }; @@ -180,9 +178,9 @@ export default class CallServiceProxy { */ public cancelMuted() { call.cancelMuted().then((res) => { - LogUtils.i(TAG,prefixLog + "then:cancelMuted") + LogUtils.i(TAG, prefixLog + "then:cancelMuted") }).catch((err) => { - LogUtils.i(TAG, prefixLog + "catch:cancelMuted : %s" + JSON.stringify(err)) + LogUtils.i(TAG, prefixLog + "catch:cancelMuted : %s" + JSON.stringify(err)) }); }; @@ -200,8 +198,8 @@ export default class CallServiceProxy { }) .catch((err) => { reject(err); - LogUtils.i(TAG, prefixLog + "catch:switchCall : %s" + JSON.stringify(err)) - }); + LogUtils.i(TAG, prefixLog + "catch:switchCall : %s" + JSON.stringify(err)) + }); }); /** @@ -212,10 +210,10 @@ export default class CallServiceProxy { public registerCallStateCallback(callBack) { call.on('callDetailsChange', (data) => { if (!data) { - LogUtils.i(TAG, prefixLog + "call.on registerCallStateCallback") + LogUtils.i(TAG, prefixLog + "call.on registerCallStateCallback") return; } - LogUtils.i(TAG, prefixLog + "call.on registerCallStateCallback callState") + LogUtils.i(TAG, prefixLog + "call.on registerCallStateCallback callState") callBack(data); }); } @@ -226,10 +224,10 @@ export default class CallServiceProxy { public unRegisterCallStateCallback() { call.off('callDetailsChange', (data) => { if (!data) { - LogUtils.i(TAG, prefixLog + "call.off unRegisterCallStateCallback") + LogUtils.i(TAG, prefixLog + "call.off unRegisterCallStateCallback") return; } - LogUtils.i(TAG, prefixLog + "call.off unRegisterCallStateCallback") + LogUtils.i(TAG, prefixLog + "call.off unRegisterCallStateCallback") }); } @@ -239,9 +237,9 @@ export default class CallServiceProxy { public registerCallEventCallback() { call.on('callEventChange', (data) => { if (!data) { - LogUtils.i(TAG, prefixLog + "call.on callEventChange") + LogUtils.i(TAG, prefixLog + "call.on callEventChange") } else { - LogUtils.i(TAG, prefixLog + "call.on callEventChange") + LogUtils.i(TAG, prefixLog + "call.on callEventChange") } }); } @@ -252,9 +250,9 @@ export default class CallServiceProxy { public unRegisterCallEventCallback() { call.off('callEventChange', (data) => { if (!data) { - LogUtils.i(TAG,prefixLog + "call.off unRegisterCallEventCallback : %s") + LogUtils.i(TAG, prefixLog + "call.off unRegisterCallEventCallback : %s") } else { - LogUtils.i(TAG,prefixLog + "call.off unRegisterCallEventCallback : %s") + LogUtils.i(TAG, prefixLog + "call.off unRegisterCallEventCallback : %s") } }); } diff --git a/entry/src/main/ets/model/NotificationManager.ets b/entry/src/main/ets/model/NotificationManager.ets index cc4c422..85e6657 100644 --- a/entry/src/main/ets/model/NotificationManager.ets +++ b/entry/src/main/ets/model/NotificationManager.ets @@ -140,8 +140,8 @@ export default class NotificationManager { return wantAgent.getWantAgent({ wants: [{ deviceId: '', - bundleName: CALL_BUNDLE_NAME, - abilityName: CALL_ABILITY_NAME, + bundleName: Constants.CALL_BUNDLE_NAME, + abilityName: Constants.CALL_ABILITY_NAME, uri: '', type: 'phone', action: 'callui.event.click', @@ -186,8 +186,8 @@ export default class NotificationManager { callState, startTime: startTime * 1000, isBackground, - wantBundleName: CALL_BUNDLE_NAME, - wantAbilityName: CALL_ABILITY_NAME + wantBundleName: Constants.CALL_BUNDLE_NAME, + wantAbilityName: Constants.CALL_ABILITY_NAME }) } diff --git a/entry/src/main/ets/pages/index.ets b/entry/src/main/ets/pages/index.ets index cceaa24..4082e17 100644 --- a/entry/src/main/ets/pages/index.ets +++ b/entry/src/main/ets/pages/index.ets @@ -13,6 +13,7 @@ * limitations under the License. */ +import wantAgent from '@ohos.wantAgent'; import ContactCard from '../common/components/ContactCard'; import FuncBtnGroup from '../common/components/FuncBtnGroup'; import BottomBtn from '../common/components/BottomBtn'; @@ -23,6 +24,9 @@ import LogUtils from '../common/utils/LogUtils'; import byTrace from "@ohos.bytrace" import NotificationManager from '../model/NotificationManager'; import CallManager from '../model/CallManager'; +import backgroundTaskManager from '@ohos.backgroundTaskManager'; +import Constants from '../common/utils/Constants'; +import CallDataManager from '../model/CallDataManager'; const TAG = "MainAbility"; @@ -37,6 +41,7 @@ struct Index { @State isShowKeyboard: boolean = false; @State callList: Array = []; private notificationManager: NotificationManager; + private mCallDataManager: CallDataManager; aboutToAppear(): void { LogUtils.i(TAG, "aboutToAppear :") @@ -51,6 +56,7 @@ struct Index { LogUtils.i(TAG, "onPageShow : ") byTrace.startTrace('onPageShow', 1); globalThis.appInactiveState = false; + this.stopBackgroundRunning(); this.notificationManager.cancelNotification(); this.notificationManager.sendCapsuleNotification(this.callData, false); byTrace.finishTrace('onPageShow', 1); @@ -69,12 +75,49 @@ struct Index { } else { text = accountNumber + ' '; } + this.mCallDataManager = CallDataManager.getInstance(); + if (this.mCallDataManager.hasAliveCall()) { + this.startBackgroundRunning(); + } this.notificationManager.sendNotification(text, this.callData); this.notificationManager.sendCapsuleNotification(this.callData, true); LogUtils.i(TAG, "onPageHide end : ") } } + aboutToDisappear() { + LogUtils.i(TAG, "aboutToDisappear :") + this.stopBackgroundRunning(); + } + + private stopBackgroundRunning() { + backgroundTaskManager.stopBackgroundRunning(globalThis.calluiAbilityContext).then(() => { + LogUtils.i(TAG, "stopBackgroundRunning succeeded") + }).catch((err) => { + LogUtils.i(TAG, "stopBackgroundRunning failed") + }); + } + + private startBackgroundRunning() { + let wantAgentInfo = { + wants: [{ + bundleName: Constants.CALL_BUNDLE_NAME, + abilityName: Constants.CALL_ABILITY_NAME, + }], + requestCode: 0, + operationType: wantAgent.OperationType.START_ABILITY, + wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] + }; + wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { + backgroundTaskManager.startBackgroundRunning(globalThis.calluiAbilityContext, + backgroundTaskManager.BackgroundMode.VOIP, wantAgentObj).then(() => { + LogUtils.i(TAG, "startBackgroundRunning succeeded") + }).catch((err) => { + LogUtils.i(TAG, "startBackgroundRunning failed cause:" + JSON.stringify(err)) + }); + }); + } + /** * method to control the display of DTMF keyboard * diff --git a/entry/src/main/module.json5 b/entry/src/main/module.json5 index 0376616..b71b930 100644 --- a/entry/src/main/module.json5 +++ b/entry/src/main/module.json5 @@ -15,7 +15,7 @@ { "module": { - "name": "com.ohos.callui", + "name": "callui", "type": "entry", "srcEntrance": "./ets/Application/MyAbilityStage.ts", "description": "$string:callui_description", @@ -47,6 +47,9 @@ "action.system.home" ] } + ], + "backgroundModes": [ + "voip" ] } ], @@ -79,6 +82,9 @@ }, { "name": "ohos.permission.START_ABILITIES_FROM_BACKGROUND" + }, + { + "name": "ohos.permission.KEEP_BACKGROUND_RUNNING" } ] } diff --git a/local.properties b/local.properties deleted file mode 100644 index 63d36ef..0000000 --- a/local.properties +++ /dev/null @@ -1,13 +0,0 @@ -## This file is automatically generated by DevEco Studio. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must *NOT* be checked into Version Control Systems, -# as it contains information specific to your local configuration. -# -# Location of the SDK. This is only used by Gradle. -# For customization when using a Version Control System, please read the -# header note. -#Wed Mar 23 14:49:28 CST 2022 -sdk.dir= -nodejs.dir= -npm.dir= diff --git a/mobiledatasettings/src/main/module.json5 b/mobiledatasettings/src/main/module.json5 index 97e34d1..f61f03c 100644 --- a/mobiledatasettings/src/main/module.json5 +++ b/mobiledatasettings/src/main/module.json5 @@ -15,7 +15,7 @@ { "module": { - "name": "com.ohos.mobiledatasettings", + "name": "mobiledatasettings", "type": "feature", "srcEntrance": "./ets/Application/MyAbilityStage.ts", "description": "$string:app_name", diff --git a/signature/com_ohos_Callui.p7b b/signature/callui.p7b similarity index 100% rename from signature/com_ohos_Callui.p7b rename to signature/callui.p7b diff --git a/signature/material/ac/a427b9fa688c43e690f1c6445b2b084d b/signature/material/ac/a427b9fa688c43e690f1c6445b2b084d new file mode 100644 index 0000000..a42064f --- /dev/null +++ b/signature/material/ac/a427b9fa688c43e690f1c6445b2b084d @@ -0,0 +1,2 @@ +DiÂßÚì9˜ +afŠ]¥ \ No newline at end of file diff --git a/signature/material/ce/36dbc0980c2f46639a65faefaf109cdb b/signature/material/ce/36dbc0980c2f46639a65faefaf109cdb new file mode 100644 index 0000000000000000000000000000000000000000..63b573185d29feb74c6e6d446d94d25f7bfc9ae6 GIT binary patch literal 48 zcmV-00MGvb001Bawo?OTif!slrSpUJA-Y8Hc<17TuWEOAajV73<2&xU5C=wLX1htw GuWkMl3m7o~ literal 0 HcmV?d00001 diff --git a/signature/material/fd/0/82f4d8e216354741b5f5362634c6a980 b/signature/material/fd/0/82f4d8e216354741b5f5362634c6a980 new file mode 100644 index 0000000..ecfb47b --- /dev/null +++ b/signature/material/fd/0/82f4d8e216354741b5f5362634c6a980 @@ -0,0 +1 @@ +W˜‘w+it);ÁHžŽû \ No newline at end of file diff --git a/signature/material/fd/1/fd5d9bdcba434bc2bba28a3c1bf5b898 b/signature/material/fd/1/fd5d9bdcba434bc2bba28a3c1bf5b898 new file mode 100644 index 0000000..3703930 --- /dev/null +++ b/signature/material/fd/1/fd5d9bdcba434bc2bba28a3c1bf5b898 @@ -0,0 +1 @@ +?íu/}¡MðÄÌeñ \ No newline at end of file diff --git a/signature/material/fd/2/c2e5ec3b64614d98a95dcd228363d606 b/signature/material/fd/2/c2e5ec3b64614d98a95dcd228363d606 new file mode 100644 index 0000000..bf16cb9 --- /dev/null +++ b/signature/material/fd/2/c2e5ec3b64614d98a95dcd228363d606 @@ -0,0 +1 @@ +¬*sY6Pâ,Q*Õø