增加多国语言
authorxue <2144439972@qq.com>
Tue, 23 Jun 2026 03:10:46 +0000 (11:10 +0800)
committerxue <2144439972@qq.com>
Tue, 23 Jun 2026 03:10:46 +0000 (11:10 +0800)
31 files changed:
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/include/BPAbnormalView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/include/BPCalibFirstDoneView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/include/BPCalibSecondDoneView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/include/BPEntryView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/include/BPHistoryView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/include/BPInstructionView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/include/BPMeasuringView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/include/BPValueConfirmView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/src/BPAbnormalView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/src/BPCalibFirstDoneView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/src/BPCalibSecondDoneView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/src/BPEntryView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/src/BPHistoryView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/src/BPInstructionView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/src/BPMeasuringView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/bloodpressure/src/BPValueConfirmView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/include/ECGAbnormalView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/include/ECGEntryView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/include/ECGHistoryView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/include/ECGInstructionView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/include/ECGMeasureCompleteView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/include/ECGMeasureResultView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/include/ECGMeasuringView.h
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/src/ECGAbnormalView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/src/ECGEntryView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/src/ECGHistoryView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/src/ECGInstructionView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/src/ECGMeasureCompleteView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/src/ECGMeasureResultView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/src/ECGMeasuringView.cpp
code/sdk/application/wearable/n9/nativeapp/nativeui/ecg/src/ECGModel.cpp

index 97eb4f5..9359f07 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef BP_ABNORMAL_VIEW_H
 #define BP_ABNORMAL_VIEW_H
 
-#include "components/ui_label_button.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
 #include "components/ui_image_view.h"
 #include "components/ui_view_group.h"
@@ -31,8 +31,8 @@ private:
   UILabelExt *titleLabel_{nullptr};
   UILabelExt *noteLabel_{nullptr};
   UIImageView *imageView_{nullptr};
-  UILabelButton *CancelButton_{nullptr};
-  UILabelButton *RetryButton_{nullptr};
+  UILabelButtonExt *CancelButton_{nullptr};
+  UILabelButtonExt *RetryButton_{nullptr};
 };
 
 } // namespace OHOS
index 92d5a4e..d6e5fdd 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "components/ui_box_progress.h"
 #include "components/ui_image_view.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
 #include "components/ui_view_group.h"
 
@@ -26,7 +26,7 @@ private:
   UILabelExt *noteLabel_{nullptr};
   UIImageView *imageView_{nullptr};
   UIBoxProgress *progressBar_{nullptr};
-  UILabelButton *RetryButton_{nullptr};
+  UILabelButtonExt *RetryButton_{nullptr};
 };
 
 } // namespace OHOS
index 25341c7..643ff71 100644 (file)
@@ -2,7 +2,7 @@
 #define BP_CALIB_SECOND_DONE_VIEW_H
 
 #include "components/ui_image_view.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
 #include "components/ui_view_group.h"
 
@@ -21,7 +21,7 @@ private:
   UILabelExt *titleLabel_{nullptr};
   UILabelExt *timeLabel_{nullptr};
   UILabelExt *noteLabel_{nullptr};
-  UILabelButton *confirmButton_{nullptr};
+  UILabelButtonExt *confirmButton_{nullptr};
   UIImageView *imageView_{nullptr};
 };
 
index e66264a..bfb24c5 100644 (file)
@@ -4,7 +4,7 @@
 #include "components/ui_image_view.h"
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_view.h"
 #include "components/ui_view_group.h"
 #include "UiConfig.h"
@@ -38,11 +38,11 @@ private:
   void InitNoCalibratedBar();
 
   UIViewGroup *group_{nullptr};
-  UILabel *titleLabel_{nullptr};
-  UILabel *instructionLabel_{nullptr};
+  UILabelExt *titleLabel_{nullptr};
+  UILabelExt *instructionLabel_{nullptr};
   UIImageView *imageView_{nullptr};
-  UILabelButton *instructionButton_{nullptr};
-  UILabelButton *measureButton_{nullptr};
+  UILabelButtonExt *instructionButton_{nullptr};
+  UILabelButtonExt *measureButton_{nullptr};
   UIView *calibWarnBg_{nullptr};
   UIImageView *calibWarnIcon_{nullptr};
   UILabelExt *calibWarnLabel_{nullptr};
index e53d2b9..b934ec2 100644 (file)
@@ -4,7 +4,7 @@
 #include "components/ui_image_animator.h"
 #include "components/ui_image_view.h"
 #include "components/ui_label.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
 #include "components/ui_swipe_view.h"
 #include "components/ui_view_group.h"
@@ -54,7 +54,7 @@ private:
   const ImageInfo **pullUpImageInfo_{nullptr};
   bool pullDownInited_{false};
 
-  UILabel *recentTitleLabel_{nullptr};
+  UILabelExt *recentTitleLabel_{nullptr};
   UILabel *recentTimeLabel_{nullptr};
   UIImageView *recentHlineTop_{nullptr};
   UIImageView *recentHlineBottom_{nullptr};
@@ -65,12 +65,12 @@ private:
   UILabel *recentDbpValue_{nullptr};
   UILabel *recentSbpUnit_{nullptr};
   UILabel *recentDbpUnit_{nullptr};
-  UILabelButton *historyButton_{nullptr};
+  UILabelButtonExt *historyButton_{nullptr};
 
-  UILabel *emptyTitleLabel_{nullptr};
+  UILabelExt *emptyTitleLabel_{nullptr};
   UIImageView *emptyImage_{nullptr};
-  UILabel *emptyHintLabel_{nullptr};
-  UILabelButton *startMeasureButton_{nullptr};
+  UILabelExt *emptyHintLabel_{nullptr};
+  UILabelButtonExt *startMeasureButton_{nullptr};
   UIView *dotEntry_{nullptr};
   UIView *dotHistory_{nullptr};
 
index 719edb1..dafb9ed 100644 (file)
@@ -2,8 +2,8 @@
 #define BP_INSTRUCTION_VIEW_H
 
 #include "components/ui_image_view.h"
-#include "components/ui_label.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_swipe_view.h"
 #include "components/ui_view_group.h"
 
@@ -50,9 +50,9 @@ private:
   UIImageView *swipeSeatImage_{nullptr};
   UIImageView *swipeWearImage_{nullptr};
   UIImageView *imageView_{nullptr};
-  UILabel *instructionLabel_{nullptr};
-  UILabelButton *backButton_{nullptr};
-  UILabelButton *measureButton_{nullptr};
+  UILabelExt *instructionLabel_{nullptr};
+  UILabelButtonExt *backButton_{nullptr};
+  UILabelButtonExt *measureButton_{nullptr};
 };
 
 } // namespace OHOS
index d648465..4329173 100644 (file)
@@ -2,7 +2,7 @@
 #define BP_MEASURING_VIEW_H
 
 #include "components/ui_image_animator.h"
