--- /dev/null
+#include "notification_manager.h"
+#include "wearable_log.h"
+#include "UiConfig.h"
+#include "AlarmPopUpPresenter.h"
+#include "components/ui_image_view.h"
+#include "components/ui_label.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_label_button_ext.h"
+#include "battery_service.h"
+#include "NativeAbility.h"
+#include "custom_utils.h"
+#include "cmsis_os2.h"
+#include "linux/delay.h"
+#include "components/ui_circle_progress.h"
+#include "battery_hal.h"
+#include "uicomponents/UIComponents.h"
+#include "cat1_tcpServer.h"
+//#include "ui_resource_string.h"
+
+namespace OHOS
+{
+ UIViewGroup *UIViewGroup_Cat1Updata=nullptr;
+ UIImageView *cat1_img=nullptr;
+ UILabelExt *CAT1_UILabel=nullptr;
+ UILabelButtonExt *Cat1_labelbutton=nullptr;
+ static UILabelExt *Title=nullptr;
+ static UILabelExt *FAIL_Hint_UILabel=nullptr;
+
+ #define LOW_POWER_BUTTON "LOW_POWER_BUTTON"
+ #define TRANSMITTING_OTA_DOWN "/user/res/system/KUMILOGO.bin"
+
+ void FreeCat1PythonUpdataShow(void)
+ {
+ if (UIViewGroup_Cat1Updata != nullptr)
+ {
+ UIViewGroup_Cat1Updata->RemoveAll();
+ if(cat1_img)
+ {
+ delete cat1_img;
+ cat1_img = nullptr;
+ }
+ if(CAT1_UILabel)
+ {
+ delete CAT1_UILabel;
+ CAT1_UILabel = nullptr;
+ }
+ if(Cat1_labelbutton)
+ {
+ delete Cat1_labelbutton;
+ Cat1_labelbutton = nullptr;
+ }
+ if(Title)
+ {
+ delete Title;
+ Title = nullptr;
+ }
+ if(FAIL_Hint_UILabel)
+ {
+ delete FAIL_Hint_UILabel;
+ FAIL_Hint_UILabel = nullptr;
+ }
+
+ RootView::GetInstance()->Remove(UIViewGroup_Cat1Updata);
+ delete UIViewGroup_Cat1Updata;
+ UIViewGroup_Cat1Updata = nullptr;
+ }
+ }
+
+
+ UIViewGroup *Cat1PythonUpdataShow()
+ {
+
+ if (UIViewGroup_Cat1Updata == nullptr) {
+ UIViewGroup_Cat1Updata = new UIViewGroup();
+ UIViewGroup_Cat1Updata->SetPosition(0, 0, 466, 466);
+ }
+
+ if (Title == nullptr) {
+ Title = new UILabelExt();
+ }
+ Title->SetPosition(83, 45); // widget's left position and top position
+ Title->Resize(300, 35); // widget's width and height
+ Title->SetViewId("label1");// Set style
+ Title->SetStyle(STYLE_TEXT_FONT, 30);
+
+ // Set additional property
+ Title->SetText("是否进行模组升级");
+ // Title->SetTextId (STR_OTA_DOWNLOAD);
+
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+ Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ Title->SetRollSpeed(0);
+ Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+
+ UIViewGroup_Cat1Updata->Add(Title);
+
+ if (cat1_img == nullptr) {
+ cat1_img = new UIImageView();
+ }
+ cat1_img->SetPosition(117, 77, 230, 160);
+ cat1_img->SetViewId("image1");// Set style
+ const char *imageimagesPath = TRANSMITTING_OTA_DOWN;
+ cat1_img->SetSrc(imageimagesPath);
+
+ // Add to rootView
+ UIViewGroup_Cat1Updata->Add(cat1_img);
+ cat1_img->SetVisible(true);
+
+ // Add Label to App
+ if (CAT1_UILabel == nullptr) {
+ CAT1_UILabel = new UILabelExt();
+ }
+ CAT1_UILabel->SetPosition(68, 202); // widget's left position and top position
+ CAT1_UILabel->Resize(328, 60); // widget's width and height
+ CAT1_UILabel->SetViewId("label1");// Set style
+ CAT1_UILabel->SetStyle(STYLE_TEXT_FONT, 25);
+ CAT1_UILabel->SetText("是否进行4G模组升级,全升级过程将会自动重启两次,中途请勿操作,保证手表电量高于80%,若确定升级请点击确认,否则左滑退出");
+ CAT1_UILabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+ CAT1_UILabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ CAT1_UILabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 25);
+ // Add to rootView
+ UIViewGroup_Cat1Updata->Add(CAT1_UILabel);
+ CAT1_UILabel->SetVisible(true);
+
+ // Add LabelButtonExt to App
+ if (Cat1_labelbutton == nullptr) {
+ Cat1_labelbutton = new UILabelButtonExt();
+ }
+ // Cat1_labelbutton->SetPosition(165, 378); // widget's left position and top position
+ // Cat1_labelbutton->Resize(135, 88); // widget's width and height
+ Cat1_labelbutton->SetViewId(LOW_POWER_BUTTON);// Set style
+ Cat1_labelbutton->SetPosition(0, 366, 466, 100);
+ const char *ImgSrc = "/user/res/466x100button.bin";
+ Cat1_labelbutton->SetImageSrc(ImgSrc, ImgSrc);
+ // Set additional property
+ Cat1_labelbutton->SetText("确认");
+ // Cat1_labelbutton->SetTextId(STR_KONW);
+ Cat1_labelbutton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ Cat1_labelbutton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
+
+ UIView::OnClickListener *button1Click = static_cast<UIView::OnClickListener *>(Cat1PythonUpdataShowListener::GetInstance());
+ Cat1_labelbutton->SetOnClickListener(button1Click);
+
+ UIView::OnDragListener *OnDragListener = static_cast<UIView::OnDragListener *>(Cat1PythonUpdataShowListener::GetInstance());
+ UIViewGroup_Cat1Updata->SetOnDragListener(OnDragListener);
+
+ // Add to rootView
+ UIViewGroup_Cat1Updata->Add(Cat1_labelbutton);
+ Cat1_labelbutton->SetVisible(true);
+ UIViewGroup_Cat1Updata->SetTouchable(true);
+ Cat1_labelbutton->SetTouchable(true);
+ UIViewGroup_Cat1Updata->SetDraggable(true);
+
+
+ if (FAIL_Hint_UILabel == nullptr) {
+ FAIL_Hint_UILabel = new UILabelExt();
+ }
+ FAIL_Hint_UILabel->SetPosition(62, 199); // widget's left position and top position
+ FAIL_Hint_UILabel->Resize(340, 30); // widget's width and height
+ FAIL_Hint_UILabel->SetViewId("label3");// Set style
+ FAIL_Hint_UILabel->SetStyle(STYLE_BACKGROUND_COLOR, 0xffAAAAAA);
+ FAIL_Hint_UILabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+ FAIL_Hint_UILabel->SetStyle(STYLE_BORDER_RADIUS, 27);
+ FAIL_Hint_UILabel->SetStyle(STYLE_TEXT_FONT, 40);
+ FAIL_Hint_UILabel->SetStyle(STYLE_LINE_SPACE, 0);
+
+ FAIL_Hint_UILabel->SetText("电量过低不建议升级,请左滑退出");
+ FAIL_Hint_UILabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+ FAIL_Hint_UILabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ FAIL_Hint_UILabel->SetRollSpeed(0);
+ FAIL_Hint_UILabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);
+
+ UIViewGroup_Cat1Updata->Add(FAIL_Hint_UILabel);
+ FAIL_Hint_UILabel->SetVisible(false);
+ FAIL_Hint_UILabel->LayoutCenterOfParent();
+
+
+
+
+ NotificationManager::GetInstance()->RegisterNotifyCleanupFunction(FreeCat1PythonUpdataShow);
+ return UIViewGroup_Cat1Updata;
+ }
+
+ Cat1PythonUpdataShowListener::Cat1PythonUpdataShowListener()
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CallViewEventListener :%p", this);
+ }
+
+ Cat1PythonUpdataShowListener::~Cat1PythonUpdataShowListener()
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "~CallViewEventListener");
+ }
+
+ Cat1PythonUpdataShowListener *Cat1PythonUpdataShowListener::GetInstance(void)
+ {
+ static Cat1PythonUpdataShowListener lowppowrViewEventListene_t;
+ return &lowppowrViewEventListene_t;
+ }
+
+ bool Cat1PythonUpdataShowListener::OnClick(UIView& view, const ClickEvent& event)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnClick.....");
+ UNUSED(event);
+ if(strcmp(view.GetViewId(),LOW_POWER_BUTTON)==0)
+ {
+ float voltage = 0.0F;
+ uint8_t power = battery_get_voltage(&voltage);
+
+ if(power>80)
+ {
+ Cat1_OTA(CAT1_TCP_START_OTA);
+ }
+ else
+ {
+ FAIL_Hint_UILabel->SetVisible(true);
+ }
+
+ }
+ return true;
+
+ }
+
+
+ bool Cat1PythonUpdataShowListener::OnDragEnd(UIView& view, const DragEvent& event)
+ {
+ UNUSED(view);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnDragEnd.....");
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)
+ {
+ NotificationManager::GetInstance()->StopNotify();
+ }
+ return true;
+
+ }
+
+
+
+
+
+}