UIImageView *TelephoneLineImageView{nullptr}; // 线
UILabelExt *NoCallsLabel{nullptr}; // 暂无通话
UILabelExt *hintCallsLabel{nullptr}; // 提示
- CallLogInfo *info{nullptr};
+ CallLogInfo *info[20]{nullptr};
UILabelButtonExt *button_calllog[CALL_LOG_MAX_NUM]{nullptr};
UILabelExt *button_calllog_time[CALL_LOG_MAX_NUM]{nullptr}; //"时间"
UILabelExt *button_calllog_status[CALL_LOG_MAX_NUM]{nullptr}; //"通话状态"
button_calllog_status[i] = nullptr;
}
}
- if(info)
+ for(int i=0;i<20;i++)
{
- delete info;
- info=nullptr;
- }
+ if(info[i])
+ {
+ UIFree(info[i]);
+ info[i]=nullptr;
+ }
+ }
+
if(hintCallsLabel)
{
delete hintCallsLabel;
/* ------------------------------ NoCallsLabel ------------------------------ */
- info = new CallLogInfo[sizeof(CallLogInfo) * CALL_LOG_MAX_NUM];
- if (GetCallLog(&info, &num) == -1) {
+ // info = new CallLogInfo[sizeof(CallLogInfo) * CALL_LOG_MAX_NUM];
+ if (GetCallLog(info, &num) == -1) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogModel::GetInstance()->ListIsEmpty");
return;
}
//WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s",(info + i - 1)->tel);
char buf[20]={0};
- sprintf_s(buf,20,"%s",(const char*)(info + i - 1)->tel);
+ sprintf_s(buf,20,"%s",(const char*)(info[i-1])->tel);
char name[30]={0};
if(get_phone_addrss_name(name,buf,NULL))
{
{
buttonconfig.str=buf;
}
- buttonconfig.ViewId=(const char*)(info + i - 1)->tel;
+ buttonconfig.ViewId=(const char*)(info[i-1])->tel;
button_calllog[i]=SetTheButton_ext(buttonconfig,ButtonOnclickListen);
if(button_calllog[i]==nullptr)
{
time_t currtime;
struct tm *timeinfo;
- currtime=(info + i - 1)->creationTime;
+ currtime=(info[i-1])->creationTime;
timeinfo = localtime(&currtime);
char time_buf[20]={0};
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::MainPhoneViewTitleLabel new fail!");
}
- if((info + i - 1)->status==CALL_MISSED)
+ if((info [i-1])->status==CALL_MISSED)
{
//labelParam.text="未接来电";
button_calllog_status[i]->SetTextId(STR_MISSED_CALLS);
button_calllog_status[i]->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
}
- else if((info + i - 1)->status==CALL_INCOMING)
+ else if((info[i-1])->status==CALL_INCOMING)
{
//labelParam.text="拨入电话";
button_calllog_status[i]->SetTextId(STR_RECEIVED_CALLS);
#include "ConfigModel.h"
#include "custom_runtime.h"
#include "vibrator_service.h"
+#include "gfx_utils/mem_api.h"
#ifdef __cplusplus
extern "C" {
#endif
int number = fileSize / sizeof(CallLogInfo);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[GetCallLog] fileSize:%d, number:%d", fileSize, number);
- CallLogInfo *callInfo = (CallLogInfo *)malloc(fileSize);
+ CallLogInfo *callInfo = (CallLogInfo *)OHOS::UIMalloc(fileSize);
if (callInfo == nullptr) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[GetCallLog] malloc callInfo fail!");
*info = nullptr;
return OHOS_SUCCESS;
}
+
+// int SaveCallLog(CallLogInfo **info)
+// {
+// FILE *fp = fopen(CALL_LOG_PATH, "wb+");
+// if (fp == nullptr) {
+// WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[AddToCallLog] fopen %s failed!", CALL_LOG_PATH);
+// return OHOS_FAILURE;
+// }
+
+
+// int number = fileSize / sizeof(CallLogInfo);
+// WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[GetCallLog] fileSize:%d, number:%d", fileSize, number);
+// CallLogInfo *callInfo = (CallLogInfo *)malloc(fileSize);
+// if (callInfo == nullptr) {
+// WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[GetCallLog] malloc callInfo fail!");
+// *info = nullptr;
+// *num = 0;
+// fclose(fp);
+// return OHOS_FAILURE;
+// }
+// (void)memset_s(callInfo, fileSize, 0, fileSize);
+
+// int ret = fread(callInfo, sizeof(CallLogInfo), number, fp);
+// if (ret != number) {
+// WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[GetCallLog] fread fp fail ret:%d", ret);
+// *info = nullptr;
+// *num = 0;
+// fclose(fp);
+// return OHOS_FAILURE;
+// }
+
+// *info = callInfo;
+// *num = number;
+// fclose(fp);
+// return OHOS_SUCCESS;
+// }
+
// 清空通话记录
int ClearCallLogFile(void)
{