-#include "components/ui_label.h"
+#include "components/ui_label_ext.h"
 #include "components/ui_view_group.h"
 
 namespace OHOS {
@@ -22,7 +22,7 @@ private:
   void UnloadAnimatorFrames();
 
   UIViewGroup *group_{nullptr};
-  UILabel *noteLabel_{nullptr};
+  UILabelExt *noteLabel_{nullptr};
   UIImageAnimatorView *animatorView_{nullptr};
   ImageAnimatorInfo frameInfo_[40]{};
   bool animatorInited_{false};
index 2d2f20d..a5cb26d 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "components/ui_image_view.h"
 #include "components/ui_label.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
 #include "components/ui_view_group.h"
 
@@ -34,9 +34,9 @@ private:
   UILabel *dbpValue_{nullptr};
   UILabel *sbpUnit_{nullptr};
   UILabel *dbpUnit_{nullptr};
-  UILabelButton *modifyButton_{nullptr};
-  UILabelButton *startCalibButton_{nullptr};
-  UILabelButton *errorOkButton_{nullptr};
+  UILabelButtonExt *modifyButton_{nullptr};
+  UILabelButtonExt *startCalibButton_{nullptr};
+  UILabelButtonExt *errorOkButton_{nullptr};
   bool isValid_{true};
 };
 
index c4c502a..508bec7 100644 (file)
@@ -49,8 +49,8 @@ void BPAbnormalView::ApplyAbnormalType(BPAbnormalType type) {
   CancelButton_->Resize(170, 90);
   CancelButton_->SetPosition(58, 320);
   RetryButton_->SetPosition(238, 320);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_CANCEL); CancelButton_->SetText(_uiStrTmp.GetText()); } while(0);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RECALIBRATE); RetryButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  CancelButton_->SetTextId(STR_CANCEL);
+  RetryButton_->SetTextId(STR_RECALIBRATE);
   CancelButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
   RetryButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
 
@@ -58,14 +58,14 @@ void BPAbnormalView::ApplyAbnormalType(BPAbnormalType type) {
     case BP_ABNORMAL_TYPE_NOT_CALIBRATED:
       titleLabel_->SetTextId(STR_BP_NEED_CALIB_FIRST);
       noteLabel_->SetTextId(STR_BP_PREP_SPHYGM);
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_LATER); CancelButton_->SetText(_uiStrTmp.GetText()); } while(0);
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_CAL); RetryButton_->SetText(_uiStrTmp.GetText()); } while(0);
+      CancelButton_->SetTextId(STR_LATER);
+      RetryButton_->SetTextId(STR_START_CAL);
       break;
     case BP_ABNORMAL_TYPE_ARM_MOVE:
       titleLabel_->SetTextId(STR_BP_TIP);
       noteLabel_->SetTextId(STR_BP_ARM_MOVED);
       RetryButton_->SetViewId(BP_CLICK_RETRY);
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RETRY); RetryButton_->SetText(_uiStrTmp.GetText()); } while(0);
+      RetryButton_->SetTextId(STR_RETRY);
       break;
     case BP_ABNORMAL_TYPE_MEASURE_TIMEOUT:
       titleLabel_->SetTextId(STR_BP_TIP);
@@ -74,7 +74,7 @@ void BPAbnormalView::ApplyAbnormalType(BPAbnormalType type) {
       }
       noteLabel_->SetTextId(STR_BP_WEAK_SIGNAL);
       RetryButton_->SetViewId(BP_CLICK_RETRY);
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RETRY); RetryButton_->SetText(_uiStrTmp.GetText()); } while(0);
+      RetryButton_->SetTextId(STR_RETRY);
       break;
     case BP_ABNORMAL_TYPE_CALIBRATION_DIFFERENCE_TOO_LARGE:
       titleLabel_->SetTextId(STR_BP_DIFF_TOO_LARGE);
@@ -85,7 +85,7 @@ void BPAbnormalView::ApplyAbnormalType(BPAbnormalType type) {
       noteLabel_->SetTextId(STR_BP_NOT_MEDICAL);
       RetryButton_->SetVisible(false);
       CancelButton_->SetViewId(BP_CLICK_DISCLAIMER_ACCEPT);
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_AGREE_CONTINUE); CancelButton_->SetText(_uiStrTmp.GetText()); } while(0);
+      CancelButton_->SetTextId(STR_BP_AGREE_CONTINUE);
       CancelButton_->Resize(280, 90);
       CancelButton_->SetPosition(93, 320);
       CancelButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
@@ -105,8 +105,8 @@ UIViewGroup *BPAbnormalView::InitView(BPAbnormalType type) {
   InitImageView(imageView_, 193, 120, 80, 80, "bp_abnormal_image", BLOOD_PATH_NOTE);
   InitLabel(noteLabel_, 53, 200, 360, 100, "bp_abnormal_note", "",
             DEFAULT_VECTOR_FONT_FILENAME, 24);
-  InitLabelButton(CancelButton_, 58, 320, 170, 90, BP_CLICK_EXIT, "", 26);
-  InitLabelButton(RetryButton_, 238, 320, 170, 90, BP_CLICK_RECALIBRATE, "", 26);
+  InitButtonExt(CancelButton_, 58, 320, 170, 90, BP_CLICK_EXIT, STR_CANCEL, 26);
+  InitButtonExt(RetryButton_, 238, 320, 170, 90, BP_CLICK_RECALIBRATE, STR_RECALIBRATE, 26);
   RetryButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
 
   ApplyAbnormalType(type);
index a8af92c..d7a02f8 100644 (file)
@@ -75,8 +75,7 @@ UIViewGroup *BPCalibFirstDoneView::InitView() {
   noteLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
   noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-  InitLabelButton(RetryButton_, 93, 330, 280, 90, BP_CLICK_FIRST_CALIB_DONE, "", 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_OK); RetryButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(RetryButton_, 93, 330, 280, 90, BP_CLICK_FIRST_CALIB_DONE, STR_OK, 30);
   RetryButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
   RetryButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance()));
   group_->Add(imageView_);
index 249f5e1..df8f089 100644 (file)
@@ -9,6 +9,14 @@
 
 namespace OHOS {
 
+namespace {
+static std::string GetResourceString(UIResourceTextId id) {
+  UILabelExt tmp;
+  tmp.SetTextId(id);
+  return std::string(tmp.GetText());
+}
+} // namespace
+
 static BPCalibSecondDoneView *g_instance = nullptr;
 
 BPCalibSecondDoneView::BPCalibSecondDoneView() { g_instance = this; }
@@ -44,7 +52,7 @@ void BPCalibSecondDoneView::UpdateExpiryText() {
     return;
   }
   char textBuf[48] = {0};
-  std::string fmt = ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_VALID_UNTIL); return std::string(_uiStrTmp.GetText()); }());
+  std::string fmt = GetResourceString(STR_BP_VALID_UNTIL);
   if (sprintf_s(textBuf, sizeof(textBuf), fmt.c_str(),
                 model->GetCalibrationExpiryDateText().c_str()) < 0) {
     timeLabel_->SetTextId(STR_BP_VALID_UNTIL_NA);
@@ -71,8 +79,7 @@ UIViewGroup *BPCalibSecondDoneView::InitView() {
   noteLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
   noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-  InitLabelButton(confirmButton_, 93, 340, 280, 90, BP_CLICK_SECOND_CALIB_DONE, "", 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_OK); confirmButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(confirmButton_, 93, 340, 280, 90, BP_CLICK_SECOND_CALIB_DONE, STR_OK, 30);
   confirmButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
   confirmButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance()));
   group_->Add(imageView_);
