#include "common/image_cache_manager.h"\r
#include <time.h>\r
\r
-namespace OHOS {\r
-static MainClockView *g_pMainClockView = nullptr;\r
-\r
-static constexpr uint16_t FONT_DEFAULT_SIZE = 25;\r
-static constexpr uint16_t FONT_TEXT_SIZE = 24;\r
-static constexpr uint16_t STEP_LABEL_X = 100;\r
-static constexpr uint16_t STEP_LABEL_Y = 230;\r
-static constexpr uint16_t BATTERYP_LABEL_X = 315;\r
-static constexpr uint16_t BATTERYP_LABEL_Y = 230;\r
-static constexpr uint16_t TEXT_WIDTH = 60;\r
-static constexpr uint16_t TEXT_HEIGHT = 35;\r
-static constexpr uint16_t POINT_POSITION_X = 202;\r
-static constexpr uint16_t POINT_POSITION_Y = 16;\r
-static constexpr uint16_t SECOND_POINT_POSITION_Y = 16;\r
-static constexpr uint16_t POINT_CENTER_X = 25;\r
-static constexpr uint16_t POINT_CENTER_Y = 211;\r
-static constexpr uint16_t STEP_CHAR_NUM = 255;\r
-static constexpr int16_t STEP_LABLE_WIDTH = 75;\r
-static constexpr int16_t STEP_LABLE_SIZE = 35;\r
-static constexpr uint16_t WEEKLABEL_POSITION_X = 247;\r
-static constexpr uint16_t WEEKLABEL_POSITION_Y = 122;\r
-static constexpr uint16_t HEARTRATELABEL_POSITION_X = 198;\r
-static constexpr uint16_t HEARTRATELABEL_POSITION_Y = 330;\r
-static constexpr uint16_t HEARTRATE_POSITION_X = 156;\r
-static constexpr uint16_t HEARTRATE_POSITION_Y = 260;\r
-static constexpr uint16_t PROGRESS_POSITION_X = 53;\r
-static constexpr uint16_t PROGRESS_POSITION_Y = 54;\r
-static constexpr uint16_t BIGCIRCLE_POSITION_X = 202;\r
-static constexpr uint16_t BIGCIRCLE_POSITION_Y = 202;\r
-static constexpr uint16_t MEDCIRCLE_POSITION_X = 202;\r
-static constexpr uint16_t MEDCIRCLE_POSITION_Y = 202;\r
-static constexpr uint16_t SMALLCIRCLE_POSITION_X = 202;\r
-static constexpr uint16_t SMALLCIRCLE_POSITION_Y = 202;\r
-static constexpr uint16_t WEEKDAY_POSITION_X = 193;\r
-static constexpr uint16_t WEEKDAY_POSITION_Y = 127;\r
-\r
-MainClockView::MainClockView()\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainClockView::MainClockView");\r
- SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
- g_pMainClockView = this;\r
-}\r
-\r
-MainClockView::~MainClockView()\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainClockView::~MainClockView");\r
- if (clockAnimator != nullptr) {\r
- clockAnimator->Stop();\r
- delete clockAnimator;\r
- clockAnimator = nullptr;\r
- }\r
- mainSweepClock->RemoveAll();\r
- delete curFace;\r
- curFace = nullptr;\r
- delete stepLabel;\r
- stepLabel = nullptr;\r
- delete batteryLabel;\r
- batteryLabel = nullptr;\r
- delete callBack;\r
- callBack = nullptr;\r
- delete secondHand;\r
- secondHand = nullptr;\r
- delete minuteHand;\r
- minuteHand = nullptr;\r
- delete hourHand;\r
- hourHand = nullptr;\r
- delete weekLabel;\r
- weekLabel = nullptr;\r
- delete heartRateLabel;\r
- heartRateLabel = nullptr;\r
- delete heartRate;\r
- heartRate = nullptr;\r
- delete hand24Hour;\r
- hand24Hour = nullptr;\r
- delete weekDay;\r
- weekDay = nullptr;\r
- delete progress;\r
- progress = nullptr;\r
- delete bigCircle;\r
- bigCircle = nullptr;\r
- delete medCircle;\r
- medCircle = nullptr;\r
- delete smallCircle;\r
- smallCircle = nullptr;\r
- Remove(mainSweepClock);\r
- delete mainSweepClock;\r
- mainSweepClock = nullptr;\r
- g_pMainClockView = nullptr;\r
-}\r
-\r
-MainClockView *MainClockView::GetInstance(void)\r
-{\r
- return g_pMainClockView;\r
-}\r
-\r
-void MainClockView::InitStepValue()\r
+namespace OHOS\r
{\r
+ static MainClockView *g_pMainClockView = nullptr;\r
+\r
+ static constexpr uint16_t FONT_DEFAULT_SIZE = 25;\r
+ static constexpr uint16_t FONT_TEXT_SIZE = 24;\r
+ static constexpr uint16_t STEP_LABEL_X = 100;\r
+ static constexpr uint16_t STEP_LABEL_Y = 230;\r
+ static constexpr uint16_t BATTERYP_LABEL_X = 315;\r
+ static constexpr uint16_t BATTERYP_LABEL_Y = 230;\r
+ static constexpr uint16_t TEXT_WIDTH = 60;\r
+ static constexpr uint16_t TEXT_HEIGHT = 35;\r
+ static constexpr uint16_t POINT_POSITION_X = 202;\r
+ static constexpr uint16_t POINT_POSITION_Y = 16;\r
+ static constexpr uint16_t SECOND_POINT_POSITION_Y = 16;\r
+ static constexpr uint16_t POINT_CENTER_X = 25;\r
+ static constexpr uint16_t POINT_CENTER_Y = 211;\r
+ static constexpr uint16_t STEP_CHAR_NUM = 255;\r
+ static constexpr int16_t STEP_LABLE_WIDTH = 75;\r
+ static constexpr int16_t STEP_LABLE_SIZE = 35;\r
+ static constexpr uint16_t WEEKLABEL_POSITION_X = 247;\r
+ static constexpr uint16_t WEEKLABEL_POSITION_Y = 122;\r
+ static constexpr uint16_t HEARTRATELABEL_POSITION_X = 198;\r
+ static constexpr uint16_t HEARTRATELABEL_POSITION_Y = 330;\r
+ static constexpr uint16_t HEARTRATE_POSITION_X = 156;\r
+ static constexpr uint16_t HEARTRATE_POSITION_Y = 260;\r
+ static constexpr uint16_t PROGRESS_POSITION_X = 53;\r
+ static constexpr uint16_t PROGRESS_POSITION_Y = 54;\r
+ static constexpr uint16_t BIGCIRCLE_POSITION_X = 202;\r
+ static constexpr uint16_t BIGCIRCLE_POSITION_Y = 202;\r
+ static constexpr uint16_t MEDCIRCLE_POSITION_X = 202;\r
+ static constexpr uint16_t MEDCIRCLE_POSITION_Y = 202;\r
+ static constexpr uint16_t SMALLCIRCLE_POSITION_X = 202;\r
+ static constexpr uint16_t SMALLCIRCLE_POSITION_Y = 202;\r
+ static constexpr uint16_t WEEKDAY_POSITION_X = 193;\r
+ static constexpr uint16_t WEEKDAY_POSITION_Y = 127;\r
+\r
+ MainClockView::MainClockView()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainClockView::MainClockView");\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ g_pMainClockView = this;\r
+ }\r
+\r
+ MainClockView::~MainClockView()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainClockView::~MainClockView");\r
+ if (clockAnimator != nullptr)\r
+ {\r
+ clockAnimator->Stop();\r
+ delete clockAnimator;\r
+ clockAnimator = nullptr;\r
+ }\r
+ mainSweepClock->RemoveAll();\r
+ delete curFace;\r
+ curFace = nullptr;\r
+ delete stepLabel;\r
+ stepLabel = nullptr;\r
+ delete batteryLabel;\r
+ batteryLabel = nullptr;\r
+ delete callBack;\r
+ callBack = nullptr;\r
+ delete secondHand;\r
+ secondHand = nullptr;\r
+ delete minuteHand;\r
+ minuteHand = nullptr;\r
+ delete hourHand;\r
+ hourHand = nullptr;\r
+ delete weekLabel;\r
+ weekLabel = nullptr;\r
+ delete heartRateLabel;\r
+ heartRateLabel = nullptr;\r
+ delete heartRate;\r
+ heartRate = nullptr;\r
+ delete hand24Hour;\r
+ hand24Hour = nullptr;\r
+ delete weekDay;\r
+ weekDay = nullptr;\r
+ delete progress;\r
+ progress = nullptr;\r
+ delete bigCircle;\r
+ bigCircle = nullptr;\r
+ delete medCircle;\r
+ medCircle = nullptr;\r
+ delete smallCircle;\r
+ smallCircle = nullptr;\r
+ Remove(mainSweepClock);\r
+ delete mainSweepClock;\r
+ mainSweepClock = nullptr;\r
+ g_pMainClockView = nullptr;\r
+ }\r
+\r
+ MainClockView *MainClockView::GetInstance(void)\r
+ {\r
+ return g_pMainClockView;\r
+ }\r
+\r
+ void MainClockView::InitStepValue()\r
+ {\r
+#if 0\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainClockView::InitStepValue");\r
uint32_t stepValue;\r
int weekToday = ActivityModel::GetInstance()->GetWeekToday();\r
stepLabel->SetStyleForState(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT, UIButton::RELEASED);\r
stepLabel->SetStyleForState(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT, UIButton::PRESSED);\r
stepLabel->SetStyleForState(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT, UIButton::INACTIVE);\r
-}\r
-\r
-bool MainClockView::InitLabelView(void)\r
-{\r
- //UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::MainPresenterSample::GetInstance();\r
- // 创建长按事件监听器对象\r
- //UIView::OnLongPressListener* longPressListener = (UIView::OnLongPressListener*)OHOS::MainPresenterSample::GetInstance();\r
-\r
-\r
- stepLabel = new UILabelButton();\r
- if (stepLabel == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "stepLabel new fail");\r
- return false;\r
- }\r
- stepLabel->SetPosition(STEP_LABEL_X, STEP_LABEL_Y);\r
- stepLabel->Resize(STEP_LABLE_WIDTH, STEP_LABLE_SIZE);\r
- stepLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);\r
- stepLabel->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
- stepLabel->SetViewId(MAIN_CLICK_ACTIVITY);\r
- stepLabel->SetTouchable(true);\r
- //stepLabel->SetOnClickListener(clickListener);\r
- //stepLabel->SetOnLongPressListener(longPressListener);\r
- InitStepValue();\r
-\r
- batteryLabel = new UILabel();\r
- if (batteryLabel == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "batteryLabel new fail");\r
- return false;\r
- }\r
- batteryLabel->SetPosition(BATTERYP_LABEL_X, BATTERYP_LABEL_Y, TEXT_WIDTH, TEXT_HEIGHT);\r
- batteryLabel->SetText("90%");\r
- batteryLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- batteryLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);\r
- batteryLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);\r
-\r
- heartRateLabel = new UILabel();\r
- if (heartRateLabel == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRateLabel new fail");\r
- return false;\r
- }\r
- heartRateLabel->SetPosition(HEARTRATELABEL_POSITION_X, HEARTRATELABEL_POSITION_Y, TEXT_WIDTH, TEXT_HEIGHT);\r
- heartRateLabel->SetText("--");\r
- heartRateLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- heartRateLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);\r
- heartRateLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE);\r
-\r
- weekLabel = new UILabel();\r
- if (weekLabel == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weekLabel new fail");\r
- return false;\r
- }\r
- weekLabel->SetPosition(WEEKLABEL_POSITION_X, WEEKLABEL_POSITION_Y, TEXT_WIDTH, TEXT_HEIGHT);\r
- weekLabel->SetText("2");\r
- weekLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_TEXT_SIZE);\r
- weekLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);\r
- return true;\r
-}\r
-\r
-bool MainClockView::InitCenterCircleView(void)\r
-{\r
- bigCircle = new Image();\r
- if (bigCircle == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bigCircle new fail");\r
- return false;\r
- }\r
- if (LoadClockImage(bigCircle, CLOCK_BIGCIRCLE_IMAGE_PATH) == false) {\r
- return false;\r
- }\r
-\r
- medCircle = new Image();\r
- if (medCircle == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "medCircle new fail");\r
- return false;\r
- }\r
- if (LoadClockImage(medCircle, CLOCK_MEDCIRCLE_IMAGE_PATH) == false) {\r
- return false;\r
- }\r
-\r
- smallCircle = new Image();\r
- if (smallCircle == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "smallCircle new fail");\r
- return false;\r
- }\r
- if (LoadClockImage(smallCircle, CLOCK_CIRCLE_IMAGE_PATH) == false) {\r
- return false;\r
- }\r
- return true;\r
-}\r
-\r
-bool MainClockView::InitHandView(void)\r
-{\r
- secondHand = new Image();\r
- if (secondHand == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "secondHand new fail");\r
- return false;\r
- }\r
- if (LoadClockImage(secondHand, CLOCK_SECONDHAND) == false) {\r
- return false;\r
- }\r
-\r
- minuteHand = new Image();\r
- if (minuteHand == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "minuteHand new fail");\r
- return false;\r
- }\r
- if (LoadClockImage(minuteHand, CLOCK_MINUTEHAND) == false) {\r
- return false;\r
- }\r
- hourHand = new Image();\r
- if (hourHand == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hourHand new fail");\r
- return false;\r
- }\r
- if (LoadClockImage(hourHand, CLOCK_HOURHAND) == false) {\r
- return false;\r
- }\r
-\r
- hand24Hour = new Image();\r
- if (hand24Hour == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hand24Hour new fail");\r
- return false;\r
- }\r
- if (LoadClockImage(hand24Hour, CLOCK_HAND24HOUR_IMAGE_PATH) == false) {\r
- return false;\r
- }\r
- return true;\r
-}\r
-\r
-bool MainClockView::LoadClockImage(Image *view, uint32_t resId)\r
-{\r
- std::string file = CLOCK_IAMGES;\r
- ImageInfo* image = ImageCacheManager::GetInstance().LoadOneInMultiRes(resId, file);\r
- if (image == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadClockImage %x fail", resId);\r
- return false;\r
- }\r
- view->SetSrc(image);\r
- return true;\r
-}\r
-\r
-bool MainClockView::LoadClockImage(UIImageView *view, uint32_t resId)\r
-{\r
- std::string file = CLOCK_IAMGES;\r
- ImageInfo* image = ImageCacheManager::GetInstance().LoadOneInMultiRes(resId, file);\r
- if (image == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadClockImage %x fail", resId);\r
- return false;\r
+#endif\r
+ }\r
+\r
+ bool MainClockView::InitLabelView(void)\r
+ {\r
+ // UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::MainPresenterSample::GetInstance();\r
+ // 创建长按事件监听器对象\r
+ // UIView::OnLongPressListener* longPressListener = (UIView::OnLongPressListener*)OHOS::MainPresenterSample::GetInstance();\r
+\r
+ stepLabel = new UILabelButton();\r
+ if (stepLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "stepLabel new fail");\r
+ return false;\r
+ }\r
+ stepLabel->SetPosition(STEP_LABEL_X, STEP_LABEL_Y);\r
+ stepLabel->Resize(STEP_LABLE_WIDTH, STEP_LABLE_SIZE);\r
+ stepLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);\r
+ stepLabel->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
+ stepLabel->SetViewId(MAIN_CLICK_ACTIVITY);\r
+ stepLabel->SetTouchable(true);\r
+ // stepLabel->SetOnClickListener(clickListener);\r
+ // stepLabel->SetOnLongPressListener(longPressListener);\r
+ InitStepValue();\r
+\r
+ batteryLabel = new UILabel();\r
+ if (batteryLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "batteryLabel new fail");\r
+ return false;\r
+ }\r
+ batteryLabel->SetPosition(BATTERYP_LABEL_X, BATTERYP_LABEL_Y, TEXT_WIDTH, TEXT_HEIGHT);\r
+ batteryLabel->SetText("90%");\r
+ batteryLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ batteryLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);\r
+ batteryLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);\r
+\r
+ heartRateLabel = new UILabel();\r
+ if (heartRateLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRateLabel new fail");\r
+ return false;\r
+ }\r
+ heartRateLabel->SetPosition(HEARTRATELABEL_POSITION_X, HEARTRATELABEL_POSITION_Y, TEXT_WIDTH, TEXT_HEIGHT);\r
+ heartRateLabel->SetText("--");\r
+ heartRateLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ heartRateLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);\r
+ heartRateLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE);\r
+\r
+ weekLabel = new UILabel();\r
+ if (weekLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weekLabel new fail");\r
+ return false;\r
+ }\r
+ weekLabel->SetPosition(WEEKLABEL_POSITION_X, WEEKLABEL_POSITION_Y, TEXT_WIDTH, TEXT_HEIGHT);\r
+ weekLabel->SetText("2");\r
+ weekLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_TEXT_SIZE);\r
+ weekLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);\r
+ return true;\r
+ }\r
+\r
+ bool MainClockView::InitCenterCircleView(void)\r
+ {\r
+#if 0\r
+ bigCircle = new Image();\r
+ if (bigCircle == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bigCircle new fail");\r
+ return false;\r
+ }\r
+ if (LoadClockImage(bigCircle, CLOCK_BIGCIRCLE_IMAGE_PATH) == false)\r
+ {\r
+ return false;\r
+ }\r
+\r
+ medCircle = new Image();\r
+ if (medCircle == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "medCircle new fail");\r
+ return false;\r
+ }\r
+ if (LoadClockImage(medCircle, CLOCK_MEDCIRCLE_IMAGE_PATH) == false)\r
+ {\r
+ return false;\r
+ }\r
+\r
+ smallCircle = new Image();\r
+ if (smallCircle == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "smallCircle new fail");\r
+ return false;\r
+ }\r
+ if (LoadClockImage(smallCircle, CLOCK_CIRCLE_IMAGE_PATH) == false)\r
+ {\r
+ return false;\r
+ }\r
+#endif\r
+ return true;\r
+ }\r
+\r
+ bool MainClockView::InitHandView(void)\r
+ {\r
+#if 1\r
+ secondHand = new Image();\r
+ if (secondHand == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "secondHand new fail");\r
+ return false;\r
+ }\r
+ if (LoadClockImage(secondHand, CLOCK_SECONDHAND) == false)\r
+ {\r
+ return false;\r
+ }\r
+\r
+ minuteHand = new Image();\r
+ if (minuteHand == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "minuteHand new fail");\r
+ return false;\r
+ }\r
+ if (LoadClockImage(minuteHand, CLOCK_MINUTEHAND) == false)\r
+ {\r
+ return false;\r
+ }\r
+ hourHand = new Image();\r
+ if (hourHand == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hourHand new fail");\r
+ return false;\r
+ }\r
+ if (LoadClockImage(hourHand, CLOCK_HOURHAND) == false)\r
+ {\r
+ return false;\r
+ }\r
+\r
+ hand24Hour = new Image();\r
+ if (hand24Hour == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hand24Hour new fail");\r
+ return false;\r
+ }\r
+ if (LoadClockImage(hand24Hour, CLOCK_HAND24HOUR_IMAGE_PATH) == false)\r
+ {\r
+ return false;\r
+ }\r
+#endif\r
+ return true;\r
+ }\r
+\r
+ bool MainClockView::LoadClockImage(Image *view, uint32_t resId)\r
+ {\r
+ std::string file = CLOCK_IAMGES;\r
+ ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(resId, file);\r
+ if (image == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadClockImage %x fail", resId);\r
+ return false;\r
+ }\r
+ view->SetSrc(image);\r
+ return true;\r
+ }\r
+\r
+ bool MainClockView::LoadClockImage(UIImageView *view, uint32_t resId)\r
+ {\r
+ std::string file = CLOCK_IAMGES;\r
+ ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(resId, file);\r
+ if (image == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadClockImage %x fail", resId);\r
+ return false;\r
+ }\r
+ view->SetSrc(image);\r
+ return true;\r
+ }\r
+\r
+ bool MainClockView::InitSweepClock(void)\r
+ {\r
+ curFace = new UIImageView();\r
+ if (curFace == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "curFace new fail");\r
+ return false;\r
+ }\r
+ curFace->SetPosition(0, 0);\r
+\r
+ \r
+ if (LoadClockImage(curFace, CLOCK_MAIN_FACE_IMAGE) == false)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "curFace LoadClockImage CLOCK_MAIN_FACE_IMAGE fail");\r
+ return false;\r
+ }\r
+\r
+#if 0\r
+ if (InitLabelView() == false)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabelView() fail");\r
+ return false;\r
+ }\r
+ if (InitCenterCircleView() == false)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitCenterCircleView() fail");\r
+ return false;\r
+ }\r
+ heartRate = new UIImageView();\r
+ if (heartRate == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRate new fail");\r
+ return false;\r
+ }\r
+ heartRate->SetPosition(HEARTRATE_POSITION_X, HEARTRATE_POSITION_Y);\r
+ if (LoadClockImage(heartRate, CLOCK_HEARTRATE_IMAGE_PATH) == false)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRate LoadClockImage CLOCK_HEARTRATE_IMAGE_PATH fail");\r
+ return false;\r
+ }\r
+\r
+ progress = new UIImageView();\r
+ if (progress == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "progress new fail");\r
+ return false;\r
+ }\r
+ progress->SetPosition(PROGRESS_POSITION_X, PROGRESS_POSITION_Y);\r
+ if (LoadClockImage(progress, CLOCK_PROGRESS_IMAGE_PATH) == false)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "progress LoadClockImage CLOCK_PROGRESS_IMAGE_PATH fail");\r
+ return false;\r
+ }\r
+ weekDay = new UIImageView();\r
+ if (weekDay == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weekDay new fail");\r
+ return false;\r
+ }\r
+ weekDay->SetPosition(WEEKDAY_POSITION_X, WEEKDAY_POSITION_Y);\r
+ if (LoadClockImage(weekDay, CLOCK_THURSDAY_IMAGE_PATH) == false)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weekDay LoadClockImage CLOCK_THURSDAY_IMAGE_PATH fail");\r
+ return false;\r
+ }\r
+#endif\r
+ InitHandView();\r
+ return true;\r
+ }\r
+\r
+ void MainClockView::PreLoad(void)\r
+ {\r
+ if (!viewiInitStatus)\r
+ {\r
+ InitView();\r
+ viewiInitStatus = true;\r
+ }\r
+ }\r
+\r
+ void MainClockView::UnLoad(void)\r
+ {\r
+ // Main clock view is commonly used page, so we do not release it's resources inner slice.\r
+ }\r
+\r
+ bool MainClockView::InitView(void)\r
+ {\r
+\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainClockView::InitView");\r
+ mainSweepClock = new UISweepClock();\r
+ if (mainSweepClock == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "mainSweepClock new fail");\r
+ return false;\r
+ }\r
+\r
+\r
+ // UIView::OnLongPressListener* longPressListener = (UIView::OnLongPressListener*)OHOS::MainPresenterSample::GetInstance();\r
+ // mainSweepClock->SetOnLongPressListener(longPressListener);\r
+\r
+ if (InitSweepClock() == false)\r
+ {\r
+ return false;\r
+ }\r
+\r
+ mainSweepClock->Add(button1_);\r
+ mainSweepClock->Add(curFace);\r
+ /*\r
+ mainSweepClock->Add(stepLabel);\r
+ mainSweepClock->Add(heartRate);\r
+ mainSweepClock->Add(weekLabel);\r
+ mainSweepClock->Add(heartRateLabel);\r
+ mainSweepClock->Add(weekDay);\r
+ mainSweepClock->Add(progress);\r
+ mainSweepClock->Add(batteryLabel);\r
+ */\r
+\r
+ Add(mainSweepClock);\r
+\r
+ mainSweepClock->SetDragParentInstead(true);\r
+ // mainSweepClock->SetOnLongPressListener(longPressListener);\r
+ mainSweepClock->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+\r
+ // {214, 3}: position x, y {14, 223}: center x, y\r
+ mainSweepClock->SetHandImage(UISweepClock::HandType::SECOND_HAND, *secondHand,\r
+ {POINT_POSITION_X, SECOND_POINT_POSITION_Y}, {POINT_CENTER_X, POINT_CENTER_Y});\r
+ mainSweepClock->SetHandImage(UISweepClock::HandType::MINUTE_HAND, *minuteHand,\r
+ {POINT_POSITION_X, POINT_POSITION_Y}, {POINT_CENTER_X, POINT_CENTER_Y});\r
+ mainSweepClock->SetHandImage(UISweepClock::HandType::HOUR_HAND, *hourHand, {POINT_POSITION_X, POINT_POSITION_Y},\r
+ {POINT_CENTER_X, POINT_CENTER_Y});\r
+ mainSweepClock->SetHandCircleImage(UISweepClock::HandType::SECOND_HAND, *smallCircle,\r
+ {SMALLCIRCLE_POSITION_X, SMALLCIRCLE_POSITION_Y});\r
+ mainSweepClock->SetHandCircleImage(UISweepClock::HandType::MINUTE_HAND, *medCircle,\r
+ {MEDCIRCLE_POSITION_X, MEDCIRCLE_POSITION_Y});\r
+ mainSweepClock->SetHandCircleImage(UISweepClock::HandType::HOUR_HAND, *bigCircle,\r
+ {BIGCIRCLE_POSITION_X, BIGCIRCLE_POSITION_Y});\r
+\r
+ mainSweepClock->SetInitTime24Hour(0, 0, 0);\r
+ mainSweepClock->SetWorkMode(UISweepClock::WorkMode::NORMAL);\r
+ InitDateTime();\r
+\r
+ callBack = new ClockAnimatorCallback(mainSweepClock);\r
+ if (callBack == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "callBack new fail");\r
+ return false;\r
+ }\r
+ clockAnimator = new Animator(callBack, mainSweepClock, 0, true);\r
+ if (clockAnimator == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clockAnimator new fail");\r
+ return false;\r
+ }\r
+ clockAnimator->Start();\r
+ SetCoverable(true);\r
+ return true;\r
}\r
- view->SetSrc(image);\r
- return true;\r
-}\r
\r
-bool MainClockView::InitSweepClock(void)\r
-{\r
- curFace = new UIImageView();\r
- if (curFace == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "curFace new fail");\r
- return false;\r
- }\r
- curFace->SetPosition(0, 0);\r
+ void MainClockView::RefreshStep(int step)\r
+ {\r
+#if 0\r
+ char stepChar[STEP_CHAR_NUM] = {0};\r
\r
- if (LoadClockImage(curFace, CLOCK_MAIN_FACE_IMAGE) == false) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "curFace LoadClockImage CLOCK_MAIN_FACE_IMAGE fail");\r
- return false;\r
+ (void)sprintf_s(stepChar, STEP_CHAR_NUM, "%d", step);\r
+ stepLabel->SetText(stepChar);\r
+#endif\r
}\r
\r
- if (InitLabelView() == false) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabelView() fail");\r
- return false;\r
- }\r
- if (InitCenterCircleView() == false) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitCenterCircleView() fail");\r
- return false;\r
- }\r
- heartRate = new UIImageView();\r
- if (heartRate == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRate new fail");\r
- return false;\r
- }\r
- heartRate->SetPosition(HEARTRATE_POSITION_X, HEARTRATE_POSITION_Y);\r
- if (LoadClockImage(heartRate, CLOCK_HEARTRATE_IMAGE_PATH) == false) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRate LoadClockImage CLOCK_HEARTRATE_IMAGE_PATH fail");\r
- return false;\r
- }\r
+ void MainClockView::RefreshHeartRate(int value)\r
+ {\r
+#if 0\r
+ if (value == 0)\r
+ {\r
+ heartRateLabel->SetText("--");\r
+ return;\r
+ }\r
+ char heartRateChar[STEP_CHAR_NUM] = {0};\r
\r
- progress = new UIImageView();\r
- if (progress == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "progress new fail");\r
- return false;\r
- }\r
- progress->SetPosition(PROGRESS_POSITION_X, PROGRESS_POSITION_Y);\r
- if (LoadClockImage(progress, CLOCK_PROGRESS_IMAGE_PATH) == false) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "progress LoadClockImage CLOCK_PROGRESS_IMAGE_PATH fail");\r
- return false;\r
+ (void)sprintf_s(heartRateChar, STEP_CHAR_NUM, "%d", value);\r
+ heartRateLabel->SetText(heartRateChar);\r
+#endif\r
}\r
\r
- InitHandView();\r
- weekDay = new UIImageView();\r
- if (weekDay == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weekDay new fail");\r
- return false;\r
- }\r
- weekDay->SetPosition(WEEKDAY_POSITION_X, WEEKDAY_POSITION_Y);\r
- if (LoadClockImage(weekDay, CLOCK_THURSDAY_IMAGE_PATH) == false) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weekDay LoadClockImage CLOCK_THURSDAY_IMAGE_PATH fail");\r
- return false;\r
+ void MainClockView::InitDateTime(void)\r
+ {\r
+ struct tm pTM;\r
+ time_t seconds;\r
+ time(&seconds);\r
+ localtime_r(&seconds, &pTM);\r
+ mainSweepClock->SetTime24Hour(pTM.tm_hour, pTM.tm_min, pTM.tm_sec);\r
}\r
- return true;\r
-}\r
\r
-void MainClockView::PreLoad(void)\r
-{\r
- if (!viewiInitStatus) {\r
- InitView();\r
- viewiInitStatus = true;\r
- }\r
-}\r
-\r
-void MainClockView::UnLoad(void)\r
-{\r
- // Main clock view is commonly used page, so we do not release it's resources inner slice.\r
-}\r
-\r
-bool MainClockView::InitView(void)\r
-{\r
- \r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainClockView::InitView");\r
- mainSweepClock = new UISweepClock();\r
- if (mainSweepClock == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "mainSweepClock new fail");\r
- return false;\r
- } \r
-\r
- // Add Button to App\r
- if (button1_ == nullptr) {\r
- button1_ = new UIButton();\r
- }\r
- button1_->SetPosition(0, 0); // widget's left position and top position\r
- button1_->Resize(466, 466); // widget's width and height\r
- button1_->SetViewId("button1");// Set style\r
- button1_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
- button1_->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-\r
- // Set additional property\r
- button1_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
- button1_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-\r
- // Add the CallBack about events\r
- UIView::OnLongPressListener* button3LongPress = static_cast<UIView::OnLongPressListener*>(MainPresenterSample::GetInstance());\r
- button1_->SetOnLongPressListener(button3LongPress);\r
- // Add to rootView\r
- //container_->Add(button1_);\r
- button1_->SetVisible(true);\r
- \r
- //UIView::OnLongPressListener* longPressListener = (UIView::OnLongPressListener*)OHOS::MainPresenterSample::GetInstance();\r
- //mainSweepClock->SetOnLongPressListener(longPressListener);\r
- \r
- if (InitSweepClock() == false) {\r
- return false;\r
+ void MainClockView::ClockAnimatorStart(void)\r
+ {\r
+ if (clockAnimator != nullptr)\r
+ {\r
+ clockAnimator->Start();\r
+ }\r
}\r
\r
- mainSweepClock->Add(button1_);\r
- mainSweepClock->Add(curFace);\r
- mainSweepClock->Add(stepLabel);\r
- mainSweepClock->Add(heartRate);\r
- mainSweepClock->Add(weekLabel);\r
- mainSweepClock->Add(heartRateLabel);\r
- mainSweepClock->Add(weekDay);\r
- mainSweepClock->Add(progress);\r
- mainSweepClock->Add(batteryLabel);\r
- Add(mainSweepClock);\r
-\r
- mainSweepClock->SetDragParentInstead(true);\r
- //mainSweepClock->SetOnLongPressListener(longPressListener);\r
- mainSweepClock->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
-\r
- // {214, 3}: position x, y {14, 223}: center x, y\r
- mainSweepClock->SetHandImage(UISweepClock::HandType::SECOND_HAND, *secondHand,\r
- { POINT_POSITION_X, SECOND_POINT_POSITION_Y }, { POINT_CENTER_X, POINT_CENTER_Y });\r
- mainSweepClock->SetHandImage(UISweepClock::HandType::MINUTE_HAND, *minuteHand,\r
- { POINT_POSITION_X, POINT_POSITION_Y }, { POINT_CENTER_X, POINT_CENTER_Y });\r
- mainSweepClock->SetHandImage(UISweepClock::HandType::HOUR_HAND, *hourHand, { POINT_POSITION_X, POINT_POSITION_Y },\r
- { POINT_CENTER_X, POINT_CENTER_Y });\r
- mainSweepClock->SetHandCircleImage(UISweepClock::HandType::SECOND_HAND, *smallCircle,\r
- { SMALLCIRCLE_POSITION_X, SMALLCIRCLE_POSITION_Y });\r
- mainSweepClock->SetHandCircleImage(UISweepClock::HandType::MINUTE_HAND, *medCircle,\r
- { MEDCIRCLE_POSITION_X, MEDCIRCLE_POSITION_Y });\r
- mainSweepClock->SetHandCircleImage(UISweepClock::HandType::HOUR_HAND, *bigCircle,\r
- { BIGCIRCLE_POSITION_X, BIGCIRCLE_POSITION_Y });\r
-\r
- mainSweepClock->SetInitTime24Hour(0, 0, 0);\r
- mainSweepClock->SetWorkMode(UISweepClock::WorkMode::NORMAL);\r
- InitDateTime();\r
-\r
- callBack = new ClockAnimatorCallback(mainSweepClock);\r
- if (callBack == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "callBack new fail");\r
- return false;\r
+ void MainClockView::ClockAnimatorStop(void)\r
+ {\r
+ if (clockAnimator != nullptr)\r
+ {\r
+ clockAnimator->Stop();\r
+ }\r
}\r
- clockAnimator = new Animator(callBack, mainSweepClock, 0, true);\r
- if (clockAnimator == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clockAnimator new fail");\r
- return false;\r
- }\r
- clockAnimator->Start();\r
- SetCoverable(true);\r
- return true;\r
-}\r
-\r
-void MainClockView::RefreshStep(int step)\r
-{\r
- char stepChar[STEP_CHAR_NUM] = {0};\r
-\r
- (void)sprintf_s(stepChar, STEP_CHAR_NUM, "%d", step);\r
- stepLabel->SetText(stepChar);\r
-}\r
-\r
-void MainClockView::RefreshHeartRate(int value)\r
-{\r
- if (value == 0) {\r
- heartRateLabel->SetText("--");\r
- return;\r
- }\r
- char heartRateChar[STEP_CHAR_NUM] = {0};\r
-\r
- (void)sprintf_s(heartRateChar, STEP_CHAR_NUM, "%d", value);\r
- heartRateLabel->SetText(heartRateChar);\r
-}\r
-\r
-void MainClockView::InitDateTime(void)\r
-{\r
- struct tm pTM;\r
- time_t seconds;\r
- time(&seconds);\r
- localtime_r(&seconds, &pTM);\r
- mainSweepClock->SetTime24Hour(pTM.tm_hour, pTM.tm_min, pTM.tm_sec);\r
-}\r
-\r
-void MainClockView::ClockAnimatorStart(void)\r
-{\r
- if (clockAnimator != nullptr) {\r
- clockAnimator->Start();\r
- }\r
-}\r
-\r
-void MainClockView::ClockAnimatorStop(void)\r
-{\r
- if (clockAnimator != nullptr) {\r
- clockAnimator->Stop();\r
- }\r
-}\r
\r
}\r