//获取一个可用的闹钟 ID
uint8_t AlarmClockModel::GetAlarmId(void)
{
+ for (int num = 0; num < CLOCK_MAX; num++) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::GetAlarmId alarmId[%d] = %d", num, alarmId[num]);
+ }
for (int num = 0; num < CLOCK_MAX; num++) {
if (alarmId[num] == 0) { //如果某个元素的值为 0,表示这个 ID 尚未被使用
return num;
AlarmClockModel::GetInstance()->SetAlarmId(id);
}
+void delete_alarm_id(uint8_t id)
+{
+ AlarmClockModel::GetInstance()->DeleteAlarmId(id);
+}
// void AlarmClockModel::NewFirstTime(void)
// {
// uint32_t timeTem = FIRST_CLOCK_HOUR;
// SetAlarmId(currentAlarm[0]->alarmClockId);
// return;
// }
-#if 0
+#if 1
void AlarmClockModel::DeleteClockModel(uint16_t num)
{
// WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::DeleteClockModel num=%d", num);
currentAlarm[num]->alarmClockId);
DeleteAlarmId(clockId);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::DeleteClockModel alarmSerial = %u!", alarmSerial);
- // for (; num < alarmSerial; num++) {
- // AlarmClockInfo *tempAlarm = currentAlarm[num];
- // tempAlarm->index = currentAlarm[num]->index;
- // currentAlarm[num] = currentAlarm[num + 1];
- // currentAlarm[num]->index = num;
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::UpdataAlarmClock index = %u!",
- // currentAlarm[num]->index);
- // if (currentAlarm[num + 1] == nullptr || currentAlarm[num + 1]->alarmType == TYPE_INVALID_ALARM_CLOCK) {
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::DeleteClockModel fail");
- // currentAlarm[num] = tempAlarm;
- // return;
- // }
- // int ret = UpdataAlarmClock(currentAlarm[num]);
- // if (ret != 0) {
- // currentAlarm[num] = tempAlarm;
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::DeleteClockModel [%d]", __LINE__);
- // return;
- // }
- // }
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::DeleteClockModel [%d]", __LINE__);
- // currentAlarm[alarmSerial] = nullptr;
- for (; num < alarmSerial - 1; num++)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::DeleteClockModel. current_index = %u!", currentAlarm[num]->index);
- if (currentAlarm[num + 1] == nullptr || currentAlarm[num + 1]->alarmType == TYPE_INVALID_ALARM_CLOCK)
- {
+ for (; num < alarmSerial - 1; num ++) {
+ if (currentAlarm[num + 1] == nullptr || currentAlarm[num + 1]->alarmType == TYPE_INVALID_ALARM_CLOCK) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::DeleteClockModel fail");
break;
}
}
currentAlarm[alarmSerial - 1] = nullptr;
}
-#endif
+#else
//删除闹钟信息
void AlarmClockModel::DeleteClockModel(uint16_t id)
}
}
}
-
+#endif
//切换特定闹钟的启用状态
bool AlarmClockModel::ButtonStatusRing(int16_t num, bool alarmStatus)
{
if (currentAlarm[alarmListener] == nullptr || (currentAlarm[alarmListener]->alarmType == TYPE_INVALID_ALARM_CLOCK &&
currentAlarm[alarmListener] != nullptr)) {
currentAlarm[alarmListener] = new AlarmClockInfo();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClcokModel::SetAlarmTime new alarm!");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClcokModel::SetAlarmTime new alarm!");
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "hour = %u, minute = %u", time_hour, time_min);
currentAlarm[alarmListener]->alarmTime = ((time_hour << 16) | time_min); // 闹钟时间数据:小时存储在高 16 位,分钟存储在低 16 位
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::SetAlarmInfo copy alarmname error!");
return;
}
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::NewAlarmTime clock name = %s, id = %u",
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::NewAlarmTime clock name = %s, id = %u",
currentAlarm[alarmListener]->alarmClockName, currentAlarm[alarmListener]->alarmClockId);
if (setListener == NEW_TIME_LISTENER) { //表示新建闹钟
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::SetAlarmWeek new time!");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::SetAlarmWeek new time!");
int ret = AddAlarmClock(currentAlarm[alarmListener]);
if (ret != 0) {
if (currentAlarm[alarmListener] != nullptr) {
}
SetAlarmId(currentAlarm[alarmListener]->alarmClockId);
} else { //表示修改闹钟
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::SetAlarmWeek modify time!");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::SetAlarmWeek modify time!");
UpdataAlarmClock(currentAlarm[alarmListener]);
}
}
//更新闹钟添加按钮的位置
void MainAlarmView::AlarmAddButtonUpdate(uint8_t count)
{
- // if(nullptr == AddButton_|| group == nullptr)
- // {
- // return;
- // }
- // int y = 120;
- // int bef_y = 0;
- // int aft_y = 0;
- // bef_y = AddButton_->GetY();
- // AddButton_->SetY((0 == count) ? (y) : (y * (count + 1)));
- // aft_y = AddButton_->GetY();
- // bool is_up_drag = bef_y- aft_y > 0 ? false:true;
-
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]: AddButton_before = %d", __LINE__, bef_y);
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]: AddButton_after = %d", __LINE__, aft_y);
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]: is_up_drag = %d", __LINE__, is_up_drag);
- // // group->ScrollBy(0, is_up_drag ? - 120 : 120);
- // group->Invalidate();
if(nullptr == AddButton_ || TitleLabelExt_ == nullptr)
return;
int bef_y = 0;
aft_y = AddButton_->GetY();
bool is_up_drag = bef_y- aft_y > 0 ? false:true;
if(group) {
- group->ScrollBy(0, is_up_drag ? - 120 : 120);
+ if(viewInitstatus_)
+ group->ScrollBy(0, is_up_drag ? - 120 : 120);
}
RootView::GetInstance()->Invalidate();
}
return;
}
}
- // group->SetPosition(CONTAINER_X, CONTAINER_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
group->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
group->SetScrollBlankSize(75);
- // group->SetMaxScrollDistance(1000); // 1000: max scroll distance
- // group->SetSwipeACCLevel(800); // 800: compensation distance
- // group->SetDragACCLevel(5); // 5: drag acceleration
- // group->SetThrowDrag(true);
group->SetTouchable(true);
group->SetDraggable(true);
group->SetDirection(UIScrollView::VERTICAL);
AlarmTitleCreate();
AlarmAddButtonCreate();
- // OHOS::AlarmClockModel::GetInstance()->InitAlarmData();
RefreshAlarm();
if (group != nullptr) {
container[0] = group;
RootView::GetInstance()->Add(container[0]);
container_ = group;
}
-
- // show timerView
+ viewInitstatus_ = true;
Draw();
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CalculatorView::OnStart");
View<CalculatorPresenter>::OnStart();
+ SetContainerView(new UIViewGroup());
+ if (GetContainer() == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "container_ new fail!!");
+ return;
+ }
+ container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ container_->SetTouchable(true);
+ container_->SetDraggable(true);
+
RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::CalculatorPresenter::GetInstance();
RootView::GetInstance()->SetOnKeyActListener(keyactListener);
return;
}
group->SetOnDragListener(dragListener);
-
- RootView::GetInstance()->Add(group);
- container_ = group;
+ container_ ->Add(group);
if(!button_init())
{
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CalculatorView::~OnStop");
View<CalculatorPresenter>::OnStop();
-
+ if(container_!=nullptr)
+ {
+ container_->RemoveAll();
+ delete container_;
+ container_=nullptr;
+ }
RootView::GetInstance()->ClearOnKeyActListener();
RootView::GetInstance()->RemoveAll();
return;