index 8dc3300..286d226 100644 (file)
@@ -9,6 +9,14 @@
 
 namespace OHOS {
 
+namespace {
+static std::string GetResourceString(UIResourceTextId id) {
+  UILabelExt tmp;
+  tmp.SetTextId(id);
+  return std::string(tmp.GetText());
+}
+} // namespace
+
 static BPEntryView *g_pBPEntryView = nullptr;
 
 BPEntryView::BPEntryView() {
@@ -144,7 +152,7 @@ void BPEntryView::InitCalibExpiringSoonBar() {
   }
 
   char textBuf[48] = {0};
-  std::string fmt = ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_CALIB_EXPIRING_D); return std::string(_uiStrTmp.GetText()); }());
+  std::string fmt = GetResourceString(STR_BP_CALIB_EXPIRING_D);
   if (sprintf_s(textBuf, sizeof(textBuf), fmt.c_str(), daysLeft) < 0) {
     return;
   }
@@ -225,17 +233,13 @@ void BPEntryView::InitNoCalibratedBar() {
 
 void BPEntryView::InitCalibratedView() {
   //初始化已校准视图
-  InitUILabel(titleLabel_, 0, 50, 466, 35, "bp_entry_title", "",
+  InitLabelExt(titleLabel_, 0, 50, 466, 35, "bp_entry_title", STR_BP_CHECK,
                DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_CHECK); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
   InitCalibExpiringSoonBar();
-  InitUILabel(instructionLabel_, 0, 198, 466, 90, "bp_instruction_label", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_PREMEASURE_NOTE); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
-  InitLabelButton(instructionButton_, 58, 320, 170, 90, BP_CLICK_INSTRUCTION, "", 26);
-  InitLabelButton(measureButton_, 58+170+10, 320, 170, 90, BP_CLICK_MEASURE, "", 26);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_MEAS_GUIDE); instructionButton_->SetText(_uiStrTmp.GetText()); } while(0);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_MEASURE_NOW); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(instructionLabel_, 0, 198, 466, 90, "bp_instruction_label", STR_BP_PREMEASURE_NOTE,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
+  InitButtonExt(instructionButton_, 58, 320, 170, 90, BP_CLICK_INSTRUCTION, STR_BP_MEAS_GUIDE, 26);
+  InitButtonExt(measureButton_, 58 + 170 + 10, 320, 170, 90, BP_CLICK_MEASURE, STR_BP_MEASURE_NOW, 26);
   measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
   group_->Add(titleLabel_);
   group_->Add(instructionLabel_);
@@ -248,18 +252,14 @@ void BPEntryView::InitCalibratedView() {
 
 void BPEntryView::InitCalibrationExpiredView() {
   //初始化校准已过期视图
-  InitUILabel(titleLabel_, 0, 50, 466, 35, "bp_entry_title", "",
-    DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_CALIB_EXPIRED); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(titleLabel_, 0, 50, 466, 35, "bp_entry_title", STR_BP_CALIB_EXPIRED,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   titleLabel_->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
   InitImageView(imageView_, 193, 120, 80, 80, "bp_calibration_expired_image", BLOOD_PATH_CALIBRATION_EXPIRED);
-  InitUILabel(instructionLabel_, 53, 230, 360, 90, "bp_instruction_label", "",
-   DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_TREND_REF_ONLY); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
-  InitLabelButton(instructionButton_, 58, 320, 170, 90, BP_CLICK_MEASURE, "", 26);
-  InitLabelButton(measureButton_, 238, 320, 170, 90, BP_CLICK_RECALIBRATE, "", 26);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_MEASURE_NOW); instructionButton_->SetText(_uiStrTmp.GetText()); } while(0);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RECALIBRATE); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(instructionLabel_, 53, 230, 360, 90, "bp_instruction_label", STR_BP_TREND_REF_ONLY,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
+  InitButtonExt(instructionButton_, 58, 320, 170, 90, BP_CLICK_MEASURE, STR_BP_MEASURE_NOW, 26);
+  InitButtonExt(measureButton_, 238, 320, 170, 90, BP_CLICK_RECALIBRATE, STR_RECALIBRATE, 26);
   measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
   auto *listener = static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance());
   instructionButton_->SetOnClickListener(listener);
@@ -273,15 +273,12 @@ void BPEntryView::InitCalibrationExpiredView() {
 
 void BPEntryView::InitNotCalibratedView() {
   //初始化未校准视图
-  InitUILabel(titleLabel_, 0, 50, 466, 35, "bp_entry_title", "",
-    DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_CHECK); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(titleLabel_, 0, 50, 466, 35, "bp_entry_title", STR_BP_CHECK,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   InitNoCalibratedBar();
-  InitUILabel(instructionLabel_, 33, 152, 400, 162, "bp_instruction_label", "",
-    DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_COMPLETE_CALIB_FIRST); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
-  InitLabelButton(measureButton_, 93, 320, 280, 90, BP_CLICK_MEASURE, "", 26);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_CAL); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(instructionLabel_, 33, 152, 400, 162, "bp_instruction_label", STR_BP_COMPLETE_CALIB_FIRST,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
+  InitButtonExt(measureButton_, 93, 320, 280, 90, BP_CLICK_MEASURE, STR_START_CAL, 30);
   measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
   measureButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance()));
   group_->Add(titleLabel_);
index beb5931..d30b661 100644 (file)
@@ -215,9 +215,8 @@ void BPHistoryView::InitRecentPage() {
   recentPage_->SetOnDragListener(
       static_cast<UIView::OnDragListener *>(BPMainPresenter::GetInstance()));
 
-  InitUILabel(recentTitleLabel_, 0, 50, 466, 35, "bp_recent_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_LATEST_RECORD); recentTitleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(recentTitleLabel_, 0, 50, 466, 35, "bp_recent_title", STR_BP_LATEST_RECORD,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   recentTitleLabel_->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
   recentTitleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
@@ -272,9 +271,8 @@ void BPHistoryView::InitRecentPage() {
   recentSbpUnit_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
   recentDbpUnit_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
 
-  InitLabelButton(historyButton_, BP_HISTORY_BTN_X, BP_HISTORY_BTN_Y, BP_HISTORY_BTN_W, BP_HISTORY_BTN_H,
-                  BP_CLICK_VIEW_HISTORY, "", 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_VIEW_HISTORY); historyButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(historyButton_, BP_HISTORY_BTN_X, BP_HISTORY_BTN_Y, BP_HISTORY_BTN_W, BP_HISTORY_BTN_H,
+                BP_CLICK_VIEW_HISTORY, STR_BP_VIEW_HISTORY, 30);
   historyButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
   historyButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);
   historyButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
@@ -326,7 +324,7 @@ UIViewGroup *BPHistoryView::CreateRecordPage(const BPRecord &record, size_t inde
   }
   page->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
 
-  UILabel *titleLabel = nullptr;
+  UILabelExt *titleLabel = nullptr;
   UILabel *timeLabel = nullptr;
   UIImageView *hlineTop = nullptr;
   UIImageView *hlineBottom = nullptr;
@@ -338,9 +336,9 @@ UIViewGroup *BPHistoryView::CreateRecordPage(const BPRecord &record, size_t inde
   UILabel *sbpUnit = nullptr;
   UILabel *dbpUnit = nullptr;
 
-  InitUILabel(titleLabel, 0, 50, 466, 35, "bp_history_record_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(index == 0 ? STR_BP_LATEST_RECORD : STR_BP_RECENT_RECORD); titleLabel->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(titleLabel, 0, 50, 466, 35, "bp_history_record_title",
+               index == 0 ? STR_BP_LATEST_RECORD : STR_BP_RECENT_RECORD,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   if (index == 0) {
     titleLabel->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
   } else {
@@ -434,32 +432,28 @@ UIViewGroup *BPHistoryView::CreateTipPage() {
   }
   page->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
 
-  UILabel *titleLabel = nullptr;
+  UILabelExt *titleLabel = nullptr;
   UIImageView *phoneIcon = nullptr;
-  UILabel *hintLine1 = nullptr;
-  UILabel *hintLine2 = nullptr;
-  UILabelButton *tipOkButton = nullptr;
+  UILabelExt *hintLine1 = nullptr;
+  UILabelExt *hintLine2 = nullptr;
+  UILabelButtonExt *tipOkButton = nullptr;
 
-  InitUILabel(titleLabel, 0, 50, 466, 35, "bp_history_tip_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_TIP); titleLabel->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(titleLabel, 0, 50, 466, 35, "bp_history_tip_title", STR_BP_TIP,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   titleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
   InitImageView(phoneIcon, 193, 120, 80, 80, "bp_history_tip_phone", BP_PHONE_IMAGE);
 
-  InitUILabel(hintLine1, 53, 240, 360, 35, "bp_history_tip_hint1", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 28);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_APP_FULL_RECORD); hintLine1->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(hintLine1, 53, 240, 360, 35, "bp_history_tip_hint1", STR_BP_APP_FULL_RECORD,
+               DEFAULT_VECTOR_FONT_FILENAME, 28);
   hintLine1->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-  InitUILabel(hintLine2, 53, 280, 360, 35, "bp_history_tip_hint2", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 28);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_WATCH_RECENT_ONLY); hintLine2->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(hintLine2, 53, 280, 360, 35, "bp_history_tip_hint2", STR_BP_WATCH_RECENT_ONLY,
+               DEFAULT_VECTOR_FONT_FILENAME, 28);
   hintLine2->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-  InitLabelButton(tipOkButton, BP_HISTORY_BTN_X, BP_HISTORY_BTN_Y, BP_HISTORY_BTN_W, BP_HISTORY_BTN_H,
-                  BP_CLICK_HISTORY_TIP_OK, "", 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_KONW); tipOkButton->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(tipOkButton, BP_HISTORY_BTN_X, BP_HISTORY_BTN_Y, BP_HISTORY_BTN_W, BP_HISTORY_BTN_H,
+                BP_CLICK_HISTORY_TIP_OK, STR_KONW, 30);
   tipOkButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
   tipOkButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);
   tipOkButton->SetStyle(STYLE_BORDER_RADIUS, 45);
@@ -517,21 +511,18 @@ void BPHistoryView::InitEmptyPage() {
   emptyPage_->SetOnDragListener(
       static_cast<UIView::OnDragListener *>(BPMainPresenter::GetInstance()));
 
-  InitUILabel(emptyTitleLabel_, 0, 50, 466, 35, "bp_history_empty_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_NO_MEAS_RECORD); emptyTitleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(emptyTitleLabel_, 0, 50, 466, 35, "bp_history_empty_title", STR_BP_NO_MEAS_RECORD,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   emptyTitleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
   InitImageView(emptyImage_, 174, 120, 80, 80, "bp_history_empty_image", BP_NO_RECORD_IMAGE);
 
-  InitUILabel(emptyHintLabel_, 53, 260, 360, 70, "bp_history_empty_hint", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 28);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_EMPTY_HIST_HINT); emptyHintLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(emptyHintLabel_, 53, 260, 360, 70, "bp_history_empty_hint", STR_BP_EMPTY_HIST_HINT,
+               DEFAULT_VECTOR_FONT_FILENAME, 28);
   emptyHintLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
   emptyHintLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
 
-  InitLabelButton(startMeasureButton_, 93, 330, 280, 90, BP_CLICK_MEASURE, "", 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_MEAS); startMeasureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(startMeasureButton_, 93, 330, 280, 90, BP_CLICK_MEASURE, STR_START_MEAS, 30);
   startMeasureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
   startMeasureButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0176ff, UIButton::PRESSED);
   startMeasureButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
index de8ac9e..3e8ac65 100644 (file)
@@ -67,30 +67,30 @@ void BPInstructionView::ApplyInstructionContent(BPInstructionType type) { //应
   measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
   switch (type) {
     case BP_INSTRUCTION_TYPE_SEAT:
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_INSTR_SEAT); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+      instructionLabel_->SetTextId(STR_BP_INSTR_SEAT);
       instructionLabel_->SetPosition(8, 230, 450, 70);
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_MEAS); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+      measureButton_->SetTextId(STR_START_MEAS);
       break;
     case BP_INSTRUCTION_TYPE_WEAR:
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_INSTR_WEAR); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+      instructionLabel_->SetTextId(STR_BP_INSTR_WEAR);
       instructionLabel_->SetPosition(38, 230, 390, 70);
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_MEAS); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+      measureButton_->SetTextId(STR_START_MEAS);
       break;
     case BP_INSTRUCTION_TYPE_BELT_LOOSE:
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_INSTR_BELT_LOOSE); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+      instructionLabel_->SetTextId(STR_BP_INSTR_BELT_LOOSE);
       instructionLabel_->SetPosition(113, 230, 240, 70);
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RE_MEAS); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+      measureButton_->SetTextId(STR_RE_MEAS);
       measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
       break;
     case BP_INSTRUCTION_TYPE_FIRST:
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_INSTR_CALIB1); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+      instructionLabel_->SetTextId(STR_BP_INSTR_CALIB1);
       instructionLabel_->SetPosition(68, 230, 330, 70);
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_CAL); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+      measureButton_->SetTextId(STR_START_CAL);
       break;
     case BP_INSTRUCTION_TYPE_SECOND:
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_INSTR_CALIB2); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+      instructionLabel_->SetTextId(STR_BP_INSTR_CALIB2);
       instructionLabel_->SetPosition(38, 230, 390, 70);
