添加日历
authorhcj <1224667075@qq.com>
Thu, 12 Sep 2024 03:57:22 +0000 (11:57 +0800)
committerhcj <1224667075@qq.com>
Thu, 12 Sep 2024 03:57:22 +0000 (11:57 +0800)
140 files changed:
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h
code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h
code/sdk/application/wearable/fd230app/nativelauncher/include/UiConfig.h
code/sdk/application/wearable/fd230app/nativelauncher/include/ui_resource_string.h
code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp
code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp
code/sdk/application/wearable/fd230app/nativeui/calendar/include/CalendarModel.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/calendar/include/CalendarPresenter.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/calendar/include/CalendarView.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/calendar/src/CalendarModel.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/calendar/src/CalendarPresenter.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/calendar/src/CalendarView.cpp [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/applist_icon/calendar.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ar.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/az.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/cs.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/de.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/el.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/es.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fa.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fi.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fr.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/he.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hi.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hr.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/id.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/it.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ja.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ko.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ms.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/nl.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pl.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pt.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ro.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ru.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/sv.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/th.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/tr.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ui_resource_string.h
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uk.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uz.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/vi.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang
code/sdk/drivers/peripheral/slip/cat1Service/cat1_at_cmd.cpp
code/sdk/drivers/peripheral/utils/custom_utils_at_cmd.c
tools/language_tool/Language_xml/input_list_ar.txt
tools/language_tool/Language_xml/input_list_az.txt
tools/language_tool/Language_xml/input_list_cs.txt
tools/language_tool/Language_xml/input_list_de.txt
tools/language_tool/Language_xml/input_list_el.txt
tools/language_tool/Language_xml/input_list_en.txt
tools/language_tool/Language_xml/input_list_es.txt
tools/language_tool/Language_xml/input_list_fa.txt
tools/language_tool/Language_xml/input_list_fi.txt
tools/language_tool/Language_xml/input_list_fr.txt
tools/language_tool/Language_xml/input_list_he.txt
tools/language_tool/Language_xml/input_list_hi.txt
tools/language_tool/Language_xml/input_list_hr.txt
tools/language_tool/Language_xml/input_list_id.txt
tools/language_tool/Language_xml/input_list_it.txt
tools/language_tool/Language_xml/input_list_ja.txt
tools/language_tool/Language_xml/input_list_ko.txt
tools/language_tool/Language_xml/input_list_ms.txt
tools/language_tool/Language_xml/input_list_nl.txt
tools/language_tool/Language_xml/input_list_pl.txt
tools/language_tool/Language_xml/input_list_pt.txt
tools/language_tool/Language_xml/input_list_ro.txt
tools/language_tool/Language_xml/input_list_ru.txt
tools/language_tool/Language_xml/input_list_sv.txt
tools/language_tool/Language_xml/input_list_th.txt
tools/language_tool/Language_xml/input_list_tr.txt
tools/language_tool/Language_xml/input_list_uk.txt
tools/language_tool/Language_xml/input_list_uz.txt
tools/language_tool/Language_xml/input_list_vi.txt
tools/language_tool/Language_xml/input_list_zh.txt
tools/language_tool/Language_xml/language_ar.xml
tools/language_tool/Language_xml/language_az.xml
tools/language_tool/Language_xml/language_cs.xml
tools/language_tool/Language_xml/language_custom.xlsx
tools/language_tool/Language_xml/language_de.xml
tools/language_tool/Language_xml/language_el.xml
tools/language_tool/Language_xml/language_en.xml
tools/language_tool/Language_xml/language_es.xml
tools/language_tool/Language_xml/language_fa.xml
tools/language_tool/Language_xml/language_fi.xml
tools/language_tool/Language_xml/language_fr.xml
tools/language_tool/Language_xml/language_he.xml
tools/language_tool/Language_xml/language_hi.xml
tools/language_tool/Language_xml/language_hr.xml
tools/language_tool/Language_xml/language_id.xml
tools/language_tool/Language_xml/language_it.xml
tools/language_tool/Language_xml/language_ja.xml
tools/language_tool/Language_xml/language_ko.xml
tools/language_tool/Language_xml/language_ms.xml
tools/language_tool/Language_xml/language_nl.xml
tools/language_tool/Language_xml/language_pl.xml
tools/language_tool/Language_xml/language_pt.xml
tools/language_tool/Language_xml/language_ro.xml
tools/language_tool/Language_xml/language_ru.xml
tools/language_tool/Language_xml/language_sv.xml
tools/language_tool/Language_xml/language_th.xml
tools/language_tool/Language_xml/language_tr.xml
tools/language_tool/Language_xml/language_uk.xml
tools/language_tool/Language_xml/language_uz.xml
tools/language_tool/Language_xml/language_vi.xml
tools/language_tool/Language_xml/language_zh.xml
tools/language_tool/Language_xml/~$language_custom.xlsx [new file with mode: 0644]
tools/language_tool/font/ar.lang
tools/language_tool/font/az.lang
tools/language_tool/font/cs.lang
tools/language_tool/font/de.lang
tools/language_tool/font/el.lang
tools/language_tool/font/en.lang
tools/language_tool/font/es.lang
tools/language_tool/font/fa.lang
tools/language_tool/font/fi.lang
tools/language_tool/font/fr.lang
tools/language_tool/font/he.lang
tools/language_tool/font/hi.lang
tools/language_tool/font/hr.lang
tools/language_tool/font/id.lang
tools/language_tool/font/it.lang
tools/language_tool/font/ja.lang
tools/language_tool/font/ko.lang
tools/language_tool/font/ms.lang
tools/language_tool/font/nl.lang
tools/language_tool/font/pl.lang
tools/language_tool/font/pt.lang
tools/language_tool/font/ro.lang
tools/language_tool/font/ru.lang
tools/language_tool/font/sv.lang
tools/language_tool/font/th.lang
tools/language_tool/font/tr.lang
tools/language_tool/font/ui_resource_string.h
tools/language_tool/font/uk.lang
tools/language_tool/font/uz.lang
tools/language_tool/font/vi.lang
tools/language_tool/font/zh.lang

index f2556e4..c7664b8 100644 (file)
@@ -59,7 +59,9 @@ set(PRIVATE_HEADER
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/include/AlipayList
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/include/AlipayTrans
     
-    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/calculator/include   
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/calculator/include
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/calendar/include    
+     
     
     ${UI_SAMPLE_ROOT}/components
     ${CMAKE_CURRENT_SOURCE_DIR}/../service/smart_voice/smart_voice_service/interfaces/innerkits/native_c/include
@@ -771,6 +773,12 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/calculator/src/CalculatorView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/calculator/src/CalculatorPresenter.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/calculator/src/CalculatorModel.cpp
+
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/calendar/src/CalendarView.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/calendar/src/CalendarPresenter.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/calendar/src/CalendarModel.cpp
+
+    
 )
 
 
index 200735a..eb8881a 100644 (file)
@@ -136,6 +136,7 @@ typedef enum : uint16_t
     VIEW_MAIN_ALIPAY,
 #endif
     /*请在最末添加新的viewID*/
+    VIEW_CALENDAR,        //日历
     VIEW_SAFE_MODE,           // 安全模式
     VIEW_MAX_INTER_APP,       // 在此之前添加native应用ID.
     VIEW_EXTERN_APP = 0xFFFE, // 三方应用
index f267a25..d118988 100644 (file)
@@ -126,6 +126,8 @@ namespace OHOS
         void InitDialingMethodSlice(void);
         /* -------------------------------------------------------------------------- */
         void InitCalculatorSlice(void);
+        void InintCalendarSlice(void);
+        
         void InitScheduleSlice(void);
         void InitSleepModeSlice(void);
         void InittestSlice(void);
index 2005915..4857e86 100644 (file)
@@ -319,6 +319,8 @@ namespace OHOS
     static constexpr const char *PNG_APPLIST_MUSIC_IMAGE = APP_LIST_PATH "/music.bin";              // 音乐
     static constexpr const char *PNG_APPLIST_SCHEDULE_IMAGE = APP_LIST_PATH "/schedule.bin";
     static constexpr const char *PNG_APPLIST_SMART_IMAGE = APP_LIST_PATH "/smart.bin";              //语音助手
+    static constexpr const char *PNG_APPLIST_CALENDAR_IMAGE = APP_LIST_PATH "/calendar.bin";              //日历
+  
     // AppList hexagon icon
     static constexpr const char *PNG_APPLIST_DEFAULT_IMG = APP_RES_PATH "/regular_hexagon.bin";
     static constexpr const char *PNG_APPLIST_NOTSETUSE_IMG = APP_RES_PATH "/regular_hexagon_inverse.bin";
index 66bbfb5..7f60603 100644 (file)
@@ -577,7 +577,8 @@ enum UIResourceTextId : uint16_t {
     STR_DIAL_BROWSING_SPECIAL_EFFECTS = 564,\r
     STR_SET_TARGET = 565,\r
     STR_PWUWC = 566,\r
-    STR_MAX_ID = 567,\r
+    STR_CALENDAR = 567,\r
+    STR_MAX_ID = 568,\r
 }; // UIResourceTextId\r
 
 enum FontLanguageId : uint8_t {
index e5fcd4e..0d0d069 100644 (file)
 #include "calculator/include/CalculatorPresenter.h"
 #include "calculator/include/CalculatorView.h"
 
+
+#include "calendar/include/CalendarPresenter.h"
+#include "calendar/include/CalendarView.h"
+
+
 #include "system/include/SystemPresenter.h"
 #include "system/include/SystemView.h"
 
@@ -363,6 +368,7 @@ namespace OHOS
         {VIEW_DIALING_METHOD, &NativeLauncher::InitDialingMethodSlice},
         {VIEW_TEST, &NativeLauncher::InittestSlice},
         {VIEW_CALCULATOR, &NativeLauncher::InitCalculatorSlice},
+        {VIEW_CALENDAR, &NativeLauncher::InintCalendarSlice},
 
         /* -------------------------------------------------------------------------- */
         /* ----------------------------------- 训练 ----------------------------------- */
@@ -1005,6 +1011,18 @@ namespace OHOS
         NativeAbility::GetInstance().AddSliceProxy(VIEW_CALCULATOR, Calculatorview_);
     }
 
+     void NativeLauncher::InintCalendarSlice(void)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitCalculatorSlice");
+        SliceProxy *Calendarview_ = new AbilitySliceProxy<CalendarView, CalendarPresenter>;
+        if (Calendarview_ == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "VIEW_CALENDAR");
+            return;
+        }
+        NativeAbility::GetInstance().AddSliceProxy(VIEW_CALENDAR, Calendarview_);
+    }
+
     /* ----------------------------------- 电话 ----------------------------------- */
     void NativeLauncher::InitMainPhoneSlice(void)
     {
index d289be7..4116e47 100644 (file)
@@ -83,6 +83,7 @@ namespace OHOS
         {VIEW_MUSIC_PLAYER, PNG_APPLIST_MUSIC_IMAGE, PNG_APPLIST_MUSIC_IMAGE, PNG_APPLIST_DEFAULT_IMG, "音乐播放器", STR_MUSIC, nullptr},
         {VIEW_OFFLINEVOICE, PNG_APPLIST_SMART_IMAGE, PNG_APPLIST_SMART_IMAGE, PNG_APPLIST_DEFAULT_IMG, "语音助手", STR_VOICE_ASSISTANT, nullptr},
         {VIEW_SCHEDULE, PNG_APPLIST_SCHEDULE_IMAGE, PNG_APPLIST_SCHEDULE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "schedule", STR_SCHEDULE, nullptr},
+        {VIEW_CALENDAR, PNG_APPLIST_CALENDAR_IMAGE, PNG_APPLIST_CALENDAR_IMAGE, PNG_APPLIST_DEFAULT_IMG, "日历", STR_CALENDAR, nullptr},
         {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "设置", STR_SETTINGS, nullptr},
 #if 0
 /*屏蔽Slice*/
diff --git a/code/sdk/application/wearable/fd230app/nativeui/calendar/include/CalendarModel.h b/code/sdk/application/wearable/fd230app/nativeui/calendar/include/CalendarModel.h
new file mode 100644 (file)
index 0000000..144c820
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: CalendarModel.h
+ * Author:
+ * Create: 2021-10-12
+ */
+#ifndef CALENDAR_MODEL_H
+#define CALENDAR_MODEL_H
+
+#include "los_mux.h"
+#include "string"
+#include "PhoneService.h"
+#include "AppViewIDs.h"
+#include "components/ui_label_ext.h"
+#include"ui_resource_string.h"
+#include "message.h"
+#include "msg_center.h"
+#include "stack"
+
+namespace OHOS {
+
+
+class CalendarModel {
+public:
+    static CalendarModel *GetInstance(void);
+
+private:
+    CalendarModel();
+    CalendarModel(const CalendarModel &);
+    virtual ~CalendarModel();
+   
+};
+}
+#endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/calendar/include/CalendarPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/calendar/include/CalendarPresenter.h
new file mode 100644 (file)
index 0000000..cb95dc8
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: CalendarPresenter.h
+ * Author:
+ * Create: 2021-10-12
+ */
+
+#ifndef CALENDAR_PRESENTER_H
+#define CALENDAR_PRESENTER_H
+
+#include "Presenter.h"
+#include "ohos_types.h"
+#include "BaseView.h"
+#include "cmsis_os.h"
+#include "wearable_log.h"
+#include "UiConfig.h"
+#include "NativeAbility.h"
+
+namespace OHOS {
+class CalendarView;
+class CalendarPresenter : public Presenter<CalendarView>,
+                                public UIView::OnClickListener,
+                                public UIView::OnDragListener,
+                                public RootView::OnKeyActListener
+{
+public:
+    CalendarPresenter();
+    ~CalendarPresenter() override;
+
+    void OnStart() override;
+    void OnPause() override;
+    void OnResume() override;
+    void OnStop() override;
+    
+    static CalendarPresenter *GetInstance(void);
+    bool OnClick(UIView &view, const ClickEvent &event) override;
+    bool OnKeyAct(UIView &view, const KeyEvent &event) override;
+    bool OnDragEnd(UIView &view, const DragEvent &event) override;
+   
+   
+private:
+
+};
+}
+
+#endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/calendar/include/CalendarView.h b/code/sdk/application/wearable/fd230app/nativeui/calendar/include/CalendarView.h
new file mode 100644 (file)
index 0000000..188ee0e
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: CalculatorView.h
+ * Author:
+ * Create: 2021-10-12
+ */
+
+#ifndef CALENDAR_VIEW_H
+#define CALENDAR_VIEW_H
+
+#include "View.h"
+#include "BaseView.h"
+#include "components/ui_view_group.h"
+#include "components/ui_image_animator.h"
+#include "components/ui_scroll_view.h"
+#include "components/ui_label.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_label_button.h"
+#include "components/ui_list.h"
+#include "components/abstract_adapter.h"
+#include "components/ui_image_view.h"
+#include "CalendarPresenter.h"
+
+namespace OHOS {
+
+class CalendarView : public View<CalendarPresenter>
+{
+public:
+    CalendarView();
+    ~CalendarView();
+
+    void OnStop() override;
+    void OnSetUpView() override;
+    void OnTearDownView() override;
+    void OnStart() override;
+    static CalendarView *GetInstance();
+    bool updata_label(int8_t type);
+
+private:
+    bool Label_init();
+    UIViewGroup *group{nullptr};
+    UIView:: OnDragListener* dragListener{nullptr};
+    UILabel *mon_label{nullptr};
+    UILabel *week_label[7]{nullptr};
+    UILabel *day_label[31]{nullptr};
+    UIImageView *imageview{nullptr};
+    uint32_t show_y=0;
+    uint32_t show_m=0;
+    uint32_t show_d=0;
+};
+}
+
+#endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/calendar/src/CalendarModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/calendar/src/CalendarModel.cpp
new file mode 100644 (file)
index 0000000..74dd99e
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: CalendarModel.cpp
+ * Author:
+ * Create: 2021-10-12
+ */
+#include "DialingScreenView.h"
+
+#include "service_id_define.h"
+#include "cmsis_os.h"
+#include "samgr_lite.h"
+#include "CalendarModel.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+using namespace OHOS;
+
+CalendarModel::CalendarModel()
+{
+
+}
+
+CalendarModel::~CalendarModel()
+{
+
+}
+
+
+CalendarModel *CalendarModel::GetInstance(void)
+{
+    static CalendarModel callLogModel;
+    return &callLogModel;
+}
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/code/sdk/application/wearable/fd230app/nativeui/calendar/src/CalendarPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/calendar/src/CalendarPresenter.cpp
new file mode 100644 (file)
index 0000000..a14f3cb
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: CalendarPresenter.cpp
+ * Author:
+ * Create: 2021-10-12
+ */
+
+#include "calendar/include/CalendarView.h"
+#include "calendar/include/CalendarModel.h"
+#include "gfx_utils/mem_check.h"
+#include "common/key_code.h"
+#include "CalendarPresenter.h"
+#include "custom_utils.h"
+namespace OHOS {
+
+static CalendarPresenter *g_pMainView = nullptr;
+CalendarPresenter::CalendarPresenter()
+{
+    g_pMainView = this;
+#ifdef MEM_CHECK
+        MemCheck::GetInstance()->EnableLeakCheck(true);
+#endif
+}
+
+CalendarPresenter::~CalendarPresenter()
+{
+    g_pMainView = nullptr;
+#ifdef MEM_CHECK
+        MemCheck::GetInstance()->EnableLeakCheck(false);
+#endif
+}
+
+CalendarPresenter *CalendarPresenter::GetInstance(void)
+{
+    return g_pMainView;
+}
+
+void CalendarPresenter::OnStart()
+{
+    Presenter<CalendarView>::OnStart();
+}
+
+void CalendarPresenter::OnResume(void)
+{
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnResume()");
+    Presenter<CalendarView>::OnResume();
+
+    return;
+}
+
+void CalendarPresenter::OnPause(void) {}
+
+void CalendarPresenter::OnStop(void)
+{
+
+}
+
+
+bool CalendarPresenter::OnClick(UIView &view, const ClickEvent &event)
+{
+    UNUSED(event);
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnClick");
+  
+
+    return false;
+}
+
+bool CalendarPresenter::OnDragEnd(OHOS::UIView& view, const OHOS::DragEvent& event)
+{
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainCallingPresenter OnDragEnd");
+    if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)
+    { 
+        if(event.GetPreLastPoint().x-event.GetStartPoint().x>100) 
+        NativeAbility::GetInstance().Back();
+    }
+    if (event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP)
+    { 
+        //if(event.GetPreLastPoint().y-event.GetStartPoint().y>100) 
+        CalendarView::GetInstance()->updata_label(2);
+    }
+    if (event.GetDragDirection() == DragEvent::DIRECTION_TOP_TO_BOTTOM)
+    { 
+        //if(event.GetPreLastPoint().y-event.GetStartPoint().y>100) 
+         CalendarView::GetInstance()->updata_label(1);
+    }
+    return true;
+}
+
+bool CalendarPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
+{
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::OnKeyAct");
+    uint16 keyID = event.GetKeyId();
+    uint16_t keyState = event.GetState();
+    // 如果是power键就返回上一级
+    if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) &&  keyState == 1 && uapi_get_screen_state() == 0)
+    {
+        uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
+        NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
+    }
+    return true;
+
+}
+}
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/calendar/src/CalendarView.cpp b/code/sdk/application/wearable/fd230app/nativeui/calendar/src/CalendarView.cpp
new file mode 100644 (file)
index 0000000..80cc797
--- /dev/null
@@ -0,0 +1,362 @@
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: CalendarView.cpp
+ * Author:
+ * Create: 2021-10-12
+ */
+
+#include "calendar/include/CalendarView.h"
+#include "calendar/include/CalendarModel.h"
+
+#include "wearable_log.h"
+#include "UiConfig.h"
+#include "NativeAbility.h"
+
+namespace OHOS {
+
+static CalendarView *g_pMainView_CalendarView = nullptr;
+
+static char *dial_id_str[]={"7","8","9","C","%","4","5","6","÷","x","1","2","3","-","+","","0",".","=",""};
+
+
+CalendarView::CalendarView()
+{
+   // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "::CalendarView::CalendarView ");
+    g_pMainView_CalendarView = this;
+}
+
+CalendarView::~CalendarView()
+{
+   // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "::CalendarView::~CalendarView ");
+    RootView::GetInstance()->ClearOnKeyActListener();
+   
+
+    RootView::GetInstance()->ClearOnKeyActListener();
+    g_pMainView_CalendarView = nullptr;
+    group->RemoveAll();
+    if(mon_label)
+    {
+        delete mon_label;
+        mon_label =nullptr;
+    }
+
+    if(imageview)
+    {
+        delete imageview;
+        imageview =nullptr;
+    }
+
+    for(int i=0;i<7;i++)
+    {
+        if(week_label[i])
+        {
+            delete week_label[i];
+            week_label[i] =nullptr;
+        }
+    }
+
+     for(int i=0;i<31;i++)
+    {
+        if(day_label[i])
+        {
+            delete day_label[i];
+            day_label[i] =nullptr;
+        }
+    }
+    g_pMainView_CalendarView = nullptr;
+
+}
+
+CalendarView *CalendarView::GetInstance()
+{
+    return g_pMainView_CalendarView;
+}
+static char *week_str[]={"一","二","三","四","五","六","日"};
+// static char *day_str[]={"1","2","3","4","5","7","8"};
+
+bool CalendarView::updata_label(int8_t type)
+{
+    for(int i=0;i<31;i++)
+    {
+        day_label[i]->SetVisible(false);
+    }
+    imageview->SetVisible(false);
+
+    if(type==1)
+    {
+        show_m--;
+        if(show_m==0)
+        {
+            show_m=12;
+            show_y--;
+        }
+    }
+    else
+    {
+        show_m++;
+        if(show_m==13)
+        {
+            show_m=1;
+            show_y++;
+        }
+    }
+    uint8_t mon_max_day=0;
+    uint8_t is_run=0;
+    if (show_y % 4 == 0 && show_y % 100 != 0 || show_y % 400 == 0)
+    {
+        is_run=1;
+    }
+    if(show_m==2)
+    {
+        mon_max_day=28+is_run;
+    }
+    else if (show_m==1||show_m==3||show_m==5 ||show_m==7||show_m== 8||show_m==10||show_m==12)
+    {
+        mon_max_day=31;
+    }
+    else
+    {
+        mon_max_day=30;
+    }
+    int y=show_y;
+    int m=show_m;
+    int week=0;
+    {
+        if(m == 1||m == 2) {
+        m += 12;
+        y--;
+        }
+        week = (1+2*m+3*(m+1)/5+ y +y/4-y/100+y/400)%7;
+    }
+
+    char mon[20]={0};
+    sprintf(mon,"%d.%d",show_y,show_m);
+    mon_label->SetText(mon);
+
+    for(int i=0;i<mon_max_day;i++)
+    {
+        int x=((i+week)%7);
+        int y=((i+week)/7);
+        day_label[i]->SetPosition(58+50*x, 140+44*y);         // widget's left position and top position
+        char day[5];
+        sprintf(day,"%d",i+1);;
+        day_label[i]->SetText(day);
+        time_t currtime;
+        time(&currtime);
+        struct tm *timeinfo;
+        timeinfo = localtime(&currtime);
+        int y_=timeinfo->tm_year+ 1900;
+        int m_=timeinfo->tm_mon+1;
+        int d_=timeinfo->tm_mday;
+        if(i+1==d_ && show_y==y_ && show_m==m_)
+        {
+            imageview->SetPosition(58+50*x, 140+44*y);      
+            imageview->SetVisible(true);
+        }
+        day_label[i]->SetVisible(true);
+    }
+    RootView::GetInstance()->Invalidate();
+    return true;
+
+}
+bool CalendarView::Label_init()
+{
+    // Add Label to App
+    uint8_t mon_max_day=0;
+
+    uint8_t is_run=0;
+    time_t currtime;
+    time(&currtime);
+    struct tm *timeinfo;
+    timeinfo = localtime(&currtime);
+    int y=timeinfo->tm_year+ 1900;
+    int m=timeinfo->tm_mon+1;
+    int d=timeinfo->tm_mday;
+    int h=timeinfo->tm_hour;
+    int min=timeinfo->tm_min;
+    int week=timeinfo->tm_wday;
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d,%d,%d,%d",y,m,d,week);
+    if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)//
+    {
+        is_run=1;
+    }
+    if(m==2)
+    {
+        mon_max_day=28+is_run;
+    }
+    else if (m==1||m==3||m==5 ||m==7||m== 8||m==10||m==12)
+    {
+        mon_max_day=31;
+
+    }
+    else
+    {
+        mon_max_day=30;
+    }
+    show_y=y;
+    show_m=m;
+    show_d=d;
+   
+    if (mon_label == nullptr) {
+        mon_label = new UILabel();
+    }
+    mon_label->SetPosition(83, 50);         // widget's left position and top position
+    mon_label->Resize(300, 35);          // widget's width and height
+    mon_label->SetViewId("label1");// Set style
+    mon_label->SetStyle(STYLE_TEXT_FONT, 30);
+
+    char mon[20]={0};
+    sprintf(mon,"%d.%d",y,m);
+
+    if(m == 1||m == 2) {
+    m += 12;
+    y--;
+    }
+    week = (1+2*m+3*(m+1)/5+ y +y/4-y/100+y/400)%7;
+
+    mon_label->SetText(mon);
+    mon_label->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+    mon_label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+    mon_label->SetRollSpeed(0);
+    mon_label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+
+    // Add to rootView
+    group->Add(mon_label);
+
+    for(int i=0;i<7;i++)
+    {
+        if (week_label[i] == nullptr) {
+        week_label[i] = new UILabel();
+        }
+        week_label[i]->SetPosition(58+50*(i), 110);         // widget's left position and top position
+        week_label[i]->Resize(50, 30);          // widget's width and height
+        week_label[i]->SetViewId("label3");// Set style
+        week_label[i]->SetStyle(STYLE_TEXT_FONT, 20);
+       
+        week_label[i]->SetText(week_str[i]);
+        week_label[i]->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+        week_label[i]->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));
+        week_label[i]->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+        week_label[i]->SetRollSpeed(0);
+        week_label[i]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 20);
+
+        group->Add( week_label[i]);
+        week_label[i]->SetVisible(true);
+    }
+    // Add Label to App
+  
+    for(int i=0;i<31;i++)
+    {
+        if (day_label[i] == nullptr) {
+        day_label[i] = new UILabel();
+        }
+        day_label[i]->SetVisible(false);
+    }
+    
+    for(int i=0;i<mon_max_day;i++)
+    {
+        int x=((i+week)%7);
+        int y=((i+week)/7);
+
+        day_label[i]->SetPosition(58+50*x, 140+44*y);         // widget's left position and top position
+        day_label[i]->Resize(50, 44);          // widget's width and height
+        day_label[i]->SetViewId("label3");// Set style
+        day_label[i]->SetStyle(STYLE_TEXT_FONT, 20);
+
+        char day[5];
+        sprintf(day,"%d",i+1);;
+        day_label[i]->SetText(day);
+
+        if(i+1==d)
+        {
+            if (imageview == nullptr) {
+                imageview = new UIImageView();
+            }
+            imageview->SetPosition(58+50*x, 140+44*y);      
+            imageview->Resize(50, 50);      
+            imageview->SetViewId("image1");
+            imageview->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
+            imageview->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+            imageview->SetStyle(STYLE_BORDER_RADIUS, 100);
+            group->Add(imageview);
+            imageview->SetVisible(true);
+        }
+       
+
+        day_label[i]->SetStyle(STYLE_BORDER_RADIUS, 100);
+
+        day_label[i]->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
+        day_label[i]->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+        day_label[i]->SetRollSpeed(0);
+        day_label[i]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+
+        group->Add( day_label[i]);
+        day_label[i]->SetVisible(true);
+    }
+   
+    return true;
+}
+
+void CalendarView::OnStart()
+{
+    View<CalendarPresenter>::OnStart();
+    
+    RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::CalendarPresenter::GetInstance();
+    RootView::GetInstance()->SetOnKeyActListener(keyactListener);
+
+    group = new UIViewGroup();
+    if (group == nullptr) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallingView::UIViewGroup::new group error");
+        return ;
+    }
+    group->SetPosition(0, 0);
+    group->Resize(VERTICAL_RESOLUTION, HORIZONTAL_RESOLUTION); // 454 : value
+    group->SetTouchable(true);
+    group->SetDraggable(true);
+    
+    dragListener = (UIView::OnDragListener*)OHOS::CalendarPresenter::GetInstance();
+    if (dragListener == nullptr) {
+
+        return;
+    }
+    group->SetOnDragListener(dragListener);
+    
+    RootView::GetInstance()->Add(group);
+
+    if(!Label_init())
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallingView::UIViewGroup::new group error");
+        return;
+    }
+
+
+}
+
+
+
+void CalendarView::OnSetUpView()
+{
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CalendarView::OnSetUpView");
+    View<CalendarPresenter>::OnSetUpView();
+  
+    Draw();
+}
+
+
+void CalendarView::OnTearDownView()
+{
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CalendarView::~OnTearDownView");
+    View<CalendarPresenter>::OnTearDownView();
+    return;
+}
+
+void CalendarView::OnStop()
+{
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CalendarView::~OnStop");
+    View<CalendarPresenter>::OnStop();
+
+    RootView::GetInstance()->ClearOnKeyActListener();
+    RootView::GetInstance()->RemoveAll();
+    return;
+}
+}
\ No newline at end of file
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/applist_icon/calendar.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/applist_icon/calendar.bin
new file mode 100644 (file)
index 0000000..8ee54e7
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2cd16aa91b91dd15f5ffb21fe22c5ddb56ffaf06482650b376ca91ad5843262d
+size 5544
index f22ecff..a2629a2 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ar.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ar.lang differ
index 4baca88..18c2706 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/az.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/az.lang differ
index c0ae149..41ad634 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/cs.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/cs.lang differ
index 6c0a2d1..9c3e76f 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/de.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/de.lang differ
index 844603c..2c0a60f 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/el.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/el.lang differ
index 88b76ee..9b9e524 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang differ
index ec1b1c1..3124b85 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/es.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/es.lang differ
index ebfd519..a98cb6c 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fa.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fa.lang differ
index e376b47..5d796fe 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fi.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fi.lang differ
index 77473c0..a390261 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fr.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fr.lang differ
index 723c7be..5932db6 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/he.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/he.lang differ
index 0b71767..ecdef25 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hi.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hi.lang differ
index b201ebc..acfb16d 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hr.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hr.lang differ
index 1a71755..c130345 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/id.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/id.lang differ
index d49ac4b..2ab0906 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/it.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/it.lang differ
index fdc291a..611219c 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ja.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ja.lang differ
index f4cd3ce..e7d0887 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ko.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ko.lang differ
index 327f7a5..82d2631 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ms.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ms.lang differ
index ae99773..329fb40 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/nl.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/nl.lang differ
index 65e14a1..236635e 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pl.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pl.lang differ
index 923b4c0..69cc204 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pt.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pt.lang differ
index 08307ed..6ead127 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ro.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ro.lang differ
index da3f84d..c183fda 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ru.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ru.lang differ
index 8abc986..ad69aa1 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/sv.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/sv.lang differ
index d87a3b4..036f813 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/th.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/th.lang differ
index 1932ec1..44c3ff7 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/tr.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/tr.lang differ
index 66bbfb5..7f60603 100644 (file)
@@ -577,7 +577,8 @@ enum UIResourceTextId : uint16_t {
     STR_DIAL_BROWSING_SPECIAL_EFFECTS = 564,\r
     STR_SET_TARGET = 565,\r
     STR_PWUWC = 566,\r
-    STR_MAX_ID = 567,\r
+    STR_CALENDAR = 567,\r
+    STR_MAX_ID = 568,\r
 }; // UIResourceTextId\r
 
 enum FontLanguageId : uint8_t {
index 536b5a6..2062e60 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uk.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uk.lang differ
index bb9d319..3a5da1c 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uz.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uz.lang differ
index 7f22d53..4230c4e 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/vi.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/vi.lang differ
index 06d62a7..2c630bb 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang differ
index f88004f..03cf2be 100644 (file)
@@ -310,8 +310,29 @@ static uint32_t read_ADDRESS(uint8_t *para, uint32_t paraLen, char *strCommonCmd
     return ERRCODE_SUCC;
 }
 
+#include "audio_manager_c_wrapper.h"
 
+static uint32_t VoiceCallSetVolume(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+    UNUSED(strCommonCmd);
+    uint8_t argv[PPG_MAX_ARGC][PPG_MAX_ARGV_LEN] = { 0 };
+    uint32_t argc = 0;
 
+    int ret = ConvertCmdToParam(para, paraLen, argv, &argc);
+    if (ret != PPG_SUCCESS) {
+        printf("CAT1TEST ATCMD Convert Command Failed\n");
+        return ERRCODE_FAIL;
+    }
+
+    int32_t linearVolume = atoi((char *)argv[0]);
+     ret = AudioManagerSetVolume(AUDIO_STREAM_VOICE_CALL_VOLTE, linearVolume);
+    if (ret != 0) {
+        printf("SetVolume:%d failed", linearVolume);
+        return -1;
+    }
+    printf("SetVolume:%d success", linearVolume);
+    return 0;
+}
 
 
 
@@ -332,8 +353,7 @@ static const at_cmd_table_t g_cat1_cmd[] = {
        { (char *)"AT^CALL_1",      AT_CALL_ifconfig, (char *)"1" },
     { (char *)"AT^CALL_ADD_ADRESSBOOK",      ADD_ADDRESS, (char *)"1" },
     { (char *)"AT^CALL_READ_ADRESSBOOK",      read_ADDRESS, (char *)"1" },
-
-  
+    { (char *)"AT^CALLVOLUME",      VoiceCallSetVolume, (char *)"1" },
 
 };
 
index 24ee9db..7c5b699 100644 (file)
@@ -1035,6 +1035,7 @@ static uint32_t PBAP_LS(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
 #include "bletest.h"
 #include "dial_sos_c.h"
 #include "battery_service.h"
+#include "cywee_hal.h"
 
 static uint32_t BLE_TEST(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
 {
@@ -1088,6 +1089,9 @@ static uint32_t BLE_TEST(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
     case 11:
         low_power_play_toUI(atoi( (char *)argv[1]));
         break;
+    case 12:
+        set_step_data(atoi( (char *)argv[1]));
+        break;
         
     default:
         break;
index 6e5adc6..729946b 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$تدفق الغطاء
 STR_ROLLER$الأسطوانة\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$تأثيرات تصفح وجه الساعة\r
 STR_SET_TARGET$تعيين الأهداف >\r
-STR_PWUWC$يرجى ارتداء الساعة بشكل صحيح والبقاء ساكناً.
\ No newline at end of file
+STR_PWUWC$يرجى ارتداء الساعة بشكل صحيح والبقاء ساكناً.\r
+STR_CALENDAR$التقويم
\ No newline at end of file
index 7183149..43255e5 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Qapaq axını
 STR_ROLLER$Silindr\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Saat üzümlərinin baxış effektləri\r
 STR_SET_TARGET$Məqsəd təyin edin>\r
-STR_PWUWC$Zəhmət olmasa, saatı düzgün taxın və hərəkətsiz qalın
\ No newline at end of file
+STR_PWUWC$Zəhmət olmasa, saatı düzgün taxın və hərəkətsiz qalın\r
+STR_CALENDAR$Təqvim
\ No newline at end of file
index 3476bd2..f61618c 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Příkaz pokrytí
 STR_ROLLER$válce\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Efekty prohlížení ciferníku\r
 STR_SET_TARGET$Nastavit cíl>\r
-STR_PWUWC$Proszím, noste hodinky správně a zůstaňte v klidu.
\ No newline at end of file
+STR_PWUWC$Proszím, noste hodinky správně a zůstaňte v klidu.\r
+STR_CALENDAR$Kalendář
\ No newline at end of file
index 6e5693d..281cbb3 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Überlagerungsfluss
 STR_ROLLER$Walze\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Zifferblatt-Browsing-Spezialeffekte\r
 STR_SET_TARGET$Einstellungsziel>\r
-STR_PWUWC$Bitte tragen Sie die Uhr richtig und bleiben Sie still.
\ No newline at end of file
+STR_PWUWC$Bitte tragen Sie die Uhr richtig und bleiben Sie still.\r
+STR_CALENDAR$Kalender
\ No newline at end of file
index 597f913..689c141 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Ροή κάλυψης
 STR_ROLLER$κύλινδροι\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Εφέ περιήγησης προσώπου\r
 STR_SET_TARGET$Ρύθμιση στόχου>\r
-STR_PWUWC$Παρακαλώ φορέστε σωστά το ρολόι και παραμείνετε ακίνητοι.
\ No newline at end of file
+STR_PWUWC$Παρακαλώ φορέστε σωστά το ρολόι και παραμείνετε ακίνητοι.\r
+STR_CALENDAR$Ημερολόγιο
\ No newline at end of file
index 9e55522..15064f0 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Overlay flow
 STR_ROLLER$Roller\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Dial browsing special effects\r
 STR_SET_TARGET$Set target>\r
-STR_PWUWC$Please wear the watch correctly and remain still.
\ No newline at end of file
+STR_PWUWC$Please wear the watch correctly and remain still.\r
+STR_CALENDAR$calendar
\ No newline at end of file
index f0c0f89..a32023b 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Flujo de superposición
 STR_ROLLER$Tambor\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Efectos especiales de navegación del dial\r
 STR_SET_TARGET$Objetivo de configuración>\r
-STR_PWUWC$Por favor, use el reloj correctamente y manténgase quieto.
\ No newline at end of file
+STR_PWUWC$Por favor, use el reloj correctamente y manténgase quieto.\r
+STR_CALENDAR$calendario
\ No newline at end of file
index d9da1c7..8e804a9 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$جریان پوششی
 STR_ROLLER$استوانه\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$اثرات مرور صفحه نمایش\r
 STR_SET_TARGET$هدف را تنظیم کنید >\r
-STR_PWUWC$لطفاً ساعت را به درستی بپوشید و بی‌حرکت بمانید.
\ No newline at end of file
+STR_PWUWC$لطفاً ساعت را به درستی بپوشید و بی‌حرکت بمانید.\r
+STR_CALENDAR$تقویم
\ No newline at end of file
index b0a5347..8bb3e04 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Peittävä virta
 STR_ROLLER$Rullaus\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Kellotaulun selailuefektit\r
 STR_SET_TARGET$Aseta tavoitteet >\r
-STR_PWUWC$Ole hyvä ja käytä kelloa oikein ja pysy paikallaan.
\ No newline at end of file
+STR_PWUWC$Ole hyvä ja käytä kelloa oikein ja pysy paikallaan.\r
+STR_CALENDAR$Kalenteri
\ No newline at end of file
index 513b4bc..9ae2ada 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Flux de recouvrement
 STR_ROLLER$Cylindre\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Effets de navigation du cadran\r
 STR_SET_TARGET$Définir l'objectif>\r
-STR_PWUWC$Veuillez porter correctement la montre et rester immobile.
\ No newline at end of file
+STR_PWUWC$Veuillez porter correctement la montre et rester immobile.\r
+STR_CALENDAR$Calendrier
\ No newline at end of file
index ee399b1..d52f962 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$כיסוי זרם
 STR_ROLLER$גליל\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$אפקטי דפדוף של שעון\r
 STR_SET_TARGET$הגדיר מטרה>\r
-STR_PWUWC$אנא לבש את השעון נכון ושמור על שקט
\ No newline at end of file
+STR_PWUWC$אנא לבש את השעון נכון ושמור על שקט\r
+STR_CALENDAR$לוח שנה
\ No newline at end of file
index fa8fc0c..602ad51 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$ओवरले स्ट्रीम
 STR_ROLLER$रोलर\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$डायल ब्राउज़िंग प्रभाव\r
 STR_SET_TARGET$लक्ष्य सेट करें>\r
-STR_PWUWC$कृपया घड़ी को सही तरीके से पहनें और स्थिर रहें।
\ No newline at end of file
+STR_PWUWC$कृपया घड़ी को सही तरीके से पहनें और स्थिर रहें।\r
+STR_CALENDAR$तिथिपत्री
\ No newline at end of file
index cbb0cdd..1136e71 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Preklapanje toka
 STR_ROLLER$Bubanj\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Specijalni efekti pregleda sata\r
 STR_SET_TARGET$Cilj podešavanja>\r
-STR_PWUWC$Molimo vas, nosite sat ispravno i ostanite mirni.
\ No newline at end of file
+STR_PWUWC$Molimo vas, nosite sat ispravno i ostanite mirni.\r
+STR_CALENDAR$Kalendar
\ No newline at end of file
index c4d1ffb..a130eb9 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Aliran penutup
 STR_ROLLER$Rol\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Efek penjelajahan dial\r
 STR_SET_TARGET$Atur tujuan>\r
-STR_PWUWC$Silakan kenakan jam dengan benar dan tetap diam.
\ No newline at end of file
+STR_PWUWC$Silakan kenakan jam dengan benar dan tetap diam.\r
+STR_CALENDAR$Kalender
\ No newline at end of file
index 04168ad..9db2075 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Flusso di copertura
 STR_ROLLER$Cilindro\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Effetti di navigazione del quadrante\r
 STR_SET_TARGET$Imposta obiettivo>\r
-STR_PWUWC$Si prega di indossare correttamente l'orologio e di rimanere fermo.
\ No newline at end of file
+STR_PWUWC$Si prega di indossare correttamente l'orologio e di rimanere fermo.\r
+STR_CALENDAR$Calendario
\ No newline at end of file
index 337d201..c3dc115 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$オーバーレイフロー
 STR_ROLLER$ドラム\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$文字盤閲覧エフェクト\r
 STR_SET_TARGET$設定目標>\r
-STR_PWUWC$正しく時計を着用し、静止してください。
\ No newline at end of file
+STR_PWUWC$正しく時計を着用し、静止してください。\r
+STR_CALENDAR$暦
\ No newline at end of file
index 87a32ba..62710a4 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$오버레이 흐름
 STR_ROLLER$드럼\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$다이얼 브라우징 특수효과\r
 STR_SET_TARGET$설정 목표>\r
-STR_PWUWC$시계를 올바르게 착용하고 가만히 있어 주세요.
\ No newline at end of file
+STR_PWUWC$시계를 올바르게 착용하고 가만히 있어 주세요.\r
+STR_CALENDAR$일력
\ No newline at end of file
index bf166d2..669e691 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Aliran Penutupan
 STR_ROLLER$Gelendong\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Kesan Pelayaran Paparan Jam\r
 STR_SET_TARGET$Tetapkan Sasaran>\r
-STR_PWUWC$Koa mu'ula to hia sio sa hao'ana e malaw.
\ No newline at end of file
+STR_PWUWC$Koa mu'ula to hia sio sa hao'ana e malaw.\r
+STR_CALENDAR$Kalendar
\ No newline at end of file
index 649122a..eb2b748 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Dekstroom
 STR_ROLLER$Cilinder\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Navigatie-effecten van de wijzerplaat\r
 STR_SET_TARGET$Doel instellen>\r
-STR_PWUWC$Draag alstublieft het horloge correct en blijf stil.
\ No newline at end of file
+STR_PWUWC$Draag alstublieft het horloge correct en blijf stil.\r
+STR_CALENDAR$Agenda
\ No newline at end of file
index 1dd6625..3bbb10f 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Przepływ pokrycia
 STR_ROLLER$Walec\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Efek przeglądania tarczy zegarka\r
 STR_SET_TARGET$Ustaw cel>\r
-STR_PWUWC$Proszę nosić zegarek poprawnie i pozostać w bezruchu.
\ No newline at end of file
+STR_PWUWC$Proszę nosić zegarek poprawnie i pozostać w bezruchu.\r
+STR_CALENDAR$Kalendarz
\ No newline at end of file
index 99cc4b5..b6e6b02 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Flux de sobreposição
 STR_ROLLER$Cilindro\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Efeitos de navegação do mostrador\r
 STR_SET_TARGET$Definir objetivo>\r
-STR_PWUWC$Por favor, use o relógio corretamente e permaneça parado.
\ No newline at end of file
+STR_PWUWC$Por favor, use o relógio corretamente e permaneça parado.\r
+STR_CALENDAR$Calendário
\ No newline at end of file
index 4766a63..2a455f1 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Flux de acoperire
 STR_ROLLER$Rulou\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Efecte de navigare a cadranului\r
 STR_SET_TARGET$Setează obiectivele >\r
-STR_PWUWC$Te rog să porți ceasul corect și să stai nemișcat.
\ No newline at end of file
+STR_PWUWC$Te rog să porți ceasul corect și să stai nemișcat.\r
+STR_CALENDAR$Calendar
\ No newline at end of file
index 8388db7..74a9a17 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Наложение потока
 STR_ROLLER$Барабан\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Специальные эффекты просмотра циферблата\r
 STR_SET_TARGET$Цель настройки>\r
-STR_PWUWC$Пожалуйста, правильно носите часы и оставайтесь неподвижными.
\ No newline at end of file
+STR_PWUWC$Пожалуйста, правильно носите часы и оставайтесь неподвижными.\r
+STR_CALENDAR$календар
index 360bf51..794e1e5 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Täckflöde
 STR_ROLLER$Cylinder\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Bläddringseffekter för urtavla\r
 STR_SET_TARGET$Sätt mål>\r
-STR_PWUWC$Vänligen bär klockan korrekt och håll dig stilla
\ No newline at end of file
+STR_PWUWC$Vänligen bär klockan korrekt och håll dig stilla\r
+STR_CALENDAR$Kalender
\ No newline at end of file
index 29af245..1b715b4 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$กระแสปกคลุม
 STR_ROLLER$ลูกกลิ้ง\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$เอฟเฟกต์การเรียกดูหน้าปัดนาฬิกา\r
 STR_SET_TARGET$ตั้งเป้าหมาย>\r
-STR_PWUWC$กรุณาสวมใส่นาฬิกาให้ถูกต้องและนั่งนิ่งๆ
\ No newline at end of file
+STR_PWUWC$กรุณาสวมใส่นาฬิกาให้ถูกต้องและนั่งนิ่งๆ\r
+STR_CALENDAR$ปฏิทิน
\ No newline at end of file
index 29f815a..dee2270 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Kapatıcı akış
 STR_ROLLER$Silindir\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Kadran göz atma efektleri\r
 STR_SET_TARGET$Hedef ayarla >\r
-STR_PWUWC$Lütfen saati doğru takın ve hareketsiz kalın.
\ No newline at end of file
+STR_PWUWC$Lütfen saati doğru takın ve hareketsiz kalın.\r
+STR_CALENDAR$Takvim
\ No newline at end of file
index e6af497..1a94859 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Поток покриття
 STR_ROLLER$Каток\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Ефекти перегляду циферблату\r
 STR_SET_TARGET$Встановити мету>\r
-STR_PWUWC$Будь ласка, правильно носіть годинник і залишайтеся нерухомими
\ No newline at end of file
+STR_PWUWC$Будь ласка, правильно носіть годинник і залишайтеся нерухомими\r
+STR_CALENDAR$Календар
\ No newline at end of file
index 96733f5..19c4f08 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Qoplama oqimi
 STR_ROLLER$Silindr\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Soat dialsini ko‘rish effektlari\r
 STR_SET_TARGET$Maqsadni qo'yish>\r
-STR_PWUWC$Iltimos, soatni to'g'ri kiying va harakatsiz bo'ling
\ No newline at end of file
+STR_PWUWC$Iltimos, soatni to'g'ri kiying va harakatsiz bo'ling\r
+STR_CALENDAR$Kalendar
\ No newline at end of file
index c7b856c..b70d0ca 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$Dòng chảy bao phủ
 STR_ROLLER$Cuộn\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$Hiệu ứng duyệt mặt đồng hồ\r
 STR_SET_TARGET$Thiết lập mục tiêu>\r
-STR_PWUWC$Vui lòng đeo đồng hồ đúng cách và giữ yên.
\ No newline at end of file
+STR_PWUWC$Vui lòng đeo đồng hồ đúng cách và giữ yên.\r
+STR_CALENDAR$Lịch
\ No newline at end of file
index bda61fb..122750f 100644 (file)
@@ -564,4 +564,5 @@ STR_OVERLAY_FLOW$覆盖流
 STR_ROLLER$滚筒\r
 STR_DIAL_BROWSING_SPECIAL_EFFECTS$表盘浏览特效\r
 STR_SET_TARGET$设置目标>\r
-STR_PWUWC$请正确佩戴手表,并保持静止
\ No newline at end of file
+STR_PWUWC$请正确佩戴手表,并保持静止\r
+STR_CALENDAR$日历
\ No newline at end of file
index 96df869..116ee6e 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="تأثيرات تصفح وجه الساعة"/>
        <lanstr id="STR_SET_TARGET" value="تعيين الأهداف &gt;"/>
        <lanstr id="STR_PWUWC" value="يرجى ارتداء الساعة بشكل صحيح والبقاء ساكناً."/>
+       <lanstr id="STR_CALENDAR" value="التقويم"/>
 </language>
index 8a47055..a09aa7f 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Saat üzümlərinin baxış effektləri"/>
        <lanstr id="STR_SET_TARGET" value="Məqsəd təyin edin&gt;"/>
        <lanstr id="STR_PWUWC" value="Zəhmət olmasa, saatı düzgün taxın və hərəkətsiz qalın"/>
+       <lanstr id="STR_CALENDAR" value="Təqvim"/>
 </language>
index e79d526..e1ec29b 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Efekty prohlížení ciferníku"/>
        <lanstr id="STR_SET_TARGET" value="Nastavit cíl&gt;"/>
        <lanstr id="STR_PWUWC" value="Proszím, noste hodinky správně a zůstaňte v klidu."/>
+       <lanstr id="STR_CALENDAR" value="Kalendář"/>
 </language>
index 216add1..806a88f 100644 (file)
Binary files a/tools/language_tool/Language_xml/language_custom.xlsx and b/tools/language_tool/Language_xml/language_custom.xlsx differ
index 2d29999..3be47f3 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Zifferblatt-Browsing-Spezialeffekte"/>
        <lanstr id="STR_SET_TARGET" value="Einstellungsziel&gt;"/>
        <lanstr id="STR_PWUWC" value="Bitte tragen Sie die Uhr richtig und bleiben Sie still."/>
+       <lanstr id="STR_CALENDAR" value="Kalender"/>
 </language>
index fca40df..0cbeb8f 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Εφέ περιήγησης προσώπου"/>
        <lanstr id="STR_SET_TARGET" value="Ρύθμιση στόχου&gt;"/>
        <lanstr id="STR_PWUWC" value="Παρακαλώ φορέστε σωστά το ρολόι και παραμείνετε ακίνητοι."/>
+       <lanstr id="STR_CALENDAR" value="Ημερολόγιο"/>
 </language>
index 39feca1..a37b593 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Dial browsing special effects"/>
        <lanstr id="STR_SET_TARGET" value="Set target&gt;"/>
        <lanstr id="STR_PWUWC" value="Please wear the watch correctly and remain still."/>
+       <lanstr id="STR_CALENDAR" value="calendar"/>
 </language>
index 8f64e0b..a5351fc 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Efectos especiales de navegación del dial"/>
        <lanstr id="STR_SET_TARGET" value="Objetivo de configuración&gt;"/>
        <lanstr id="STR_PWUWC" value="Por favor, use el reloj correctamente y manténgase quieto."/>
+       <lanstr id="STR_CALENDAR" value="calendario"/>
 </language>
index f2e38ed..152538e 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="اثرات مرور صفحه نمایش"/>
        <lanstr id="STR_SET_TARGET" value="هدف را تنظیم کنید &gt;"/>
        <lanstr id="STR_PWUWC" value="لطفاً ساعت را به درستی بپوشید و بی‌حرکت بمانید."/>
+       <lanstr id="STR_CALENDAR" value="تقویم"/>
 </language>
index a56a5df..4a1e681 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Kellotaulun selailuefektit"/>
        <lanstr id="STR_SET_TARGET" value="Aseta tavoitteet &gt;"/>
        <lanstr id="STR_PWUWC" value="Ole hyvä ja käytä kelloa oikein ja pysy paikallaan."/>
+       <lanstr id="STR_CALENDAR" value="Kalenteri"/>
 </language>
index cc60232..9b1e0ae 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Effets de navigation du cadran"/>
        <lanstr id="STR_SET_TARGET" value="Définir l'objectif&gt;"/>
        <lanstr id="STR_PWUWC" value="Veuillez porter correctement la montre et rester immobile."/>
+       <lanstr id="STR_CALENDAR" value="Calendrier"/>
 </language>
index b76e024..18311ef 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="אפקטי דפדוף של שעון"/>
        <lanstr id="STR_SET_TARGET" value="הגדיר מטרה&gt;"/>
        <lanstr id="STR_PWUWC" value="אנא לבש את השעון נכון ושמור על שקט"/>
+       <lanstr id="STR_CALENDAR" value="לוח שנה"/>
 </language>
index dcf08f0..5f031c1 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="डायल ब्राउज़िंग प्रभाव"/>
        <lanstr id="STR_SET_TARGET" value="लक्ष्य सेट करें&gt;"/>
        <lanstr id="STR_PWUWC" value="कृपया घड़ी को सही तरीके से पहनें और स्थिर रहें।"/>
+       <lanstr id="STR_CALENDAR" value="तिथिपत्री"/>
 </language>
index 237802a..7a5510e 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Specijalni efekti pregleda sata"/>
        <lanstr id="STR_SET_TARGET" value="Cilj podešavanja&gt;"/>
        <lanstr id="STR_PWUWC" value="Molimo vas, nosite sat ispravno i ostanite mirni."/>
+       <lanstr id="STR_CALENDAR" value="Kalendar"/>
 </language>
index c4e59b1..41ef5a5 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Efek penjelajahan dial"/>
        <lanstr id="STR_SET_TARGET" value="Atur tujuan&gt;"/>
        <lanstr id="STR_PWUWC" value="Silakan kenakan jam dengan benar dan tetap diam."/>
+       <lanstr id="STR_CALENDAR" value="Kalender"/>
 </language>
index 62793e6..6877ac1 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Effetti di navigazione del quadrante"/>
        <lanstr id="STR_SET_TARGET" value="Imposta obiettivo&gt;"/>
        <lanstr id="STR_PWUWC" value="Si prega di indossare correttamente l'orologio e di rimanere fermo."/>
+       <lanstr id="STR_CALENDAR" value="Calendario"/>
 </language>
index f8db33c..882509b 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="文字盤閲覧エフェクト"/>
        <lanstr id="STR_SET_TARGET" value="設定目標>"/>
        <lanstr id="STR_PWUWC" value="正しく時計を着用し、静止してください。"/>
+       <lanstr id="STR_CALENDAR" value="暦"/>
 </language>
index f7528b6..c8c9efb 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="다이얼 브라우징 특수효과"/>
        <lanstr id="STR_SET_TARGET" value="설정 목표&gt;"/>
        <lanstr id="STR_PWUWC" value="시계를 올바르게 착용하고 가만히 있어 주세요."/>
+       <lanstr id="STR_CALENDAR" value="일력"/>
 </language>
index e1ce7c8..6be4590 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Kesan Pelayaran Paparan Jam"/>
        <lanstr id="STR_SET_TARGET" value="Tetapkan Sasaran&gt;"/>
        <lanstr id="STR_PWUWC" value="Koa mu'ula to hia sio sa hao'ana e malaw."/>
+       <lanstr id="STR_CALENDAR" value="Kalendar"/>
 </language>
index 349c598..7099902 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Navigatie-effecten van de wijzerplaat"/>
        <lanstr id="STR_SET_TARGET" value="Doel instellen&gt;"/>
        <lanstr id="STR_PWUWC" value="Draag alstublieft het horloge correct en blijf stil."/>
+       <lanstr id="STR_CALENDAR" value="Agenda"/>
 </language>
index a78cef0..5481454 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Efek przeglądania tarczy zegarka"/>
        <lanstr id="STR_SET_TARGET" value="Ustaw cel&gt;"/>
        <lanstr id="STR_PWUWC" value="Proszę nosić zegarek poprawnie i pozostać w bezruchu."/>
+       <lanstr id="STR_CALENDAR" value="Kalendarz"/>
 </language>
index ffc0c4c..b8db9ce 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Efeitos de navegação do mostrador"/>
        <lanstr id="STR_SET_TARGET" value="Definir objetivo&gt;"/>
        <lanstr id="STR_PWUWC" value="Por favor, use o relógio corretamente e permaneça parado."/>
+       <lanstr id="STR_CALENDAR" value="Calendário"/>
 </language>
index 7e396a3..078e30e 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Efecte de navigare a cadranului"/>
        <lanstr id="STR_SET_TARGET" value="Setează obiectivele &gt;"/>
        <lanstr id="STR_PWUWC" value="Te rog să porți ceasul corect și să stai nemișcat."/>
+       <lanstr id="STR_CALENDAR" value="Calendar"/>
 </language>
index 864a22b..e3af2e0 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Специальные эффекты просмотра циферблата"/>
        <lanstr id="STR_SET_TARGET" value="Цель настройки&gt;"/>
        <lanstr id="STR_PWUWC" value="Пожалуйста, правильно носите часы и оставайтесь неподвижными."/>
+       <lanstr id="STR_CALENDAR" value="календар"/>
 </language>
index b79ac9d..e990c7b 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Bläddringseffekter för urtavla"/>
        <lanstr id="STR_SET_TARGET" value="Sätt mål&gt;"/>
        <lanstr id="STR_PWUWC" value="Vänligen bär klockan korrekt och håll dig stilla"/>
+       <lanstr id="STR_CALENDAR" value="Kalender"/>
 </language>
index 8537909..d0ce028 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="เอฟเฟกต์การเรียกดูหน้าปัดนาฬิกา"/>
        <lanstr id="STR_SET_TARGET" value="ตั้งเป้าหมาย&gt;"/>
        <lanstr id="STR_PWUWC" value="กรุณาสวมใส่นาฬิกาให้ถูกต้องและนั่งนิ่งๆ"/>
+       <lanstr id="STR_CALENDAR" value="ปฏิทิน"/>
 </language>
index 1b962f1..725b964 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Kadran göz atma efektleri"/>
        <lanstr id="STR_SET_TARGET" value="Hedef ayarla &gt;"/>
        <lanstr id="STR_PWUWC" value="Lütfen saati doğru takın ve hareketsiz kalın."/>
+       <lanstr id="STR_CALENDAR" value="Takvim"/>
 </language>
index 73ad79a..24c62b3 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Ефекти перегляду циферблату"/>
        <lanstr id="STR_SET_TARGET" value="Встановити мету&gt;"/>
        <lanstr id="STR_PWUWC" value="Будь ласка, правильно носіть годинник і залишайтеся нерухомими"/>
+       <lanstr id="STR_CALENDAR" value="Календар"/>
 </language>
index 5b29828..16cfc1d 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Soat dialsini ko‘rish effektlari"/>
        <lanstr id="STR_SET_TARGET" value="Maqsadni qo'yish&gt;"/>
        <lanstr id="STR_PWUWC" value="Iltimos, soatni to'g'ri kiying va harakatsiz bo'ling"/>
+       <lanstr id="STR_CALENDAR" value="Kalendar"/>
 </language>
index 7940747..9689120 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Hiệu ứng duyệt mặt đồng hồ"/>
        <lanstr id="STR_SET_TARGET" value="Thiết lập mục tiêu&gt;"/>
        <lanstr id="STR_PWUWC" value="Vui lòng đeo đồng hồ đúng cách và giữ yên."/>
+       <lanstr id="STR_CALENDAR" value="Lịch"/>
 </language>
index f993589..49cbbd1 100644 (file)
        <lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="表盘浏览特效"/>
        <lanstr id="STR_SET_TARGET" value="设置目标&gt;"/>
        <lanstr id="STR_PWUWC" value="请正确佩戴手表,并保持静止"/>
+       <lanstr id="STR_CALENDAR" value="日历"/>
 </language>
diff --git a/tools/language_tool/Language_xml/~$language_custom.xlsx b/tools/language_tool/Language_xml/~$language_custom.xlsx
new file mode 100644 (file)
index 0000000..94df701
Binary files /dev/null and b/tools/language_tool/Language_xml/~$language_custom.xlsx differ
index f22ecff..a2629a2 100644 (file)
Binary files a/tools/language_tool/font/ar.lang and b/tools/language_tool/font/ar.lang differ
index 4baca88..18c2706 100644 (file)
Binary files a/tools/language_tool/font/az.lang and b/tools/language_tool/font/az.lang differ
index c0ae149..41ad634 100644 (file)
Binary files a/tools/language_tool/font/cs.lang and b/tools/language_tool/font/cs.lang differ
index 6c0a2d1..9c3e76f 100644 (file)
Binary files a/tools/language_tool/font/de.lang and b/tools/language_tool/font/de.lang differ
index 844603c..2c0a60f 100644 (file)
Binary files a/tools/language_tool/font/el.lang and b/tools/language_tool/font/el.lang differ
index 88b76ee..9b9e524 100644 (file)
Binary files a/tools/language_tool/font/en.lang and b/tools/language_tool/font/en.lang differ
index ec1b1c1..3124b85 100644 (file)
Binary files a/tools/language_tool/font/es.lang and b/tools/language_tool/font/es.lang differ
index ebfd519..a98cb6c 100644 (file)
Binary files a/tools/language_tool/font/fa.lang and b/tools/language_tool/font/fa.lang differ
index e376b47..5d796fe 100644 (file)
Binary files a/tools/language_tool/font/fi.lang and b/tools/language_tool/font/fi.lang differ
index 77473c0..a390261 100644 (file)
Binary files a/tools/language_tool/font/fr.lang and b/tools/language_tool/font/fr.lang differ
index 723c7be..5932db6 100644 (file)
Binary files a/tools/language_tool/font/he.lang and b/tools/language_tool/font/he.lang differ
index 0b71767..ecdef25 100644 (file)
Binary files a/tools/language_tool/font/hi.lang and b/tools/language_tool/font/hi.lang differ
index b201ebc..acfb16d 100644 (file)
Binary files a/tools/language_tool/font/hr.lang and b/tools/language_tool/font/hr.lang differ
index 1a71755..c130345 100644 (file)
Binary files a/tools/language_tool/font/id.lang and b/tools/language_tool/font/id.lang differ
index d49ac4b..2ab0906 100644 (file)
Binary files a/tools/language_tool/font/it.lang and b/tools/language_tool/font/it.lang differ
index fdc291a..611219c 100644 (file)
Binary files a/tools/language_tool/font/ja.lang and b/tools/language_tool/font/ja.lang differ
index f4cd3ce..e7d0887 100644 (file)
Binary files a/tools/language_tool/font/ko.lang and b/tools/language_tool/font/ko.lang differ
index 327f7a5..82d2631 100644 (file)
Binary files a/tools/language_tool/font/ms.lang and b/tools/language_tool/font/ms.lang differ
index ae99773..329fb40 100644 (file)
Binary files a/tools/language_tool/font/nl.lang and b/tools/language_tool/font/nl.lang differ
index 65e14a1..236635e 100644 (file)
Binary files a/tools/language_tool/font/pl.lang and b/tools/language_tool/font/pl.lang differ
index 923b4c0..69cc204 100644 (file)
Binary files a/tools/language_tool/font/pt.lang and b/tools/language_tool/font/pt.lang differ
index 08307ed..6ead127 100644 (file)
Binary files a/tools/language_tool/font/ro.lang and b/tools/language_tool/font/ro.lang differ
index da3f84d..c183fda 100644 (file)
Binary files a/tools/language_tool/font/ru.lang and b/tools/language_tool/font/ru.lang differ
index 8abc986..ad69aa1 100644 (file)
Binary files a/tools/language_tool/font/sv.lang and b/tools/language_tool/font/sv.lang differ
index d87a3b4..036f813 100644 (file)
Binary files a/tools/language_tool/font/th.lang and b/tools/language_tool/font/th.lang differ
index 1932ec1..44c3ff7 100644 (file)
Binary files a/tools/language_tool/font/tr.lang and b/tools/language_tool/font/tr.lang differ
index 66bbfb5..7f60603 100644 (file)
@@ -577,7 +577,8 @@ enum UIResourceTextId : uint16_t {
     STR_DIAL_BROWSING_SPECIAL_EFFECTS = 564,\r
     STR_SET_TARGET = 565,\r
     STR_PWUWC = 566,\r
-    STR_MAX_ID = 567,\r
+    STR_CALENDAR = 567,\r
+    STR_MAX_ID = 568,\r
 }; // UIResourceTextId\r
 
 enum FontLanguageId : uint8_t {
index 536b5a6..2062e60 100644 (file)
Binary files a/tools/language_tool/font/uk.lang and b/tools/language_tool/font/uk.lang differ
index bb9d319..3a5da1c 100644 (file)
Binary files a/tools/language_tool/font/uz.lang and b/tools/language_tool/font/uz.lang differ
index 7f22d53..4230c4e 100644 (file)
Binary files a/tools/language_tool/font/vi.lang and b/tools/language_tool/font/vi.lang differ
index 06d62a7..2c630bb 100644 (file)
Binary files a/tools/language_tool/font/zh.lang and b/tools/language_tool/font/zh.lang differ