1 /*
2  * Copyright (C) 2021-2022 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  */
15 
16 #include "napi_call_manager_callback.h"
17 
18 #include "call_manager_errors.h"
19 #include "telephony_log_wrapper.h"
20 
21 #include "napi_call_ability_callback.h"
22 
23 namespace OHOS {
24 namespace Telephony {
OnCallDetailsChange(const CallAttributeInfo & info)25 int32_t NapiCallManagerCallback::OnCallDetailsChange(const CallAttributeInfo &info)
26 {
27     int32_t ret = DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->UpdateCallStateInfo(info);
28     if (ret == TELEPHONY_SUCCESS) {
29         TELEPHONY_LOGI("UpdateCallStateInfoHandler success! state:%{public}d, videoState:%{public}d", info.callState,
30             info.videoState);
31     }
32     return ret;
33 }
34 
OnCallEventChange(const CallEventInfo & info)35 int32_t NapiCallManagerCallback::OnCallEventChange(const CallEventInfo &info)
36 {
37     int32_t ret = DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->UpdateCallEvent(info);
38     if (ret != TELEPHONY_SUCCESS) {
39         TELEPHONY_LOGE("UpdateCallEvent failed! errCode:%{public}d", ret);
40     } else {
41         TELEPHONY_LOGI("UpdateCallEvent success!");
42     }
43     return ret;
44 }
45 
OnCallDisconnectedCause(const DisconnectedDetails & details)46 int32_t NapiCallManagerCallback::OnCallDisconnectedCause(const DisconnectedDetails &details)
47 {
48     int32_t ret = DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->UpdateCallDisconnectedCause(details);
49     if (ret != TELEPHONY_SUCCESS) {
50         TELEPHONY_LOGE("UpdateCallDisconnectedCause failed! errCode:%{public}d", ret);
51     } else {
52         TELEPHONY_LOGI("UpdateCallDisconnectedCause success!");
53     }
54     return ret;
55 }
56 
OnReportAsyncResults(CallResultReportId reportId,AppExecFwk::PacMap & resultInfo)57 int32_t NapiCallManagerCallback::OnReportAsyncResults(CallResultReportId reportId, AppExecFwk::PacMap &resultInfo)
58 {
59     int32_t ret =
60         DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->UpdateAsyncResultsInfo(reportId, resultInfo);
61     if (ret != TELEPHONY_SUCCESS) {
62         TELEPHONY_LOGE("UpdateAsyncInfo failed! errCode:%{public}d", ret);
63     } else {
64         TELEPHONY_LOGI("UpdateAsyncInfo success!");
65     }
66     return ret;
67 }
68 
OnReportMmiCodeResult(const MmiCodeInfo & info)69 int32_t NapiCallManagerCallback::OnReportMmiCodeResult(const MmiCodeInfo &info)
70 {
71     int32_t ret = DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->UpdateMmiCodeResultsInfo(info);
72     if (ret != TELEPHONY_SUCCESS) {
73         TELEPHONY_LOGE("UpdateMmiCodeInfo failed! errCode:%{public}d", ret);
74     } else {
75         TELEPHONY_LOGI("UpdateMmiCodeInfo success!");
76     }
77     return ret;
78 }
79 
OnOttCallRequest(OttCallRequestId requestId,AppExecFwk::PacMap & info)80 int32_t NapiCallManagerCallback::OnOttCallRequest(OttCallRequestId requestId, AppExecFwk::PacMap &info)
81 {
82     int32_t ret = DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->OttCallRequest(requestId, info);
83     if (ret != TELEPHONY_SUCCESS) {
84         TELEPHONY_LOGE("ott call request failed! errCode:%{public}d", ret);
85     } else {
86         TELEPHONY_LOGI("ott call request success!");
87     }
88     return ret;
89 }
90 
OnReportAudioDeviceChange(const AudioDeviceInfo & info)91 int32_t NapiCallManagerCallback::OnReportAudioDeviceChange(const AudioDeviceInfo &info)
92 {
93     int32_t ret = DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->UpdateAudioDeviceInfo(info);
94     if (ret == TELEPHONY_SUCCESS) {
95         TELEPHONY_LOGI("UpdateAudioDeviceInfo success!");
96     }
97     return ret;
98 }
99 
OnReportPostDialDelay(const std::string & str)100 int32_t NapiCallManagerCallback::OnReportPostDialDelay(const std::string &str)
101 {
102     int32_t ret = DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->UpdatePostDialDelay(str);
103     if (ret != TELEPHONY_SUCCESS) {
104         TELEPHONY_LOGE("OnReportPostDialDelay failed! errCode:%{public}d", ret);
105     } else {
106         TELEPHONY_LOGI("OnReportPostDialDelay success!");
107     }
108     return ret;
109 }
110 
OnUpdateImsCallModeChange(const CallMediaModeInfo & imsCallModeInfo)111 int32_t NapiCallManagerCallback::OnUpdateImsCallModeChange(const CallMediaModeInfo &imsCallModeInfo)
112 {
113     TELEPHONY_LOGE("OnUpdateImsCallModeChange, callMode:%{public}d", imsCallModeInfo.callMode);
114     int32_t ret =
115         DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->UpdateImsCallModeChange(imsCallModeInfo);
116     if (ret != TELEPHONY_SUCCESS) {
117         TELEPHONY_LOGE("OnUpdateImsCallModeReceive failed! errCode:%{public}d", ret);
118     } else {
119         TELEPHONY_LOGI("OnUpdateImsCallModeReceive success!");
120     }
121     return ret;
122 }
123 
OnCallSessionEventChange(const CallSessionEvent & callSessionEventOptions)124 int32_t NapiCallManagerCallback::OnCallSessionEventChange(const CallSessionEvent &callSessionEventOptions)
125 {
126     int32_t ret =
127         DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->CallSessionEventChange(callSessionEventOptions);
128     if (ret != TELEPHONY_SUCCESS) {
129         TELEPHONY_LOGE("OnCallSessionEventChange failed! errCode:%{public}d", ret);
130     } else {
131         TELEPHONY_LOGI("OnCallSessionEventChange success!");
132     }
133     return ret;
134 }
135 
OnPeerDimensionsChange(const PeerDimensionsDetail & peerDimensionsDetail)136 int32_t NapiCallManagerCallback::OnPeerDimensionsChange(const PeerDimensionsDetail &peerDimensionsDetail)
137 {
138     int32_t ret =
139         DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->PeerDimensionsChange(peerDimensionsDetail);
140     if (ret != TELEPHONY_SUCCESS) {
141         TELEPHONY_LOGE("OnPeerDimensionsChange failed! errCode:%{public}d", ret);
142     } else {
143         TELEPHONY_LOGI("OnPeerDimensionsChange success!");
144     }
145     return ret;
146 }
147 
OnCallDataUsageChange(const int64_t dataUsage)148 int32_t NapiCallManagerCallback::OnCallDataUsageChange(const int64_t dataUsage)
149 {
150     int32_t ret = DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->CallDataUsageChange(dataUsage);
151     if (ret != TELEPHONY_SUCCESS) {
152         TELEPHONY_LOGE("OnCallDataUsageChange failed! errCode:%{public}d", ret);
153     } else {
154         TELEPHONY_LOGI("OnCallDataUsageChange success!");
155     }
156     return ret;
157 }
158 
OnUpdateCameraCapabilities(const CameraCapabilities & cameraCapabilities)159 int32_t NapiCallManagerCallback::OnUpdateCameraCapabilities(const CameraCapabilities &cameraCapabilities)
160 {
161     int32_t ret =
162         DelayedSingleton<NapiCallAbilityCallback>::GetInstance()->UpdateCameraCapabilities(cameraCapabilities);
163     if (ret != TELEPHONY_SUCCESS) {
164         TELEPHONY_LOGE("OnUpdateCameraCapabilities failed! errCode:%{public}d", ret);
165     } else {
166         TELEPHONY_LOGI("OnUpdateCameraCapabilities success!");
167     }
168     return ret;
169 }
170 } // namespace Telephony
171 } // namespace OHOS
172