-      do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_CAL); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+      measureButton_->SetTextId(STR_START_CAL);
       break;
     default:
       break;
@@ -208,14 +208,12 @@ UIViewGroup *BPInstructionView::InitView(BPInstructionType type) {
 
   InitImageView(imageView_, kInstructionImageX, kInstructionImageY, kInstructionImageW,
                 kInstructionImageH, "bp_instruction_image", BLOOD_PATH_SEAT);
-  InitUILabel(instructionLabel_, 53, 230, 360, 70, "bp_instruction_label", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
+  InitLabelExt(instructionLabel_, 53, 230, 360, 70, "bp_instruction_label", STR_BP_INSTR_SEAT,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   instructionLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
   instructionLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-  InitLabelButton(backButton_, 58, 320, 170, 90, BP_CLICK_INSTRUCTION_BACK, "", 26);
-  InitLabelButton(measureButton_, 238, 320, 170, 90, BP_CLICK_MEASURE, "", 26);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_CANCEL); backButton_->SetText(_uiStrTmp.GetText()); } while(0);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_START); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(backButton_, 58, 320, 170, 90, BP_CLICK_INSTRUCTION_BACK, STR_CANCEL, 26);
+  InitButtonExt(measureButton_, 238, 320, 170, 90, BP_CLICK_MEASURE, STR_BP_START, 26);
   measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
 
   auto *clickListener = static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance());
index ac95365..52c8015 100644 (file)
@@ -140,9 +140,8 @@ UIViewGroup *BPMeasuringView::InitView() {
   } else if (animatorView_ != nullptr) {
     group_->Add(animatorView_);
   }
