STR_DELETE_ALL = 637,\r
STR_FRE_CONTACT = 638,\r
STR_RECORD_MAX = 639,\r
- STR_MAX_ID = 640,\r
+ STR_CLEAR_ALL_RECORDS = 640,\r
+ STR_MAX_ID = 641,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
ACLConnectionFail(bdAddr);\r
}\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "a2dp_src_connect result 0x%x", retA2dp);\r
-errcode_t rethfp= hfp_ag_cmd_conn_hfp(&bdAddr);\r
- if(rethfp)\r
- {\r
- ACLConnectionFail(bdAddr);\r
- }\r
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV\r
+ errcode_t rethfp= hfp_ag_cmd_conn_hfp(&bdAddr);\r
+ if(rethfp)\r
+ {\r
+ ACLConnectionFail(bdAddr);\r
+ }\r
+ #endif\r
\r
\r
} else {\r
if(CallerLogModel::GetInstance()->GetCallSource()==CallerLogModel::CallSourceCat1)
{
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
if(volte_voice_state()==2 && headset_Is_connect())
{
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_DIS_SCO_CONNECT, nullptr, 0);
}
else
+ #endif
+
{
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_STOP, nullptr, 0);
}
-
-
-
}
-
CallerLogModel::GetInstance()->Setphonebname("",0);
CallerLogModel::GetInstance()->SetCallDial(CallerLogModel::HFP_PHONE_DIAL);
CallerLogModel::GetInstance()->set_RejectIncomingCall_falg(0);
}
imageheadset->SetPosition(296, 296); // 30 : offset
- if(headset_SCO_Is_connect())
- {
- imageheadset->SetSrc(PNG_230_HEADSET_2_IIMAGE_PATH);
- imageheadset->SetViewId("callingheadset");
- }
- else if (CallerLogModel::GetInstance()->GetCallSource() == CallerLogModel::CallSourceCat1)
- {
- imageheadset->SetSrc(PNG_230_HEADSET_3_IIMAGE_PATH);
- imageheadset->SetViewId("callingheadset");
- }
- else
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
+ if(headset_SCO_Is_connect())
+ {
+ imageheadset->SetSrc(PNG_230_HEADSET_2_IIMAGE_PATH);
+ imageheadset->SetViewId("callingheadset");
+ }
+ else if (CallerLogModel::GetInstance()->GetCallSource() == CallerLogModel::CallSourceCat1)
+ {
+ imageheadset->SetSrc(PNG_230_HEADSET_3_IIMAGE_PATH);
+ imageheadset->SetViewId("callingheadset");
+ }
+ else
+ #endif
+
{
imageheadset->SetSrc(PNG_230_HEADSET_1_IIMAGE_PATH);
imageheadset->SetViewId("headset");
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::DialingMethodButton new fail!");
return;
}
+ button_delete_all_calllog->SetTextId(STR_CLEAR_ALL_RECORDS);
button_delete_all_calllog->SetAlign(TEXT_ALIGNMENT_CENTER);
button_delete_all_calllog->SetLabelPosition(0,0);
// button_delete_all_calllog
labelParam.height = 100;
labelParam.fontSize = 22;
labelParam.lineHeigh = 25;
- labelParam.text = "注:只保留最近20条通话记录\n在通话记录上长按可删除";
- labelParam.lineBreakMode = UILabel::LINE_BREAK_MARQUEE,
-
+ labelParam.text = "注:只保留最近20条通话记录在通话记录上长按可删除";
+ labelParam.lineBreakMode = UILabel::LINE_BREAK_WRAP,
+ // button_delete_all_calllog->SetTextId(STR_NOTE_RECENT_CALLS_LIMITATION)
hintCallsLabel = TelephonyInitInterface::LabelViewInit(labelParam,Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
if (hintCallsLabel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::MainPhoneViewTitleLabel new fail!");
}
hintCallsLabel->SetVisible(true);
- //hintCallsLabel->SetTextId(STR_NOTE_RECENT_CALLS_LIMITATION);
+ hintCallsLabel->SetTextId(STR_NOTE_RECENT_CALLS_LIMITATION);
hintCallsLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); // 设置此文本的对齐模式
MainPhoneViewScrollView->Add(hintCallsLabel);
}
#define SAMPLE_HFP_PROF_VOL_LEVEL 15
#define SAMPLE_HFP_MEDIA_VOL_LEVEL 100
+#ifdef SUPPORT_CAT1_HFP_AG_SERV
+
void hfp_ag_reg_callback(void);
errcode_t hfp_ag_cmd_conn_hfp(const bd_addr_t *bd_addr);
int cat1_ag_send_call_event( uint32_t event_topic,const char* info);
+#endif
+
// void bt_hfp_ag_service_sample_cmd(uint32_t cmd_id, const char **params, int32_t params_cnt);
#endif /* SAMPLE_HFP_AG_SERVICE_H */
#include "custom_utils.h"
+
#define SAMPLE_HFP_TASK_STACK_SIZE 0x1600
#define SAMPLE_HFP_TASK_PRI 20
#define HFP_MEDIA_STATUS_DEINIT 0
void cat1_connect_sco_(void)
{
//AudioActInterrupt(AUDIO_STREAM_VOICE_CALL_VOLTE);
- hfp_ag_cmd_conn_sco(BtAvrcpSrvGetActiveAddr());
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
+ hfp_ag_cmd_conn_sco(BtAvrcpSrvGetActiveAddr());
+ #endif
}
void cat1_disconn_sco_(void)
{
//AudioActInterrupt(AUDIO_STREAM_VOICE_CALL_VOLTE);
- hfp_ag_cmd_disconn_sco(BtAvrcpSrvGetActiveAddr());
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
+ hfp_ag_cmd_disconn_sco(BtAvrcpSrvGetActiveAddr());
+ #endif
}
CallListInit();
RegisterHfpHfCallbacks();
//AG 服务注册
+#ifdef SUPPORT_CAT1_HFP_AG_SERV
hfp_ag_reg_callback();
+#endif
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[PhoneServiceInit] end");
}
return;
}
- int32_t minVolume = PhoneAudioGetMinVolume();
- int32_t maxVolume = PhoneAudioGetMaxVolume();
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
+ int32_t minVolume = PhoneAudioGetMinVolume();
+ int32_t maxVolume = PhoneAudioGetMaxVolume();
- unsigned char volumeValue = (unsigned char) round(((double) (hfpVolume * CALL_VOLUME_MAX) / (maxVolume - minVolume))); // 音量转换
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] minVolume:%d, maxVolume:%d, 蓝牙音量调节映射后volume:%d",minVolume,maxVolume, volumeValue);
+ unsigned char volumeValue = (unsigned char) round(((double) (hfpVolume * CALL_VOLUME_MAX) / (maxVolume - minVolume))); // 音量转换
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] minVolume:%d, maxVolume:%d, 蓝牙音量调节映射后volume:%d",minVolume,maxVolume, volumeValue);
+
- cat1_set_headset_volume(volumeValue)
+ cat1_set_headset_volume(volumeValue)
+ #endif
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] success!");
}
# ${ROOT_DIR}/middleware/services/gui/uikit/surface/interfaces/kits
${ROOT_DIR}/application/wearable/fd230app/nativeui/player/include
${ROOT_DIR}/application/wearable/fd230app/nativelauncher/include
-
+${ROOT_DIR}/middleware/services/gui/uikit/ui/frameworks
+# ${ROOT_DIR}/middleware/services/gui/uikit/surface/interfaces/kits
+# /home/hcj/FD230/code/sdk/middleware/services/gui/uikit/surface/interfaces/kits/ibuffer_consumer_listener.h
+# /home/hcj/FD230/code/sdk/middleware/services/gui/uikit/ui/frameworks/common/typed_text.h
)
set(SOURCES
#include "transmitting.h"
#include "AlipayC.h"
#include "PlayersModelC.h"
+#include "font/ui_font.h"
+#include "font/base_font.h"
+#include "common/typed_text.h"
+// #include "font/base_font.h"
+// #include "uicomponents/UIComponents.h"
//#define APP_DOWNLOAD_DIAL_PATH "/user/dial/offline_dial" /*表盘市场安装路径*/
#define DIAL_DATA_DIR APP_DOWNLOAD_DIAL_PATH
// #define DIAL_DATA_DIR "/user/dial/offline_dial"
+uint16_t get_str_nodisplay_number(char *str, uint32_t max_len) {
+
+ uint32_t j = 0;
+ uint32_t letter = 0;
+ if (str == nullptr) {
+ return 0;
+ }
+ uint16_t nodisplay_numberlen=0;
+
+ while (str[j] != '\0')
+ {
+ int i = j;
+ letter = OHOS::TypedText::GetUTF8Next(str, j, j);
+ int len = j - i;
+ OHOS::UIFont *fontEngine = OHOS::UIFont::GetInstance();
+ OHOS::GlyphPathData path;
+ if (!fontEngine->GetGlyphPathData(letter, 0, path))
+ {
+ if(nodisplay_numberlen==0 && i!=0)
+ {
+ return 0;
+ }
+ nodisplay_numberlen+=len;
+
+ }
+ else
+ {
+ return nodisplay_numberlen;
+ }
+ }
+ // printf("%s\r\n", str_);
+}
+
char * get_dial_path(void)
{
time_t currtime=timetamp_begin;
struct tm *timeinfo;
timeinfo = localtime(&currtime);
+
int y=timeinfo->tm_year+ 1900;
int m=timeinfo->tm_mon+1;
int d=timeinfo->tm_mday;
#define MAX_MESSAGE_NUM 10
#define TITLE_BUF_LEN 256
-#define MSG_BUF_LEN 300
+#define MSG_BUF_LEN 1024
typedef struct ancs_data_info
{
uint32_t time;//时间戳
errcode_t get_dial_file_path(char* input_dialname ,uint32_t input_size, char* output_file_path , uint32_t max_output_size);
+
+uint16_t get_str_nodisplay_number(char *str, uint32_t max_len);
+
#ifdef __cplusplus
#if __cplusplus
}
// When the incoming call view is displayed, the calling number is not set in CallerLogModel.
//uapi_hfp_disconnect();
//来电
-
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
cat1_ag_send_call_event(TOPIC_EVENT_CAT1_INCOMMING,call_data);
+ #endif
if(NotificationManager::GetInstance()->GetWatchCallStatus() &&
(CallerLogModel::GetInstance()->GetCallSource()==CallerLogModel::CallSourceCat1))
}
AlarmClockModel::GetInstance()->AlarmPlayerStop();
//AlarmViewEventListener::GetInstance()->CancelAlarmRing();
-
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
if(headset_Is_connect())
{
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, nullptr, 0);
}
else
+ #endif
{
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_START, nullptr, 0);
-}
- cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLCONNTED,NULL);
-
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_START, nullptr, 0);
+ }
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
+
+ cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLCONNTED,NULL);
+ #endif
CallerLogModel::GetInstance()->SetCallSource(CallerLogModel::CallSource::CallSourceCat1);
}
cat1_call_dial(call_data);
-cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLDIAL,NULL);
-
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
+ cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLDIAL,NULL);
+ #endif
CallerLogModel::GetInstance()->SetoperateNumber(call_data,req->len);
CallerLogModel::GetInstance()->SetCallSource(CallerLogModel::CallSource::CallSourceCat1);
cat1_phone_state_change_cb(OPERATE_DIALING);
-
-if(headset_Is_connect())
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
+ if(headset_Is_connect())
{
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, nullptr, 0);
}
else
+ #endif
{
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_START, nullptr, 0);
- }
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_START, nullptr, 0);
+ }
}
free(call_data);
cat1_call_hungup();
cat1_phone_state_change_cb(OPERATE_WATCH_FINISH);
-cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
+ cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
+ #endif
CustomEventPublish(TOPIC_EVENT_CAT1_CALL_FAIL,NULL,0);
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "no OPERATE_WATCH_FINISH");
-cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
-
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
+ cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
+ #endif
}
else
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OPERATE_WATCH_FINISH");
cat1_phone_state_change_cb(OPERATE_WATCH_FINISH);
-cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
+ #ifdef SUPPORT_CAT1_HFP_AG_SERV
+ cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
+ #endif
}
free(call_data);
STR_DELETE_ALL = 637,\r
STR_FRE_CONTACT = 638,\r
STR_RECORD_MAX = 639,\r
- STR_MAX_ID = 640,\r
+ STR_CLEAR_ALL_RECORDS = 640,\r
+ STR_MAX_ID = 641,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
STR_MISSED_CALLS$Missed Calls\r
STR_DIALED_CALLS$Dialed Calls\r
STR_RECEIVED_CALLS$Received Calls\r
-STR_NOTE_RECENT_CALLS_LIMITATION$Note: Only the last 20 calls are saved\r
+STR_NOTE_RECENT_CALLS_LIMITATION$Note: Only the last 20 call records are reserved. Long press on the call history to delete them\r
STR_NO_CONTACTS_ADDED$No contacts added, please set up in APP\r
STR_DIAL_MODE$Dial Mode\r
STR_DIAL_VIA_WATCH_SIM$Dial via Watch SIM\r
STR_CALL_LIST$Call log\r
STR_DELETE_ALL$Clear all\r
STR_FRE_CONTACT$Frequent contact\r
-STR_RECORD_MAX$The recording space is full
\ No newline at end of file
+STR_RECORD_MAX$The recording space is full\r
+STR_CLEAR_ALL_RECORDS$Clear all records
\ No newline at end of file
STR_MISSED_CALLS$未接来电\r
STR_DIALED_CALLS$拨出电话\r
STR_RECEIVED_CALLS$拨入电话\r
-STR_NOTE_RECENT_CALLS_LIMITATION$注:只保留最近20条通话记录\r
+STR_NOTE_RECENT_CALLS_LIMITATION$注:只保留最近20条通话记录在通话记录上长按可删除\r
STR_NO_CONTACTS_ADDED$尚未添加联系人,请前往APP进行设置\r
STR_DIAL_MODE$拨号方式\r
STR_DIAL_VIA_WATCH_SIM$通过手表SIM卡拨号\r
STR_CALL_LIST$通话记录\r
STR_DELETE_ALL$全部清除\r
STR_FRE_CONTACT$常用联系人\r
-STR_RECORD_MAX$录音空间已满
\ No newline at end of file
+STR_RECORD_MAX$录音空间已满\r
+STR_CLEAR_ALL_RECORDS$清除全部记录
\ No newline at end of file
<lanstr id="STR_MISSED_CALLS" value="Missed Calls"/>
<lanstr id="STR_DIALED_CALLS" value="Dialed Calls"/>
<lanstr id="STR_RECEIVED_CALLS" value="Received Calls"/>
- <lanstr id="STR_NOTE_RECENT_CALLS_LIMITATION" value="Note: Only the last 20 calls are saved"/>
+ <lanstr id="STR_NOTE_RECENT_CALLS_LIMITATION" value="Note: Only the last 20 call records are reserved. Long press on the call history to delete them"/>
<lanstr id="STR_NO_CONTACTS_ADDED" value="No contacts added, please set up in APP"/>
<lanstr id="STR_DIAL_MODE" value="Dial Mode"/>
<lanstr id="STR_DIAL_VIA_WATCH_SIM" value="Dial via Watch SIM"/>
<lanstr id="STR_DELETE_ALL" value="Clear all"/>
<lanstr id="STR_FRE_CONTACT" value="Frequent contact"/>
<lanstr id="STR_RECORD_MAX" value="The recording space is full"/>
+ <lanstr id="STR_CLEAR_ALL_RECORDS" value="Clear all records"/>
</language>
<lanstr id="STR_MISSED_CALLS" value="未接来电"/>
<lanstr id="STR_DIALED_CALLS" value="拨出电话"/>
<lanstr id="STR_RECEIVED_CALLS" value="拨入电话"/>
- <lanstr id="STR_NOTE_RECENT_CALLS_LIMITATION" value="注:只保留最近20条通话记录"/>
+ <lanstr id="STR_NOTE_RECENT_CALLS_LIMITATION" value="注:只保留最近20条通话记录在通话记录上长按可删除"/>
<lanstr id="STR_NO_CONTACTS_ADDED" value="尚未添加联系人,请前往APP进行设置"/>
<lanstr id="STR_DIAL_MODE" value="拨号方式"/>
<lanstr id="STR_DIAL_VIA_WATCH_SIM" value="通过手表SIM卡拨号"/>
<lanstr id="STR_DELETE_ALL" value="全部清除"/>
<lanstr id="STR_FRE_CONTACT" value="常用联系人"/>
<lanstr id="STR_RECORD_MAX" value="录音空间已满"/>
+ <lanstr id="STR_CLEAR_ALL_RECORDS" value="清除全部记录"/>
</language>
STR_DELETE_ALL = 637,\r
STR_FRE_CONTACT = 638,\r
STR_RECORD_MAX = 639,\r
- STR_MAX_ID = 640,\r
+ STR_CLEAR_ALL_RECORDS = 640,\r
+ STR_MAX_ID = 641,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {