Merge #1141 into sdk602patch0626 from refs/changes/1141/head 1140/target/2 1144/target/1 1146/target/1 1147/target/1
author胡传军 <1224667075@qq.com>
Thu, 10 Oct 2024 08:05:23 +0000 (08:05 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Thu, 10 Oct 2024 08:05:23 +0000 (08:05 +0000)
Code review from 胡传军

* refs/changes/1141/head: (6 commits squashed)

  - 计算器修改,解决double计算精度不够,导致计算出现多余小数位,#963

  - sos增加适配HFP呼叫,呼叫备注显示#933 #932

  - Merge branch &#39;sdk602patch0626&#39; of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into 0626

  - 计算器修改,改为删除仅删除一位 #905 目标同步修改 #921

  - 计算器修改 #962

  - 合并

Signed-off-by: aliyun8003852482 <1224667075@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/1141
code/sdk/application/wearable/fd230app/nativeui/calculator/include/CalculatorView.h
code/sdk/application/wearable/fd230app/nativeui/calculator/src/CalculatorView.cpp

index cee7cd0..a19cda1 100644 (file)
@@ -50,6 +50,7 @@ public:
     void show_hint_label(bool data);
     
     void show_long_label();
+    bool string_have_dot(std::string buf);
 
     osTimerId_t call_roll_timer=NULL;
     osTimerId_t call_roll_timer_move=NULL;
index fb90e38..ed4bb4e 100644 (file)
@@ -127,6 +127,7 @@ void CalculatorView::show_hint_label(bool data)
 void CalculatorView::show_long_label(void)
 {
    number->SetText(number_string.c_str());
+    number->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
 
    RootView::GetInstance()->Invalidate();
 }
@@ -178,16 +179,33 @@ void CalculatorView::start_call_roll_timer_move()
     }
 }
 
+bool CalculatorView::string_have_dot(std::string buf)
+{
+    for(int i=0;i<buf.length();i++)
+    {
+        if(buf.c_str()[i]=='.')
+        {
+            return true;
+        }
+    }
+    return false;
+}
 
 
 void CalculatorView::number_text_updata_buf(const char *buf)
 {
+  
     char new_buf[64]={0};
     const char*text_buf=NULL;
 
     if(number_falg!=1)
     number_string="";
 
+    if(buf[0]=='.' && string_have_dot(number_string))
+    {
+        return;
+    }
+
 
     if(number_string.length()>20)
     {
@@ -202,12 +220,14 @@ void CalculatorView::number_text_updata_buf(const char *buf)
     if(number_string.length()>12)
     {
         number->SetText(number_string.c_str()+number_string.length()-12);
+         number->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
         number_falg=1;
         RootView::GetInstance()->Invalidate();
         return;
     }
 
     number->SetText(number_string.c_str());
+     number->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
 
     number_falg=1;
 
@@ -236,6 +256,7 @@ void CalculatorView::symbol_text_updata_buf(const char *buf)
 
         number_string=new_buf;
         number->SetText(buf);
+         number->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
 
         RootView::GetInstance()->Invalidate();
         return;
@@ -261,6 +282,7 @@ void CalculatorView::symbol_text_updata_buf(const char *buf)
 
     number_string=new_buf;
     number->SetText(new_buf);
+     number->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
 
     RootView::GetInstance()->Invalidate();
     
@@ -341,6 +363,7 @@ void CalculatorView::symbol_text_updata_single_buf(const char *buf)
     }
         number_string=new_buf;
         number->SetText(new_buf);
+         number->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
         RootView::GetInstance()->Invalidate();
     }
     else if (buf[0]=='D')
@@ -350,6 +373,7 @@ void CalculatorView::symbol_text_updata_single_buf(const char *buf)
         text_buf[number_string.length()-1]='\0';
         number_string=text_buf;
         number->SetText(text_buf);
+         number->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
         if(number_falg==0)
         {
             CalculatorModel::GetInstance()->symbol_stack_pop();
@@ -443,6 +467,7 @@ void CalculatorView::symbol_text_updata_calculate_buf(const char *buf)
     number_string=new_buf;
 
     number->SetText(new_buf);
+     number->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
     RootView::GetInstance()->Invalidate();
 
 
@@ -532,7 +557,7 @@ bool CalculatorView::Label_init()
     number->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
     number->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
     number->SetRollSpeed(0);
-    number->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 50);
+    number->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, 50);
 
     // Add to rootView
     group->Add(number);