1import Want from '@ohos.application.Want'; 2import ServiceExtension from '@ohos.app.ability.ServiceExtensionAbility'; 3import CallManagerService from './CallManagerService'; 4import rpc from '@ohos.rpc'; 5import LogUtils from "../common/utils/LogUtils" 6 7const TAG = "ServiceAbility"; 8 9export default class ServiceAbility extends ServiceExtension { 10 callManagerService: CallManagerService 11 12 onCreate(want) { 13 LogUtils.i(TAG, "onCreate callUI service"); 14 this.callManagerService = new CallManagerService(this.context); 15 } 16 17 onConnect(want: Want) { 18 LogUtils.i(TAG, "onConnect callUI service"); 19 let callData: any = {}; 20 callData.accountNumber = want.parameters?.accountNumber; 21 callData.videoState = want.parameters?.videoState; 22 callData.callType = want.parameters?.callType; 23 callData.callState = want.parameters?.callState; 24 callData.callId = want.parameters?.callId; 25 callData.startTime = want.parameters?.startTime; 26 callData.accountId = want.parameters?.accountId; 27 callData.isEcc = want.parameters?.isEcc; 28 callData.conferenceState = want.parameters?.conferenceState; 29 this.callManagerService.getCallData(callData); 30 return new Stub('ServiceAbility'); 31 } 32 33 onDisconnect(): void { 34 LogUtils.i(TAG, 'onDisconnect callUI service'); 35 this.callManagerService.onDisconnected(); 36 } 37 38 onRequest(want: Want, startId: number) { 39 LogUtils.i(TAG, "onRequest callUI service"); 40 } 41 42 onDestroy() { 43 LogUtils.i(TAG, "onDestroy callUI service"); 44 this.callManagerService.removeRegisterListener(); 45 } 46} 47 48class Stub extends rpc.RemoteObject { 49 constructor(descriptor) { 50 super(descriptor); 51 } 52 53 onRemoteRequest(code, date, reply, option) { 54 LogUtils.i(TAG, "Stub onRemoteRequest code:" + code) 55 return true; 56 } 57}