-  InitUILabel(noteLabel_, 0, BP_MEASURING_ANIM_Y + BP_MEASURING_ANIM_H + 20, 466, 35,
-              "bp_measuring_note", "", DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_KEEP_STILL); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(noteLabel_, 0, BP_MEASURING_ANIM_Y + BP_MEASURING_ANIM_H + 20, 466, 35,
+               "bp_measuring_note", STR_BP_KEEP_STILL, DEFAULT_VECTOR_FONT_FILENAME, 30);
   group_->Add(noteLabel_);
   return group_;
 }
index 8067a6d..dbd1ae6 100644 (file)
@@ -83,25 +83,22 @@ void BPValueConfirmView::InitDividerLines() {
 void BPValueConfirmView::InitActionButtons() {
   auto *listener = static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance());
 
-  InitLabelButton(modifyButton_, BP_CONFIRM_BTN_LEFT_X, BP_CONFIRM_BTN_Y, BP_CONFIRM_BTN_W,
-                  BP_CONFIRM_BTN_H, BP_CLICK_STOP, "", 26);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_MODIFY); modifyButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(modifyButton_, BP_CONFIRM_BTN_LEFT_X, BP_CONFIRM_BTN_Y, BP_CONFIRM_BTN_W,
+                BP_CONFIRM_BTN_H, BP_CLICK_STOP, STR_BP_MODIFY, 26);
   modifyButton_->SetStyle(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_GREY);
   modifyButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_GREY, UIButton::PRESSED);
   modifyButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
   modifyButton_->SetOnClickListener(listener);
 
-  InitLabelButton(startCalibButton_, BP_CONFIRM_BTN_RIGHT_X, BP_CONFIRM_BTN_Y, BP_CONFIRM_BTN_W,
-                  BP_CONFIRM_BTN_H, BP_CLICK_VALUE_CONFIRM, "", 26);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_CAL); startCalibButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(startCalibButton_, BP_CONFIRM_BTN_RIGHT_X, BP_CONFIRM_BTN_Y, BP_CONFIRM_BTN_W,
+                BP_CONFIRM_BTN_H, BP_CLICK_VALUE_CONFIRM, STR_START_CAL, 26);
   startCalibButton_->SetStyle(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_BLUE);
   startCalibButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_BLUE, UIButton::PRESSED);
   startCalibButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
   startCalibButton_->SetOnClickListener(listener);
 
-  InitLabelButton(errorOkButton_, BP_CONFIRM_ERROR_OK_X, 330, BP_CONFIRM_ERROR_OK_W,
-                  BP_CONFIRM_BTN_H, BP_CLICK_VALUE_ERROR_OK, "", 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_OK); errorOkButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(errorOkButton_, BP_CONFIRM_ERROR_OK_X, 330, BP_CONFIRM_ERROR_OK_W,
+                BP_CONFIRM_BTN_H, BP_CLICK_VALUE_ERROR_OK, STR_OK, 30);
   errorOkButton_->SetStyle(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_ORANGE);
   errorOkButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_ORANGE, UIButton::PRESSED);
   errorOkButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
index 9623afc..d9fb9e2 100644 (file)
@@ -3,7 +3,8 @@
 
 #include "components/ui_image_view.h"
 #include "components/ui_label.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_view_group.h"
 
 namespace OHOS {
@@ -21,11 +22,11 @@ public:
 
 private:
   UIViewGroup *group_{nullptr};
-  UILabel *titleLabel_{nullptr};
+  UILabelExt *titleLabel_{nullptr};
   UIImageView *iconView_{nullptr};
-  UILabel *noteLabel_{nullptr};
-  UILabelButton *exitButton_{nullptr};
-  UILabelButton *retryButton_{nullptr};
+  UILabelExt *noteLabel_{nullptr};
+  UILabelButtonExt *exitButton_{nullptr};
+  UILabelButtonExt *retryButton_{nullptr};
 };
 
 } // namespace OHOS
index f9a1ef8..5e4493a 100644 (file)
@@ -3,7 +3,8 @@
 
 #include "components/ui_image_view.h"
 #include "components/ui_label.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_view.h"
 #include "components/ui_view_group.h"
 
@@ -25,9 +26,9 @@ private:
 
 
   UIViewGroup *group_{nullptr};
-  UILabel *titleLabel_{nullptr};
-  UILabel *noteLabel_{nullptr};
-  UILabelButton *measureButton_{nullptr};
+  UILabelExt *titleLabel_{nullptr};
+  UILabelExt *noteLabel_{nullptr};
+  UILabelButtonExt *measureButton_{nullptr};
   UIView *dotEntry_{nullptr};
   UIView *dotHistory_{nullptr};
 };
index 3c67914..64fe725 100644 (file)
@@ -3,7 +3,8 @@
 
 #include "components/ui_image_view.h"
 #include "components/ui_label.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_scroll_view.h"
 #include "components/ui_view.h"
 #include "components/ui_view_group.h"
@@ -44,22 +45,22 @@ private:
   UIViewGroup *listPage_{nullptr};
   UIViewGroup *emptyPage_{nullptr};
 
-  UILabel *recentTitle_{nullptr};
+  UILabelExt *recentTitle_{nullptr};
   UILabel *recentTime_{nullptr};
   UILabel *recentResult_{nullptr};
   UIImageView *recentHeart_{nullptr};
   UILabel *recentBpm_{nullptr};
-  UILabel *recentBpmUnit_{nullptr};
-  UILabelButton *viewAllButton_{nullptr};
+  UILabelExt *recentBpmUnit_{nullptr};
+  UILabelButtonExt *viewAllButton_{nullptr};
 
-  UILabel *listTitle_{nullptr};
+  UILabelExt *listTitle_{nullptr};
   UIScrollView *scrollView_{nullptr};
   UIViewGroup *listContainer_{nullptr};
 
-  UILabel *emptyTitleLabel_{nullptr};
+  UILabelExt *emptyTitleLabel_{nullptr};
   UIImageView *emptyImage_{nullptr};
-  UILabel *emptyHintLabel_{nullptr};
-  UILabelButton *startMeasureButton_{nullptr};
+  UILabelExt *emptyHintLabel_{nullptr};
+  UILabelButtonExt *startMeasureButton_{nullptr};
   UIView *dotEntry_{nullptr};
   UIView *dotHistory_{nullptr};
   std::vector<UIView *> listItems_;
index 0b7f389..86542ed 100644 (file)
@@ -3,7 +3,8 @@
 
 #include "components/ui_image_view.h"
 #include "components/ui_label.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_view_group.h"
 
 namespace OHOS {
@@ -38,11 +39,11 @@ private:
   void InitContactGood();
 
   UIViewGroup *group_{nullptr};
-  UILabel *titleLabel_{nullptr};
-  UILabel *contentLabel_{nullptr};
-  UILabel *noteLabel_{nullptr};
+  UILabelExt *titleLabel_{nullptr};
+  UILabelExt *contentLabel_{nullptr};
+  UILabelExt *noteLabel_{nullptr};
   UIImageView *imageView_{nullptr};
-  UILabelButton *agreeButton_{nullptr};
+  UILabelButtonExt *agreeButton_{nullptr};
   ECGInstructionType currentType_{ECG_INSTRUCTION_TYPE_DISCLAIMER};
 };
 
index 766e93a..54881f0 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "components/ui_image_animator.h"
 #include "components/ui_label.h"
