dialInfo_1[dial_num++].title=str_2;
fclose(fp);
- delete(data);
+ UIFree(data);
}
}
*/
int AcceptIncomingCall(void);
+void CallChangeIncomePro(const hfp_hf_calls_info_t *call);
+
+int AcceptIncomingCall_cat1(void);
/**
* @brief 手表拒接呼入来电
*
#include "service_id_define.h"
#include "samgr_lite.h"
#include "ui_service.h"
+#include "cat1_server_hal.h"
+
#if defined(SUPPORT_POWER_MANAGER)
#include "power_display_service.h"
#endif
}
// 通话状态变化--呼入处理
-static void CallChangeIncomePro(const hfp_hf_calls_info_t *call)
+void CallChangeIncomePro(const hfp_hf_calls_info_t *call)
{
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[hu] call");
PhoneCallInfo *phoneCall = NULL;
int tmp, ret;
CallChangeAlertPro(call);
break;
case HFP_HF_CALL_STATE_INCOMING: // 呼入
+
PhoneServiceScreenCtr(1);
CallChangeIncomePro(call);
break;
return OHOS_SUCCESS;
}
+int AcceptIncomingCall_cat1(void)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[AcceptIncomingCall] start");
+ int ret, i;
+ incomedcall_event_sendmsg_toUI("10086");
+ return OHOS_SUCCESS;
+}
// 手表拒接呼入来电,成功:0,失败:错误码
int RejectIncomingCall(void)
{
#include "want.h"
#include "msg_center.h"
#include "common_def.h"
+#include "PhoneService.h"
+#include "power_display_service.h"
namespace OHOS {
} else {
// Prevent this from happening:
// When the incoming call view is displayed, the calling number is not set in CallerLogModel.
+
CallerLogModel::GetInstance()->SetoperateNumber(call_data.number, call_data.number_len);
CallerLogModel::GetInstance()->SetCallSource(CallerLogModel::CallSource::CallSourcePhone);
}
} else {
// Prevent this from happening:
// When the incoming call view is displayed, the calling number is not set in CallerLogModel.
+ const power_display_svr_api_t *display_api = power_display_svr_get_api();
+ if (display_api->get_screen_state() != SCREEN_ON)
+ {
+ display_api->turn_on_screen();
+ }
+ display_api->set_screen_set_keepon_timeout(10);
+
+ AlarmClockModel::GetInstance()->AlarmPlayerStart();
+
CallerLogModel::GetInstance()->SetoperateNumber(call_data,req->len);
CallerLogModel::GetInstance()->SetCallSource(CallerLogModel::CallSource::CallSourceCat1);
+ // hfp_hf_calls_info_t call;
+ // CallChangeIncomePro(&call);
}
free(call_data);
+
NotificationManager::GetInstance()->SetNotifyPriority(PRIORITY_ONE);
CallerLogModel::GetInstance()->SetNotifyFlag(true);
NotificationManager::GetInstance()->ShowNotify(showPhoneCallNotify, (uint16_t)topic, true);
{
unused(topic);
unused(req);
+
+ if (req == NULL) return ;
+ AlarmClockModel::GetInstance()->AlarmPlayerStop();
+ NotificationManager::GetInstance()->SetNotifyPriority(PRIORITY_ONE);
+ CallerLogModel::GetInstance()->SetNotifyFlag(true);
+ NotificationManager::GetInstance()->ShowNotify(CreateCallingView, (uint16_t)topic, true);
+
}
void MsgCenterNotifyCat1CallEndedProc(const Topic topic, Request* req)
{
unused(topic);
unused(req);
+
+ unused(topic);
+ unused(req);
+ // just stop the notify
+ AlarmClockModel::GetInstance()->AlarmPlayerStop();
+ if (CallerLogModel::GetInstance()->GetNotifyFlag() == true) {
+ NotificationManager::GetInstance()->StopNotify();
+ }
+
+
}
void MsgCenterNotifyCat1SignalUpdateProc(const Topic topic, Request* req)
{
#ifdef SUPPORT_CAT1_SERVICE
#include "cat1_server.h"
#endif
+#include "cat1_server.h"
#define NOTIFY_THREE_SECONDS 3000
#define NOTIFY_ONE_SECOND 1000
#define NOTIFY_THIRTY_SECONDS 30000
#define NOTIFY_ONE_MINUTE 60000
#define NOTOFY_NO_OPERATE_TIME 35000
+#include "NativeAbility.h"
namespace OHOS {
int changeImage = 0;
osTimerId_t g_callDuration = NULL; // timer of call duration
static CallViewEventListener callViewEventListener;
return &callViewEventListener;
}
-
+//#define SUPPORT_CAT1_SERVICE
bool CallViewEventListener::OnClick(UIView& view, const ClickEvent& event)
{
UNUSED(event);
if (CallerLogModel::GetInstance()->GetCallSource() == CallerLogModel::CallSourceCat1)
{
- #ifdef SUPPORT_CAT1_SERVICE
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MakephoneNotify 11111111 ");
+ //#ifdef SUPPORT_CAT1_SERVICE
+
+ AcceptIncomingCall_cat1();
cat1_call_answer();
- #endif
- }else{
+ //#endif
+ }
+ else
+ {
+
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MakephoneNotify222222222 ");
if (AcceptIncomingCall() != 0) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AcceptIncomingCall() fail");
return false;
return true;
} else if (strcmp(view.GetViewId(), "displayHandUp") == 0 ||
- strcmp(view.GetViewId(), "callingHandUp") == 0) {
- if (strcmp(view.GetViewId(), "displayHandUp") == 0) {
+ strcmp(view.GetViewId(), "callingHandUp") == 0)
+ {
+ if (strcmp(view.GetViewId(), "displayHandUp") == 0)
+ {
// The watch rejects the call
if (CallerLogModel::GetInstance()->GetCallSource() == CallerLogModel::CallSourceCat1)
{
- #ifdef SUPPORT_CAT1_SERVICE
+ //#ifdef SUPPORT_CAT1_SERVICE
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MakephoneNotify 11111111 ");
cat1_call_hungup();
- #endif
+ // uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
+ // NativeAbility::GetInstance().ChangeSlice(preSlice);
+ NotificationManager::GetInstance()->StopNotify();
+
+ //#endif
}else{
if (RejectIncomingCall() != 0) {
return false;
}
}
- }
- return true;
- } else if (strcmp(view.GetViewId(), "microphoneChange") == 0) {
+ }
+ else if (strcmp(view.GetViewId(), "callingHandUp") == 0)
+ {
+
+ // The watch rejects the call
+ if (CallerLogModel::GetInstance()->GetCallSource() == CallerLogModel::CallSourceCat1)
+ {
+ //#ifdef SUPPORT_CAT1_SERVICE
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MakephoneNotify 11111111 ");
+ cat1_call_hungup();
+ // uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
+ // NativeAbility::GetInstance().ChangeSlice(preSlice);
+ NotificationManager::GetInstance()->StopNotify();
+ //#endif
+ }
+ }
+ return true;
+ }
+
+ else if (strcmp(view.GetViewId(), "microphoneChange") == 0) {
if (changeImage == 0) {
changeImage = 1;
RefreshMicrophoneImageSrc(PNG_MICROPHONE_CLOSE_IMAGE_PATH);
return ERRCODE_SUCC;
}
+
+static uint32_t AT_CALL_ifconfig(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+ UNUSED(strCommonCmd);
+ uint8_t argv[PPG_MAX_ARGC][PPG_MAX_ARGV_LEN] = { 0 };
+ uint32_t argc = 0;
+
+ int ret = ConvertCmdToParam(para, paraLen, argv, &argc);
+ if (ret != PPG_SUCCESS) {
+ printf("CAT1TEST ATCMD Convert Command Failed\n");
+ return ERRCODE_FAIL;
+ }
+
+ // if (argc != 1) {
+ // printf("CAT1TEST ATCMD Set Parameter Failed\n");
+ // return ERRCODE_FAIL;
+ // }
+ test_call_incomming();
+
+ return ERRCODE_SUCC;
+}
+
static const at_cmd_table_t g_cat1_cmd[] = {
{ (char *)"AT^CAT1POWER", cat1_power, (char *)"1" },
{ (char *)"AT^CAT1DIAL", at_cat1_dial, (char *)"1" },
{ (char *)"AT^PING", cat1_ping, (char *)"1" },
{ (char *)"AT^IFCONFIG", cat1_ifconfig, (char *)"1" },
{ (char *)"AT^CAT1GETVER", at_cat1_getver, (char *)"1" },
+ { (char *)"AT^CALL_1", AT_CALL_ifconfig, (char *)"1" },
+
};
at_cmd_table_t *get_cat1_cmd_table(uint32_t *cmd_count)
}
}
+static char* phonenum =NULL;
+
+//来电
int cat1_handle_call_incomming(struct tcp_msg_t *msg)
{
- char* phonenum = msg->buffer;
+ if(phonenum!=NULL)
+ {
+ free(phonenum);
+ phonenum=NULL;
+ }
+ phonenum = (char*)malloc(strlen(msg->buffer));
+ if(phonenum==NULL)
+ return 0;
+
+ strcpy(phonenum,msg->buffer);
WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 incomming call %s\n",phonenum);
+
incomingcall_event_sendmsg_toUI(phonenum);
- uapi_cat1_start_volte_voice();
+ //声音
+ //uapi_cat1_start_volte_voice();
+
+
+
return 1;
}
+void test_call_incomming(void)
+{
+ struct tcp_msg_t msg;
+ strcpy(msg.buffer,"10086");
+ cat1_handle_call_incomming(&msg);
+}
+
int cat1_handle_networ_msg(struct tcp_msg_t *msg)
{
char* networkmsg=msg->buffer;
{
WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 call connected\n");
+ //声音处理
uapi_cat1_start_volte_voice();
+
return 1;
}
+//来电挂断处理
int cat1_handle_call_disconnected(struct tcp_msg_t *msg)
{
WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 call disconnected\n");
//TODO: 关闭声音
+ callend_event_sendmsg_toUI("0k");
uapi_cat1_stop_volte_voice();
return 1;
}
void cat1_getsignal(void);
void cat1_call_dial(char* phonenum);
+void test_call_incomming(void);
void cat1_call_sms_send(char* phonenum,char* sms_txt);
void cat1_gettime(void);
void cat1_getver(void);
BroadcastApi *broadcastApi = NULL;
IUnknown *api = NULL;
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish topic=%u!!", topic);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish topic=%u %d %s!!", topic,size,data);
/* alloc request */
request = SAMGR_AllocRequestMsg(0, PLATFORM_CORE, BROADCAST_SVR_ID, size);
}
request->msgId = topic;
ret = memcpy_s(request->data, size, (const void *)data, size);
+
if (ret != EOK) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish memcpy_s rateDataTmp fail! ret = %d", ret);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish memcpy_s rateDataTmp fail! ret = %d ", ret);
return;
}
request->len = size;
request->msgValue = 0;
+
/* public request */
+
api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME);
if (api == NULL) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed");
}
broadcastApi->PublishTopic((IUnknown *)broadcastApi, request);
broadcastApi->Release((IUnknown *)broadcastApi);
+
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish end!!");
+
return;
}
CustomEventPublish(TOPIC_EVENT_CAT1_INCOMMING,(uint8_t*)callno,strlen(callno));
return 0;
}
+
+static errcode_t incomed_call_event_notify(char* callno)
+{
+ CustomEventPublish(TOPIC_EVENT_CAT1_CALLCONNTED,(uint8_t*)callno,strlen(callno));
+ return 0;
+}
+
+static errcode_t callend_event_notify(char* callno)
+{
+ CustomEventPublish(TOPIC_EVENT_CAT1_CALLENDED,(uint8_t*)callno,strlen(callno));
+ return 0;
+}
+
+errcode_t callend_event_sendmsg_toUI(char* callno)
+{
+ /**通过UI事件发送Notify*/
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(callend_event_notify, callno));
+ return ERRCODE_SUCC;
+}
+
+
+errcode_t incomedcall_event_sendmsg_toUI(char* callno)
+{
+ /**通过UI事件发送Notify*/
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(incomed_call_event_notify, callno));
+ return ERRCODE_SUCC;
+}
+
+
errcode_t incomingcall_event_sendmsg_toUI(char* callno)
{
/**通过UI事件发送Notify*/
#endif /* __cplusplus */
#endif /* __cplusplus */
-
+errcode_t incomedcall_event_sendmsg_toUI(char* callno);
+errcode_t callend_event_sendmsg_toUI(char* callno);
errcode_t incomingcall_event_sendmsg_toUI(char* callno);
#ifdef __cplusplus