+#include "components/ui_label_ext.h"
 #include "components/ui_view_group.h"
 
 namespace OHOS {
@@ -21,7 +22,7 @@ private:
   void UnloadAnimatorFrames();
 
   UIViewGroup *group_{nullptr};
-  UILabel *noteLabel_{nullptr};
+  UILabelExt *noteLabel_{nullptr};
   UIImageAnimatorView *animatorView_{nullptr};
   ImageAnimatorInfo frameInfo_[40]{};
   bool animatorInited_{false};
index b87cc5e..f158bc2 100644 (file)
@@ -3,7 +3,8 @@
 
 #include "components/ui_image_view.h"
 #include "components/ui_label.h"
-#include "components/ui_label_button.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_label_button_ext.h"
 #include "components/ui_view_group.h"
 
 #define ECG_PATH_HEART_RED_ICON "/user/res/ecg/heart_red.bin"
@@ -23,10 +24,10 @@ private:
   UIImageView *heartIcon_{nullptr};
   UIImageView *backgroundIcon_{nullptr};
   UILabel *bpmValueLabel_{nullptr};
-  UILabel *bpmUnitLabel_{nullptr};
+  UILabelExt *bpmUnitLabel_{nullptr};
   UILabel *resultLabel_{nullptr};
-  UILabel *noteLabel_{nullptr};
-  UILabelButton *confirmButton_{nullptr};
+  UILabelExt *noteLabel_{nullptr};
+  UILabelButtonExt *confirmButton_{nullptr};
 };
 
 } // namespace OHOS
index 73be9c1..7603b12 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "components/ui_chart.h"
 #include "components/ui_label.h"
+#include "components/ui_label_ext.h"
 #include "components/ui_view_group.h"
 
 namespace OHOS {
@@ -29,11 +30,11 @@ private:
   int16_t MapHeartRateToChartY(uint8_t hr) const;
 
   UIViewGroup *group_{nullptr};
-  UILabel *titleLabel_{nullptr};
+  UILabelExt *titleLabel_{nullptr};
   UIChartPolyline *chart_{nullptr};
   UIChartDataSerial *dataSerial_{nullptr};
   UILabel *countdownLabel_{nullptr};
-  UILabel *hintLabel_{nullptr};
+  UILabelExt *hintLabel_{nullptr};
   Point wavePoints_[48]{};
   int16_t countdownSec_{kMeasureDurationSec};
   static constexpr int16_t kWavePointCount = 48;
index 07ce0f4..0bb7d81 100644 (file)
@@ -34,20 +34,16 @@ UIViewGroup *ECGAbnormalView::InitView() {
   group_ = new UIViewGroup();
   group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
 
-  InitUILabel(titleLabel_, 83, 50, 300, 35, "ecg_abnormal_title", "",
-            DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_TIP); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(titleLabel_, 83, 50, 300, 35, "ecg_abnormal_title", STR_BP_TIP,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   InitImageView(iconView_, 193, 120, 80, 80, "ecg_abnormal_icon", ECG_PATH_ABNORMAL);
-  InitUILabel(noteLabel_, 53, 210, 360, 90, "ecg_abnormal_note", "",
-            DEFAULT_VECTOR_FONT_FILENAME, 26);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_CONTACT_ABNORMAL); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(noteLabel_, 53, 210, 360, 90, "ecg_abnormal_note", STR_ECG_CONTACT_ABNORMAL,
+               DEFAULT_VECTOR_FONT_FILENAME, 26);
   noteLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
   noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-  InitLabelButton(exitButton_, 58, 320, 170, 90, ECG_CLICK_EXIT, "", 26);
-  InitLabelButton(retryButton_, 238, 320, 170, 90, ECG_CLICK_RETRY, "", 26);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_EXIT); exitButton_->SetText(_uiStrTmp.GetText()); } while(0);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RETRY); retryButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(exitButton_, 58, 320, 170, 90, ECG_CLICK_EXIT, STR_ECG_EXIT, 26);
+  InitButtonExt(retryButton_, 238, 320, 170, 90, ECG_CLICK_RETRY, STR_RETRY, 26);
   exitButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
   retryButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
 
index 4391bc8..2db8d75 100644 (file)
@@ -87,19 +87,15 @@ void ECGEntryView::InitPageIndicator() {
 
 
 void ECGEntryView::InitEntryView() {
-  InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_entry_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_MEAS_TITLE); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(titleLabel_, 0, 50, 466, 35, "ecg_entry_title", STR_ECG_MEAS_TITLE,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-  InitUILabel(noteLabel_, 0, 216, 466, 35, "ecg_entry_note", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_ENTRY_NOTE); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(noteLabel_, 0, 216, 466, 35, "ecg_entry_note", STR_ECG_ENTRY_NOTE,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-
-  InitLabelButton(measureButton_, 93, 320, 280, 90, ECG_CLICK_MEASURE, "", 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_MEAS); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(measureButton_, 93, 320, 280, 90, ECG_CLICK_MEASURE, STR_START_MEAS, 30);
   measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
   measureButton_->SetStyle(STYLE_BORDER_RADIUS, 100);
   measureButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(ECGMainPresenter::GetInstance()));
index ba083f2..79f4584 100644 (file)
@@ -1,6 +1,7 @@
 #include "ecg/include/ECGHistoryView.h"
 #include "ecg/include/ECGMainPresenter.h"
 #include "ecg/include/ECGModel.h"
+#include "components/ui_label_ext.h"
 #include "securec.h"
 #include "ui_resource_string.h"
 #include "uicomponents/UIComponents.h"
@@ -29,7 +30,7 @@ static int16_t GetRecentBpmLabelWidth(uint8_t bpm) {
   return (bpm >= 100) ? ECG_RECENT_BPM_W_THREE_DIGIT : ECG_RECENT_BPM_W_TWO_DIGIT;
 }
 
-static void UpdateRecentBpmLabelLayout(UILabel *recentBpm, UILabel *recentBpmUnit, uint8_t bpm) {
+static void UpdateRecentBpmLabelLayout(UILabel *recentBpm, UILabelExt *recentBpmUnit, uint8_t bpm) {
   if (recentBpm == nullptr) {
     return;
   }
@@ -39,6 +40,12 @@ static void UpdateRecentBpmLabelLayout(UILabel *recentBpm, UILabel *recentBpmUni
     recentBpmUnit->SetPosition(ECG_RECENT_BPM_X + bpmW + ECG_RECENT_BPM_UNIT_GAP, ECG_RECENT_BPM_UNIT_Y);
   }
 }
+
+static std::string GetResourceString(UIResourceTextId id) {
+  UILabelExt tmp;
+  tmp.SetTextId(id);
+  return std::string(tmp.GetText());
+}
 } // namespace
 
 static ECGHistoryView *g_pECGHistoryView = nullptr;
@@ -156,18 +163,15 @@ void ECGHistoryView::InitEmptyPage() {
   emptyPage_->SetTouchable(true);
   emptyPage_->SetOnDragListener(static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance()));
 
-  InitUILabel(emptyTitleLabel_, 0, 50, 466, 35, "ecg_history_empty_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_NO_MEAS_RECORD); emptyTitleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(emptyTitleLabel_, 0, 50, 466, 35, "ecg_history_empty_title", STR_BP_NO_MEAS_RECORD,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   emptyTitleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
   InitImageView(emptyImage_, 174, 120, 80, 80, "ecg_history_empty_image", ECG_NO_RECORD_IMAGE);
-  InitUILabel(emptyHintLabel_, 53, 260, 360, 70, "ecg_history_empty_hint", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 28);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_EMPTY_HIST_HINT); emptyHintLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(emptyHintLabel_, 53, 260, 360, 70, "ecg_history_empty_hint", STR_BP_EMPTY_HIST_HINT,
+               DEFAULT_VECTOR_FONT_FILENAME, 28);
   emptyHintLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
   emptyHintLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
-  InitLabelButton(startMeasureButton_, 93, 330, 280, 90, ECG_CLICK_MEASURE, "", 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_MEAS); startMeasureButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(startMeasureButton_, 93, 330, 280, 90, ECG_CLICK_MEASURE, STR_START_MEAS, 30);
   startMeasureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
   startMeasureButton_->SetStyle(STYLE_BORDER_RADIUS, 100);
   startMeasureButton_->SetOnClickListener(
@@ -189,9 +193,8 @@ void ECGHistoryView::InitRecentPage() {
   recentPage_->SetTouchable(true);
   recentPage_->SetOnDragListener(static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance()));
 
-  InitUILabel(recentTitle_, 0, 50, 466, 35, "ecg_recent_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_RECENT_RECORD); recentTitle_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(recentTitle_, 0, 50, 466, 35, "ecg_recent_title", STR_BP_RECENT_RECORD,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   recentTitle_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
   InitUILabel(recentTime_, 0, 93, 466, 33, "ecg_recent_time", "--",
@@ -210,14 +213,13 @@ void ECGHistoryView::InitRecentPage() {
               "ecg_recent_bpm", "--", DEFAULT_VECTOR_FONT_FILENAME, 65);
   recentBpm_->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
 
-  InitUILabel(recentBpmUnit_, ECG_RECENT_BPM_X + ECG_RECENT_BPM_W_TWO_DIGIT + ECG_RECENT_BPM_UNIT_GAP,
-              ECG_RECENT_BPM_UNIT_Y, 72, 30, "ecg_recent_bpm_unit", "", DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_TIMES_PER_MIN); recentBpmUnit_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(recentBpmUnit_, ECG_RECENT_BPM_X + ECG_RECENT_BPM_W_TWO_DIGIT + ECG_RECENT_BPM_UNIT_GAP,
+               ECG_RECENT_BPM_UNIT_Y, 72, 30, "ecg_recent_bpm_unit", STR_TIMES_PER_MIN,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   recentBpmUnit_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
   recentBpmUnit_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-  InitLabelButton(viewAllButton_, 93, 320, 280, 90, ECG_CLICK_VIEW_ALL, "", 28);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_VIEW_ALL); viewAllButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(viewAllButton_, 93, 320, 280, 90, ECG_CLICK_VIEW_ALL, STR_ECG_VIEW_ALL, 28);
   viewAllButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
   viewAllButton_->SetStyle(STYLE_BORDER_RADIUS, 100);
   viewAllButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(ECGMainPresenter::GetInstance()));
@@ -241,9 +243,8 @@ void ECGHistoryView::InitListPage() {
   listPage_->SetTouchable(true);
   listPage_->SetOnDragListener(static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance()));
 
-  InitUILabel(listTitle_, 0, 50, 466, 35, "ecg_list_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_MEAS_RECORD); listTitle_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(listTitle_, 0, 50, 466, 35, "ecg_list_title", STR_ECG_MEAS_RECORD,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   listTitle_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
   scrollView_ = new UIScrollView();
@@ -325,12 +326,12 @@ void ECGHistoryView::RebuildList() {
     std::string bpmStr;
     if (rec.bpm > 0) {
       char bpmBuf[32] = {0};
-      std::string fmt = ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_BPM_FORMAT); return std::string(_uiStrTmp.GetText()); }());
+      std::string fmt = GetResourceString(STR_ECG_BPM_FORMAT);
       if (sprintf_s(bpmBuf, sizeof(bpmBuf), fmt.c_str(), rec.bpm) >= 0) {
         bpmStr = bpmBuf;
       }
     } else {
-      bpmStr = ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_BPM_NA); return std::string(_uiStrTmp.GetText()); }());
+      bpmStr = GetResourceString(STR_ECG_BPM_NA);
     }
     InitUILabel(bpmLabel, ECG_HISTORY_CARD_MARGIN + 40 + 38 + 8 + 8 + 120, y + 36 + 5, 119, 35, "ecg_list_bpm",
                 bpmStr.c_str(), DEFAULT_VECTOR_FONT_FILENAME, 28);
index 259e6cc..f6afade 100644 (file)
@@ -40,17 +40,14 @@ void ECGInstructionView::ClearContent() {
 
 void ECGInstructionView::InitDisclaimer() {
   InitImageView(imageView_, 193, 50, 80, 80, "ecg_disclaimer", ECG_PATH_DISCLAIMER);
-  InitUILabel(contentLabel_, 50, 147, 366, 70, "ecg_disclaimer_content", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_DISCLAIMER); contentLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(contentLabel_, 50, 147, 366, 70, "ecg_disclaimer_content", STR_ECG_DISCLAIMER,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   contentLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
   contentLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-  InitUILabel(noteLabel_, 0, 248, 466, 35, "ecg_disclaimer_note", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_CONSULT_DOC); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(noteLabel_, 0, 248, 466, 35, "ecg_disclaimer_note", STR_ECG_CONSULT_DOC,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-  InitLabelButton(agreeButton_, 93, 320, 280, 90, ECG_CLICK_DISCLAIMER_ACCEPT, "", 26);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_AGREE_CONTINUE); agreeButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(agreeButton_, 93, 320, 280, 90, ECG_CLICK_DISCLAIMER_ACCEPT, STR_BP_AGREE_CONTINUE, 26);
   agreeButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
   agreeButton_->SetStyle(STYLE_BORDER_RADIUS, 100);
 
@@ -66,14 +63,12 @@ void ECGInstructionView::InitDisclaimer() {
 }
 
 void ECGInstructionView::InitWaitContact() {
-  InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_wait_contact_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_MEAS_TITLE); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(titleLabel_, 0, 50, 466, 35, "ecg_wait_contact_title", STR_ECG_MEAS_TITLE,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
   InitImageView(imageView_, 55, 95, 360, 300, "ecg_wait_contact", ECG_PATH_WAIT_CONTACT);
-  InitUILabel(contentLabel_, 0, 401, 466, 30, "ecg_wait_contact_content", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_FINGER_ELECTRODE); contentLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(contentLabel_, 0, 401, 466, 30, "ecg_wait_contact_content", STR_ECG_FINGER_ELECTRODE,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   contentLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
   auto *dragListener = static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance());
@@ -85,14 +80,12 @@ void ECGInstructionView::InitWaitContact() {
 }
 
 void ECGInstructionView::InitContactGood() {
-  InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_contact_good_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_MEAS_TITLE); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(titleLabel_, 0, 50, 466, 35, "ecg_contact_good_title", STR_ECG_MEAS_TITLE,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
   InitImageView(imageView_, 55, 95, 360, 300, "ecg_contact_good", ECG_PATH_CONTACT_GOOD);
-  InitUILabel(contentLabel_, 0, 401, 466, 30, "ecg_contact_good_content", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_KEEP_FINGER_STILL); contentLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(contentLabel_, 0, 401, 466, 30, "ecg_contact_good_content", STR_ECG_KEEP_FINGER_STILL,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   contentLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
   auto *dragListener = static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance());
index 7661448..9ef9a66 100644 (file)
@@ -135,9 +135,8 @@ UIViewGroup *ECGMeasureCompleteView::InitView() {
   if (InitAnimator() && animatorView_ != nullptr) {
     group_->Add(animatorView_);
   }
-  InitUILabel(noteLabel_, 0, ECG_COMPLETE_ANIM_Y + ECG_COMPLETE_ANIM_H + 20, 466, 35,
-              "ecg_complete_note", "", DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_ANALYZING); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(noteLabel_, 0, ECG_COMPLETE_ANIM_Y + ECG_COMPLETE_ANIM_H + 20, 466, 35,
+               "ecg_complete_note", STR_ECG_ANALYZING, DEFAULT_VECTOR_FONT_FILENAME, 30);
   noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
   group_->Add(noteLabel_);
   return group_;
index 041d14e..ffb0d4b 100644 (file)
@@ -100,26 +100,22 @@ UIViewGroup *ECGMeasureResultView::InitView() {
               DEFAULT_VECTOR_FONT_FILENAME, 60);
   bpmValueLabel_->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
 
-  InitUILabel(bpmUnitLabel_, ECG_BPM_X + ECG_BPM_W_TWO_DIGIT + ECG_BPM_UNIT_GAP, ECG_BPM_UNIT_Y, 72, 30,
-              "ecg_result_bpm_unit", "", DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_TIMES_PER_MIN); bpmUnitLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(bpmUnitLabel_, ECG_BPM_X + ECG_BPM_W_TWO_DIGIT + ECG_BPM_UNIT_GAP, ECG_BPM_UNIT_Y, 72, 30,
+               "ecg_result_bpm_unit", STR_TIMES_PER_MIN, DEFAULT_VECTOR_FONT_FILENAME, 30);
 
   bpmUnitLabel_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
   bpmUnitLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
   InitUILabel(resultLabel_, 0, 50, 466, 35, "ecg_result_type", "",
               DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_SINUS_RHYTHM); resultLabel_->SetText(_uiStrTmp.GetText()); } while(0);
   resultLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-  InitUILabel(noteLabel_, 0, 412, 466, 35, "ecg_result_note", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_RESULT_REF); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(noteLabel_, 0, 412, 466, 35, "ecg_result_note", STR_BP_RESULT_REF,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   noteLabel_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
   noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-  InitLabelButton(confirmButton_, 93, 304, 280, 90, ECG_CLICK_CONFIRM, "", 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RE_MEAS); confirmButton_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitButtonExt(confirmButton_, 93, 304, 280, 90, ECG_CLICK_CONFIRM, STR_RE_MEAS, 30);
   confirmButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
   confirmButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
   confirmButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(ECGMainPresenter::GetInstance()));
@@ -129,6 +125,7 @@ UIViewGroup *ECGMeasureResultView::InitView() {
   group_->Add(bpmValueLabel_);
   group_->Add(bpmUnitLabel_);
   group_->Add(resultLabel_);
+  group_->Add(noteLabel_);
   group_->Add(confirmButton_);
 
   UpdateText();
index e39b2d6..57b9f18 100644 (file)
@@ -186,9 +186,8 @@ UIViewGroup *ECGMeasuringView::InitView() {
   group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
   group_->SetOnDragListener(static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance()));
 
-  InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_measuring_title", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 30);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(titleLabel_, 0, 50, 466, 35, "ecg_measuring_title", STR_ECG,
+               DEFAULT_VECTOR_FONT_FILENAME, 30);
   titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
   InitChart();
@@ -200,9 +199,8 @@ UIViewGroup *ECGMeasuringView::InitView() {
               DEFAULT_VECTOR_FONT_FILENAME, 40);
   countdownLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
-  InitUILabel(hintLabel_, 53, 360, 360, 35, "ecg_measuring_hint", "",
-              DEFAULT_VECTOR_FONT_FILENAME, 26);
-  do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_FINGER_CONTACT); hintLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+  InitLabelExt(hintLabel_, 53, 360, 360, 35, "ecg_measuring_hint", STR_ECG_FINGER_CONTACT,
+               DEFAULT_VECTOR_FONT_FILENAME, 26);
   hintLabel_->SetTextColor(Color::GetColorFromRGBA(0xff, 0x3a, 0x3a, 0xff));
   hintLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
 
index 31fc5a2..bc5a21f 100644 (file)
@@ -24,6 +24,12 @@ struct ECGHistoryStorage {
   uint32_t count;
   ECGRecord records[ECG_HISTORY_MAX_COUNT];
 };
+
+static std::string GetResourceString(UIResourceTextId id) {
+  UILabelExt tmp;
+  tmp.SetTextId(id);
+  return std::string(tmp.GetText());
+}
 } // namespace
 
 ECGModel::ECGModel() { LoadData(); }
@@ -160,19 +166,19 @@ ECGResultType ECGModel::MapAfibToResultType(uint8_t afibResult) const {
 std::string ECGModel::GetAfibResultText(uint8_t afibResult) const {
   switch (afibResult) {
     case 0:
-      return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_SINUS_RHYTHM); return std::string(_uiStrTmp.GetText()); }());
+      return GetResourceString(STR_ECG_SINUS_RHYTHM);
     case 1:
-      return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_IRREGULAR); return std::string(_uiStrTmp.GetText()); }());
+      return GetResourceString(STR_ECG_IRREGULAR);
     case 2:
-      return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_AFIB_POSSIBLE); return std::string(_uiStrTmp.GetText()); }());
+      return GetResourceString(STR_ECG_AFIB_POSSIBLE);
     case 3:
-      return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_SIGNAL_INCONCLUSIVE); return std::string(_uiStrTmp.GetText()); }());
+      return GetResourceString(STR_ECG_SIGNAL_INCONCLUSIVE);
     case 4:
-      return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_HR_TOO_LOW); return std::string(_uiStrTmp.GetText()); }());
+      return GetResourceString(STR_ECG_HR_TOO_LOW);
     case 5:
-      return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_HR_TOO_HIGH); return std::string(_uiStrTmp.GetText()); }());
+      return GetResourceString(STR_ECG_HR_TOO_HIGH);
     default:
-      return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_INCONCLUSIVE); return std::string(_uiStrTmp.GetText()); }());
+      return GetResourceString(STR_ECG_INCONCLUSIVE);
   }
 }
 
@@ -183,12 +189,12 @@ ColorType ECGModel::GetAfibResultColor(uint8_t afibResult) const {
 std::string ECGModel::GetResultText(ECGResultType type) const {
   switch (type) {
     case ECGResultType::SINUS_RHYTHM:
-      return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_SINUS_RHYTHM); return std::string(_uiStrTmp.GetText()); }());
+      return GetResourceString(STR_ECG_SINUS_RHYTHM);
     case ECGResultType::ATRIAL_FIBRILLATION:
-      return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_AFIB_POSSIBLE); return std::string(_uiStrTmp.GetText()); }());
+      return GetResourceString(STR_ECG_AFIB_POSSIBLE);
     case ECGResultType::INCONCLUSIVE:
     default:
-      return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_INCONCLUSIVE); return std::string(_uiStrTmp.GetText()); }());
+      return GetResourceString(STR_ECG_INCONCLUSIVE);
   }
 }