RootView::GetInstance()->Add(view_->GetRootContainer());
}
// Reset the default key listener
- RootView::GetInstance()->SetOnKeyActListener(KeyInputListener::GetInstance());
+ if(NativeAbility::GetInstance().GetCurSliceId() == VIEW_MAIN || NativeAbility::GetInstance().GetCurSliceId() == VIEW_APPLIST)
+ RootView::GetInstance()->SetOnKeyActListener(KeyInputListener::GetInstance());//加判断条件是解决其他界面按键监听被覆盖的问题
UIView* backView = PageTransitionMgr::GetInstance().GetTopSlideBackImage();
if (backView == nullptr) {
return;
SetUpListInfo();
SetUpListView();
SetUpToast();
-//按键监听
+ //按键监听
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
InitView();
- //RootView::GetInstance()->SetOnKeyActListener(presenter_);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
AddViewToRootContainer(AssistantScrollView[ASSISTANT_MAIN_VIEW]);
}
// 增加按键监听
// presenter_->SetOnKeyActListener(keyactListener);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
// 增加按键监听
// RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::BloodResultPresenter::GetInstance();
//RootView::GetInstance()->SetOnKeyActListener(keyactListener);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
}
} else {\r
ChangeView(unusedValue, BLUETOOTHEARPHONEVIEW);//若一个都没有连接过就进行搜索\r
}\r
- RootView::GetInstance()->Invalidate();\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
return;\r
}\r
\r
return false;\r
}\r
container[thisView] = group;\r
- RootView::GetInstance()->Add(container[thisView]);\r
+ AddViewToRootContainer(container[thisView]);\r
} \r
// else {\r
// // 刷新列表\r
return false;\r
}\r
container[thisView] = group;\r
- RootView::GetInstance()->Add(container[thisView]);\r
+ AddViewToRootContainer(container[thisView]);\r
}\r
return true;\r
}\r
return false;\r
}\r
container[thisView] = group;\r
- RootView::GetInstance()->Add(container[thisView]);\r
+ AddViewToRootContainer(container[thisView]);\r
}\r
if (bluetoothReconnectView == nullptr) {\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GapAclStateChangedCallback bluetoothReconnectView == nullptr");\r
return false;\r
}\r
container[thisView] = group;\r
- RootView::GetInstance()->Add(container[thisView]);\r
+ AddViewToRootContainer(container[thisView]);\r
}\r
return true;\r
}\r
return false;\r
}\r
container[thisView] = group;\r
- RootView::GetInstance()->Add(container[thisView]);\r
+ AddViewToRootContainer(container[thisView]);\r
}\r
// 动画开始\r
bluetoothEarPhoneView->BtAnimatorStart();\r
return false;\r
}\r
container[thisView] = group;\r
- RootView::GetInstance()->Add(container[thisView]);\r
+ AddViewToRootContainer(container[thisView]);\r
} \r
// else {\r
// // 刷新列表\r
return false;\r
}\r
container[thisView] = group;\r
- RootView::GetInstance()->Add(container[thisView]);\r
+ AddViewToRootContainer(container[thisView]);\r
}\r
return true;\r
}\r
return false;\r
}\r
container[thisView] = group;\r
- RootView::GetInstance()->Add(container[thisView]);\r
+ AddViewToRootContainer(container[thisView]);\r
}\r
BluetoothModel::GetInstance()->SetTagDisconnectView(true);\r
bluetoothReconnectView->RefreshBluetoothNameLabel();\r
BrightnessLevelViewInit();
// 增加按键监听
- RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::BrightnessLevelPresenter::GetInstance();
+ // RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::BrightnessLevelPresenter::GetInstance();
//RootView::GetInstance()->SetOnKeyActListener(keyactListener);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
+
AddViewToRootContainer(scorllView);
}
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallingView::UIViewGroup::new group error");
return;
}
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
}
\ No newline at end of file
connectingScrollView->SetDraggable(false);
BlueToothScrollView->Add(connectingScrollView);
AddViewToRootContainer(BlueToothScrollView);
+
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
void BluetoothServiceOptionsView::show_connecting_view(bool data)
BlueToothScrollView->Add(AttentionLabel);\r
BlueToothScrollView->Add(TradionalBlueToothToggleButton);\r
AddViewToRootContainer(BlueToothScrollView);\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
}\r
}\r
-/*\r
- * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved.\r
- * Description: CompassCalibrationView.h\r
- * Author:\r
- * Create: 2022-04-02\r
- */\r
-\r
-#ifndef COMPASS_CALIBRATION_VIEW_H\r
-#define COMPASS_CALIBRATION_VIEW_H\r
-\r
-#include "components/ui_label.h"\r
-#include "View.h"\r
-#include "ohos_types.h"\r
-#include "AppGroupView.h"\r
-#include "components/ui_image_view.h"\r
-\r
-namespace OHOS {\r
-class CompassCalibrationView : public AppGroupView {\r
-public:\r
- CompassCalibrationView();\r
- ~CompassCalibrationView() override;\r
-\r
- bool CreateUIViewGroup(void);\r
- static CompassCalibrationView *GetInstance(void);\r
- bool InitView(void *caller) override;\r
-private:\r
- UILabel *labelOne{nullptr};\r
- UILabel *labelTwo{nullptr};\r
- UIImageView *imageView{nullptr};\r
-\r
- void ClearAll(void);\r
-};\r
-}\r
+/*
+ * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved.
+ * Description: CompassCalibrationView.h
+ * Author:
+ * Create: 2022-04-02
+ */
+
+#ifndef COMPASS_CALIBRATION_VIEW_H
+#define COMPASS_CALIBRATION_VIEW_H
+
+#include "components/ui_label.h"
+#include "View.h"
+#include "ohos_types.h"
+#include "AppGroupView.h"
+#include "components/ui_image_view.h"
+#include "components/ui_scroll_view.h"
+#include "components/ui_label_ext.h"
+
+namespace OHOS {
+class CompassCalibrationView : public AppGroupView {
+public:
+ CompassCalibrationView();
+ ~CompassCalibrationView() override;
+
+ bool CreateUIViewGroup(void);
+ static CompassCalibrationView *GetInstance(void);
+ bool InitView(void *caller) override;
+private:
+ UILabelExt *labelOne{nullptr};
+ UILabelExt *labelTwo{nullptr};
+ UIImageView *imageView{nullptr};
+ UIScrollView *scrollView{nullptr};
+
+ void ClearAll(void);
+};
+}
#endif
\ No newline at end of file
-/*\r
- * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved.\r
- * Description: CompassControlView.h\r
- * Author:\r
- * Create: 2022-04-02\r
- */\r
-\r
-#ifndef COMPASS_CONTROL_VIEW_H\r
-#define COMPASS_CONTROL_VIEW_H\r
-\r
-#include "components/root_view.h"\r
-#include "UiConfig.h"\r
-#include "components/ui_card_page.h"\r
-#include "CompassCalibrationView.h"\r
-#include "CompassView.h"\r
-\r
-namespace OHOS {\r
-\r
-class CompassControlView : public UICardPage {\r
-public:\r
- CompassControlView();\r
- ~CompassControlView() override;\r
- bool InitView(void);\r
- void PreLoad(void) override;\r
- void UnLoad(void) override;\r
- void SetCalibrationView(bool flag);\r
-private:\r
- CompassCalibrationView *compassCalibrationView{nullptr};\r
- CompassView *compassView{nullptr};\r
- bool viewiInitStatus{false};\r
- bool isCalibration{false};\r
-\r
- void ClearAll(void);\r
-};\r
-}\r
-#endif\r
+/*
+ * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved.
+ * Description: CompassControlView.h
+ * Author:
+ * Create: 2022-04-02
+ */
+
+#ifndef COMPASS_CONTROL_VIEW_H
+#define COMPASS_CONTROL_VIEW_H
+
+#include "components/root_view.h"
+#include "UiConfig.h"
+#include "components/ui_card_page.h"
+#include "CompassCalibrationView.h"
+#include "CompassView.h"
+
+namespace OHOS {
+
+class CompassControlView : public UICardPage {
+public:
+ CompassControlView();
+ ~CompassControlView() override;
+ bool InitView(void);
+ void PreLoad(void) override;
+ void UnLoad(void) override;
+ void SetCalibrationView(bool flag);
+private:
+ CompassCalibrationView *compassCalibrationView{nullptr};
+ CompassView *compassView{nullptr};
+ bool viewiInitStatus{false};
+ bool isCalibration{false};
+
+ void ClearAll(void);
+};
+}
+#endif
-/*\r
- * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved.\r
- * Description: CompassModel.h\r
- * Author:\r
- * Create: 2022-04-02\r
- */\r
-\r
-#ifndef COMPASS_MODEL_H\r
-#define COMPASS_MODEL_H\r
-\r
-#include <cstdint>\r
-\r
-namespace OHOS {\r
-class CompassModel {\r
-public:\r
- static CompassModel *GetInstance(void);\r
- bool OpenCompassSensor(void);\r
- bool CloseCompassSensor(void);\r
- void SetCalibrationStatus(uint8_t status);\r
- uint8_t GetCalibrationStatus(void);\r
- void SetDisplayAngle(uint16_t angle);\r
- uint16_t GetDisplayAngle(void);\r
-#if defined(_WIN32)\r
-#undef GetCurrentTime\r
-#endif\r
- time_t GetCurrentTime(void);\r
- void SetLastTime(time_t value);\r
- time_t GetLastTime(void);\r
-\r
-private:\r
- uint8_t calibrationStatus{1};\r
- uint16_t displayAngle{0};\r
- time_t lastTime{0};\r
-};\r
-}\r
-\r
-#endif\r
-\r
+/*
+ * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved.
+ * Description: CompassModel.h
+ * Author:
+ * Create: 2022-04-02
+ */
+
+#ifndef COMPASS_MODEL_H
+#define COMPASS_MODEL_H
+
+#include <cstdint>
+
+namespace OHOS {
+class CompassModel {
+public:
+ static CompassModel *GetInstance(void);
+ bool OpenCompassSensor(void);
+ bool CloseCompassSensor(void);
+ void SetCalibrationStatus(uint8_t status);
+ uint8_t GetCalibrationStatus(void);
+ void SetDisplayAngle(uint16_t angle);
+ uint16_t GetDisplayAngle(void);
+ time_t GetCurrentTime(void);
+ void SetLastTime(time_t value);
+ time_t GetLastTime(void);
+
+private:
+ uint8_t calibrationStatus{1};
+ uint16_t displayAngle{0};
+ time_t lastTime{0};
+};
+}
+
+#endif
+
-/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: CompassPresenter.h\r
- * Author:\r
- * Create: 2021-12-21\r
- */\r
-#ifndef COMPASS_PRESENTER_H\r
-#define COMPASS_PRESENTER_H\r
-\r
-#include "Presenter.h"\r
-#include "components/ui_view.h"\r
-#include "components/ui_image_view.h"\r
-#include "ohos_types.h"\r
-#include "UiConfig.h"\r
-#include "AppViewIDs.h"\r
-#include "CompassView.h"\r
-\r
-namespace OHOS {\r
-typedef struct {\r
- uint16_t beginAngle;\r
- uint16_t endAngle;\r
- const char *dir;\r
-} CompassItem;\r
-\r
-class CompassView;\r
-class CompassPresenter {\r
-public:\r
- CompassPresenter();\r
- virtual ~CompassPresenter();\r
-\r
- static CompassPresenter *GetInstance(void);\r
- void DisplayAngleDir(uint16_t angle);\r
- void DetermineToRotate(void);\r
- void InScopeRotate(void);\r
- void TimeCreateRandomNum(void);\r
- void DisplayAngleRight(uint16_t angle);\r
-\r
-private:\r
- int16_t lastRotateAngle{0};\r
- int16_t currentRotateAngle{0};\r
- int16_t angleDiff{0};\r
- bool getAngleStatus{false};\r
- bool initDisplayStatus{true};\r
-};\r
-}\r
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: CompassPresenter.h
+ * Author:
+ * Create: 2021-12-21
+ */
+#ifndef COMPASS_PRESENTER_H
+#define COMPASS_PRESENTER_H
+
+#include "Presenter.h"
+#include "components/ui_view.h"
+#include "components/ui_image_view.h"
+#include "ohos_types.h"
+#include "UiConfig.h"
+#include "AppViewIDs.h"
+#include "components/ui_label_ext.h"
+#include"ui_resource_string.h"
+#include "CompassView.h"
+
+namespace OHOS {
+typedef struct {
+ uint16_t beginAngle;
+ uint16_t endAngle;
+ const char *dir;
+ int dir_textId;//方向的textid
+} CompassItem;
+
+class CompassView;
+class CompassPresenter {
+public:
+ CompassPresenter();
+ virtual ~CompassPresenter();
+
+ static CompassPresenter *GetInstance(void);
+ void DisplayAngleDir(uint16_t angle);
+ void DetermineToRotate(void);
+ void InScopeRotate(void);
+ void TimeCreateRandomNum(void);
+ void DisplayAngleRight(uint16_t angle);
+
+private:
+ int16_t lastRotateAngle{0}; //上一次的旋转角度
+ int16_t currentRotateAngle{0}; //当前的旋转角度
+ int16_t angleDiff{0}; //角度差
+ bool getAngleStatus{false};
+ bool initDisplayStatus{true};
+};
+}
#endif
\ No newline at end of file
-/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: CompassView.h\r
- * Author:\r
- * Create: 2021-12-21\r
- */\r
-\r
-#ifndef COMPASS_VIEW_H\r
-#define COMPASS_VIEW_H\r
-\r
-#include "View.h"\r
-#include "components/root_view.h"\r
-#include "components/ui_label.h"\r
-#include "components/ui_image_view.h"\r
-#include "ChangeSliceListener.h"\r
-#include "UiConfig.h"\r
-#include "AppGroupView.h"\r
-#include "CompassCalibrationView.h"\r
-\r
-namespace OHOS {\r
-static constexpr float VIEW_CENTERS = 227;\r
-\r
-class CompassView : public AppGroupView {\r
-public:\r
- CompassView();\r
- ~CompassView() override;\r
-\r
- void DirectionSetText(const char *text, const char *angle);\r
- static CompassView *GetInstance(void);\r
- void CompassStartRotate(int16_t numb);\r
- bool InitPage(void);\r
- bool InitView(void *caller) override;\r
- bool GetInitViewState(void);\r
- bool InitCompassImage(void);\r
-\r
-private:\r
- bool LoadCompassImage(UIImageView *view, uint32_t resId);\r
- void ClearAll(void);\r
- UILabel *directionLabel{nullptr};\r
- UILabel *angledLabel{nullptr};\r
- UIImageView *backGround{nullptr};\r
- UIImageView *rotateShaft{nullptr};\r
- UIImageView *triangulation{nullptr};\r
- const Vector2<float> VIEW_CENTER = {VIEW_CENTERS, VIEW_CENTERS};\r
-};\r
-}\r
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: CompassView.h
+ * Author:
+ * Create: 2021-12-21
+ */
+
+#ifndef COMPASS_VIEW_H
+#define COMPASS_VIEW_H
+
+#include "View.h"
+#include "components/root_view.h"
+#include "components/ui_label.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_image_view.h"
+#include "ChangeSliceListener.h"
+#include "UiConfig.h"
+#include "AppGroupView.h"
+#include "CompassCalibrationView.h"
+
+namespace OHOS {
+static constexpr float VIEW_CENTERS = 233;/*233代表分辨率为466的屏幕*/
+
+class CompassView : public AppGroupView {
+public:
+ CompassView();
+ ~CompassView() override;
+
+ void DirectionSetText(const char *text, const char *angle);
+ void DirectionSetTextId(int textId, const char *angle);
+ static CompassView *GetInstance(void);
+ void CompassStartRotate(int16_t numb);
+ bool InitPage(void);
+ bool InitView(void *caller) override;
+ bool GetInitViewState(void);
+ bool InitCompassImage(void);
+
+ bool GetResLoadStatus(void);
+ void SetResLoadStatus(bool state);
+ void PreLoadCompassImageRes(void);
+ void UnLoadCompassImageRes(void);
+private:
+ bool LoadCompassImage(UIImageView *view, uint32_t resId);
+ void ClearAll(void);
+ UILabelExt *directionLabel{nullptr}; //方向标签
+ UILabel *angledLabel{nullptr}; //角度标签
+ UIImageView *backGround{nullptr}; //背景图片
+ UIImageView *PlaceMarkerImage{nullptr}; //放置标记图片
+ UIImageView *triangulation{nullptr}; //三角图片
+ const Vector2<float> VIEW_CENTER = {VIEW_CENTERS, VIEW_CENTERS};//二维向量
+ bool resLoadStatus{false};
+};
+}
#endif
\ No newline at end of file
-/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: MainCompassPresenter.h\r
- * Author:\r
- * Create: 2021-12-21\r
- */\r
-#ifndef COMPASS_MAINPRESENTER_H\r
-#define COMPASS_MAINPRESENTER_H\r
-\r
-#include "Presenter.h"\r
-#include "ModelListenerSample.h"\r
-#include "ohos_types.h"\r
-#include "UiConfig.h"\r
-#include "AppViewIDs.h"\r
-#include "MainCompassView.h"\r
-#include "CompassPresenter.h"\r
-#include "CompassModel.h"\r
-#include "CompassCalibrationView.h"\r
-\r
-namespace OHOS {\r
-class MainCompassPresenter : public Presenter<MainCompassView>, public CompassPresenter,\r
- public ModelListenerSample, public UIView::OnDragListener {\r
-public:\r
- MainCompassPresenter();\r
- ~MainCompassPresenter() override;\r
-\r
- static MainCompassPresenter *GetInstance(void);\r
- bool OnDrag(UIView& view, const DragEvent& event) override;\r
- void Notify() override;\r
-};\r
-}\r
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-06-07 09:21:47
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-06-27 09:42:42
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/compass/include/MainCompassPresenter.h
+ */
+#ifndef COMPASS_MAINPRESENTER_H
+#define COMPASS_MAINPRESENTER_H
+
+#include "Presenter.h"
+#include "ModelListenerSample.h"
+#include "ohos_types.h"
+#include "UiConfig.h"
+#include "AppViewIDs.h"
+#include "MainCompassView.h"
+#include "CompassPresenter.h"
+#include "CompassModel.h"
+#include "CompassCalibrationView.h"
+#include "KeyInputListener.h"
+#include "components/ui_label_ext.h"
+#include "ui_resource_string.h"
+
+namespace OHOS {
+class MainCompassPresenter : public Presenter<MainCompassView>, public CompassPresenter,
+ public RootView::OnKeyActListener,
+ public ModelListenerSample, public UIView::OnDragListener {
+public:
+ MainCompassPresenter();
+ ~MainCompassPresenter() override;
+
+ static MainCompassPresenter *GetInstance(void);
+ bool OnDrag(UIView& view, const DragEvent& event) override;
+ void Notify() override;
+ bool OnDragEnd(UIView& view, const DragEvent& event) override;
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
+ bool X_DRAG_FLAG{false};
+};
+}
#endif
\ No newline at end of file
-/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: MainCompassView\r
- * Author:\r
- * Create: 2021-12-23\r
- */\r
-\r
-#ifndef MAIN_COMPASS_VIEW_H\r
-#define MAIN_COMPASS_VIEW_H\r
-\r
-#include <string>\r
-#include "View.h"\r
-#include "components/ui_label.h"\r
-#include "components/root_view.h"\r
-#include "components/ui_view_group.h"\r
-#include "components/ui_image_view.h"\r
-#include "components/ui_label_button.h"\r
-#include "ChangeSliceListener.h"\r
-#include "graphic_config.h"\r
-#include "CompassView.h"\r
-#include "CompassModel.h"\r
-#include "CompassCalibrationView.h"\r
-\r
-namespace OHOS {\r
-class MainCompassPresenter;\r
-class CompassView;\r
-class MainCompassView : public View<MainCompassPresenter> {\r
-public:\r
- MainCompassView();\r
- ~MainCompassView() override;\r
-\r
- void OnStart() override;\r
-\r
-\r
- static MainCompassView *GetInstance(void);\r
- void SetDisplayTure(void);\r
- void SetDisplayFalse(void);\r
-\r
-private:\r
- CompassView *compassView{nullptr};\r
- CompassCalibrationView *compassCalibrationView{nullptr};\r
-};\r
-} // namespace OHOS\r
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: MainCompassView
+ * Author:
+ * Create: 2021-12-23
+ */
+
+#ifndef MAIN_COMPASS_VIEW_H
+#define MAIN_COMPASS_VIEW_H
+
+#include <string>
+#include "View.h"
+#include "components/ui_label.h"
+#include "components/root_view.h"
+#include "components/ui_view_group.h"
+#include "components/ui_image_view.h"
+#include "components/ui_label_button.h"
+#include "ChangeSliceListener.h"
+#include "graphic_config.h"
+#include "compass/include/CompassView.h"
+#include "compass/include/CompassModel.h"
+#include "compass/include/CompassCalibrationView.h"
+
+namespace OHOS {
+class MainCompassPresenter;
+class CompassView;
+class MainCompassView : public View<MainCompassPresenter> {
+public:
+ MainCompassView();
+ ~MainCompassView() override;
+
+ void OnStart() override;
+
+
+ static MainCompassView *GetInstance(void);
+ void SetDisplayTure(void);
+ void SetDisplayFalse(void);
+
+private:
+ CompassView *compassView{nullptr};
+ CompassCalibrationView *compassCalibrationView{nullptr};
+};
+} // namespace OHOS
#endif
\ No newline at end of file
*/
#include "UiConfig.h"
#include "wearable_log.h"
-#include "CompassCalibrationView.h"
+#include "compass/include/CompassCalibrationView.h"
#include "CompassModel.h"
+#include "ui_resource_string.h"
namespace OHOS {
// 标签设置
void CompassCalibrationView::ClearAll(void)
{
RemoveAll();
- if (labelOne != nullptr) {
- delete labelOne;
- labelOne = nullptr;
- }
- if (imageView != nullptr) {
- delete imageView;
- imageView = nullptr;
- }
- if (labelTwo != nullptr) {
- delete labelTwo;
- labelTwo = nullptr;
+ if(scrollView!=nullptr)
+ {
+ scrollView->RemoveAll();
+ if (labelOne != nullptr) {
+ delete labelOne;
+ labelOne = nullptr;
+ }
+ if (imageView != nullptr) {
+ delete imageView;
+ imageView = nullptr;
+ }
+ if (labelTwo != nullptr) {
+ delete labelTwo;
+ labelTwo = nullptr;
+ }
+ scrollView->ClearFocus();
+ delete scrollView;
+ scrollView = nullptr;
}
}
bool CompassCalibrationView::CreateUIViewGroup(void)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CompassCalibrationView::CreateUIViewGroup");
- imageView = new UIImageView();
- if (imageView == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CompassCalibrationView::new UIImageView fail");
- return false;
+ if (scrollView == nullptr)
+ {
+ scrollView = new UIScrollView();
+ if (scrollView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView new fail");
+ return false;
+ }
}
- imageView->SetPosition(0, 0);
- imageView->SetSrc(COMPASS_CALIBRATE_IMAGE);
-
- labelOne = new UILabel();
- if (labelOne == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CompassCalibrationView::new labelOne fail");
- ClearAll();
- return false;
+ scrollView->SetPosition(0, 0, 466, 466);
+ scrollView->SetScrollBlankSize(50);
+ scrollView->SetReboundSize(35);
+ scrollView->SetThrowDrag(true);
+ scrollView->SetMaxScrollDistance(1000);
+ scrollView->SetDirection(UIScrollView::VERTICAL);
+ scrollView->RequestFocus();
+ scrollView->SetRotateFactor(1.0);
+ /* -------------------------------------------------------------------------- */
+ if (labelOne == nullptr)
+ {
+ labelOne = new UILabelExt();
+ if (labelOne == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CompassCalibrationView::new labelOne fail");
+ ClearAll();
+ return false;
+ }
}
-
- labelOne->SetPosition(LABEL_POSITION_X, LABEL_POSITION_Y, LABEL_POSITION_WIDTH, LABEL_POSITION_HEIGHT);
- labelOne->SetText("请按图示");
- labelOne->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);
+ labelOne->SetPosition(83, 50,300,35);
+ labelOne->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+ labelOne->SetStyle(STYLE_TEXT_FONT, 30);
+ labelOne->SetStyle(STYLE_LINE_HEIGHT, 35);
+ labelOne->SetTextId(STR_CALIBRATE_COMPASS);
+ labelOne->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
labelOne->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- labelOne->SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE);
- labelOne->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- labelOne->SetStyle(STYLE_TEXT_COLOR, Color::White().full);
-
- labelTwo = new UILabel();
- if (labelTwo == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CompassCalibrationView::new labelTwo fail");
- ClearAll();
- return false;
+ labelOne->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ /* -------------------------------------------------------------------------- */
+ if (imageView == nullptr) {
+ imageView = new UIImageView();
+ if (imageView == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CompassCalibrationView::new UIImageView fail");
+ return false;
+ }
}
-
- labelTwo->SetPosition(LABEL_POSITION_X1, LABEL_POSITION_Y1, LABEL_POSITION_WIDTH1, LABEL_POSITION_HEIGHT1);
- labelTwo->SetText("旋转手表进行校准");
- labelTwo->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);
+ imageView->SetPosition(78, 140,310,120);
+ imageView->SetSrc(COMPASS_CALIBRATE_IMAGE);
+ /* -------------------------------- labelTwo -------------------------------- */
+ if (labelTwo == nullptr)
+ {
+ labelTwo = new UILabelExt();
+ if (labelTwo == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CompassCalibrationView::new labelTwo fail");
+ ClearAll();
+ return false;
+ }
+ }
+ labelTwo->SetPosition(53, 300,360,70);
+ labelTwo->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+ labelTwo->SetStyle(STYLE_TEXT_FONT, 30);
+ labelTwo->SetStyle(STYLE_LINE_HEIGHT, 35);
+ labelTwo->SetTextId(STR_CALIBRATE_COMPASS_NOTE);
+ labelTwo->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+ labelTwo->SetTextColor(Color::GetColorFromRGBA(0xcc, 0xcc, 0xcc, 0xff));
labelTwo->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- labelTwo->SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE);
- labelTwo->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- labelTwo->SetStyle(STYLE_TEXT_COLOR, Color::White().full);
+ labelTwo->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
- Add(imageView);
- Add(labelOne);
- Add(labelTwo);
+ scrollView->Add(imageView);
+ scrollView->Add(labelOne);
+ scrollView->Add(labelTwo);
+ Add(scrollView);
SetDraggable(false);
SetTouchable(false);
initViewStatus = true;
/*
- * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved.
- * Description: CompassControlView.cpp
- * Author:
- * Create: 2022-04-02
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-06-12 11:44:23
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-11-05 11:48:01
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassControlView.cpp
*/
-#include "CompassControlView.h"
-#include "CompassModel.h"
+#include "compass/include/CompassControlView.h"
+#include "compass/include/CompassModel.h"
+#include "wearable_log.h"
namespace OHOS {
CompassControlView::CompassControlView()
void CompassControlView::SetCalibrationView(bool flag)
{
- if (flag == isCalibration) {
- return;
- }
+ // if (flag == isCalibration) {
+ // return;
+ // }
if (flag) {
compassCalibrationView->SetVisible(true);
void CompassControlView::PreLoad(void)
{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CompassControlView::PreLoad");
if (!viewiInitStatus) {
InitView();
viewiInitStatus = true;
}
+ if( compassView != nullptr)
+ {
+ compassView->PreLoadCompassImageRes();
+ }
}
void CompassControlView::UnLoad(void)
{
- // Compass's usage scenes is complicated, so we do not release it's resources inner slice.
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CompassControlView::UnLoad");
+ if( compassView != nullptr)
+ {
+ compassView->UnLoadCompassImageRes();
+ }
}
}
*/
#include <sys/time.h>
-#include "CompassModel.h"
+#include "compass/include/CompassModel.h"
#include <ctime>
#ifdef __cplusplus
extern "C" {
#endif
+#ifdef MAG_MMC5603
+#include "mag_service.h"
+#endif
using namespace OHOS;
return &instance;
}
+/*
+ * @brief 设置校准状态
+*/
void CompassModel::SetCalibrationStatus(uint8_t status)
{
+
calibrationStatus = status;
}
+/*
+ * @brief 获取校准状态
+ * @param void
+ * @return 如果校准精度小于3,返回<b>1</b>,否则返回<b>0</b>
+*/
uint8_t CompassModel::GetCalibrationStatus(void)
{
+ #ifdef MAG_MMC5603
+ if( mag_service_get_iAccuracy() < 3)
+ return 1;
+ else
+ return 0;
+ #else
return 0;
+ #endif
}
+/*
+ * @brief 设置显示的角度,通常表示为从地磁北方向到设备当前朝向的角度。
+*/
void CompassModel::SetDisplayAngle(uint16_t angle)
{
+ #ifdef MAG_MMC5603
+ displayAngle = (int16_t)mag_service_get_fAzimuth();
+ #else
displayAngle += angle;
if (displayAngle > 359) {
displayAngle = 0;
}
+ #endif
}
+/*
+ * @brief 获取显示角度
+*/
uint16_t CompassModel::GetDisplayAngle(void)
{
return displayAngle;
return tv.tv_sec;
}
+/*
+ * @brief 打开指南针传感器
+ * @param void
+ * @return 如果指南针传感器打开成功则返回true,否则返回false
+*/
bool CompassModel::OpenCompassSensor(void)
{
+ #ifdef MAG_MMC5603
+ do_mag_service_check_msg(MAG_SERVICE_CMD_START_CHECK);
+ #endif
return true;
}
+/*
+ * @brief 关闭指南针传感器
+ * @param void
+ * @return 如果指南针传感器关闭成功则返回true,否则返回false
+*/
bool CompassModel::CloseCompassSensor(void)
{
+ #ifdef MAG_MMC5603
+ do_mag_service_check_msg(MAG_SERVICE_CMD_STOP_CHECK);
+ #endif
return true;
}
}
-/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: CompassPresenter.cpp\r
- * Author:\r
- * Create: 2021-12-21\r
- */\r
-#include "CompassView.h"\r
-#include "CompassPresenter.h"\r
-#include "CompassModel.h"\r
-#include "graphic_service.h"\r
-\r
-namespace OHOS {\r
-static constexpr int16_t RIGHT_NORTH_DOWN_23 = 23;\r
-static constexpr int16_t RIGHT_EASTNORTH_UP_68 = 68;\r
-static constexpr int16_t RIGHT_WESTNORTH_UP_338 = 338;\r
-static constexpr int16_t RIGHT_SOUTH_UP_203 = 203;\r
-static constexpr int16_t RIGHT_EASTSOUTH_UP_158 = 158;\r
-static constexpr int16_t RIGHT_WESTSOUTH_UP_248 = 248;\r
-static constexpr int16_t RIGHT_WEST_UP_293 = 293;\r
-static constexpr int16_t RIGHT_EAST_UP_113 = 113;\r
-static constexpr int16_t RIGHT_MAX_ANGLE_360 = 360;\r
-static constexpr int16_t RIGHT_HALF_ANGLE_180 = 180;\r
-static constexpr int16_t RIGHT_ROTATION_INTERVAL = 2;\r
-static constexpr int16_t DIRECTION_COUNT = 7;\r
-static constexpr int16_t LEFT_NORTH_DOWN_23 = -23;\r
-static constexpr int16_t LEFT_EASTNORTH_DOWN_337 = -337;\r
-static constexpr int16_t LEFT_WESTNORTH_DOWN_68 = -68;\r
-static constexpr int16_t LEFT_SOUTH_DOWN_202 = -202;\r
-static constexpr int16_t LEFT_EASTSOUTH_DOWN_247 = -247;\r
-static constexpr int16_t LEFT_WESTSOUTH_DOWN_157 = -157;\r
-static constexpr int16_t LEFT_WEST_DOWN_113 = -113;\r
-static constexpr int16_t LEFT_EAST_DOWN_292 = -292;\r
-static constexpr int16_t RIGHT_MIN_ANGLE_360 = -360;\r
-static constexpr int16_t LEFT_HALF_ANGLE_180 = -180;\r
-static constexpr int16_t LEFT_ROTATION_INTERVAL = -2;\r
-\r
-static constexpr const char *NORTH_DIRECTION = (char *)"北";\r
-static constexpr const char *SOUTH_DIRECTION = (char *)"南";\r
-static constexpr const char *WEST_DIRECTION = (char *)"西";\r
-static constexpr const char *EAST_DIRECTION = (char *)"东";\r
-static constexpr const char *WESTNORTH_DIRECTION = (char *)"西北";\r
-static constexpr const char *WESTSOUTH_DIRECTION = (char *)"西南";\r
-static constexpr const char *EASTSOUTH_DIRECTION = (char *)"东南";\r
-static constexpr const char *EASTNORTH_DIRECTION = (char *)"东北";\r
-\r
-const CompassItem g_compassList[] = {\r
- {RIGHT_NORTH_DOWN_23, RIGHT_EASTNORTH_UP_68, EASTNORTH_DIRECTION},\r
- {RIGHT_EASTNORTH_UP_68, RIGHT_EAST_UP_113, EAST_DIRECTION},\r
- {RIGHT_EAST_UP_113, RIGHT_EASTSOUTH_UP_158, EASTSOUTH_DIRECTION},\r
- {RIGHT_EASTSOUTH_UP_158, RIGHT_SOUTH_UP_203, SOUTH_DIRECTION},\r
- {RIGHT_SOUTH_UP_203, RIGHT_WESTSOUTH_UP_248, WESTSOUTH_DIRECTION},\r
- {RIGHT_WESTSOUTH_UP_248, RIGHT_WEST_UP_293, WEST_DIRECTION},\r
- {RIGHT_WEST_UP_293, RIGHT_WESTNORTH_UP_338, WESTNORTH_DIRECTION}\r
-};\r
-\r
-static CompassPresenter *g_pMainView = nullptr;\r
-\r
-CompassPresenter::CompassPresenter()\r
-{\r
- g_pMainView = this;\r
-}\r
-\r
-CompassPresenter::~CompassPresenter()\r
-{\r
- g_pMainView = nullptr;\r
-}\r
-\r
-CompassPresenter* CompassPresenter::GetInstance(void)\r
-{\r
- return g_pMainView;\r
-}\r
-\r
-void CompassPresenter::DisplayAngleRight(uint16_t angle)\r
-{\r
- if ((angle >= RIGHT_WESTNORTH_UP_338) || (angle >= 0 && angle < RIGHT_NORTH_DOWN_23)) {\r
- CompassView::GetInstance()->DirectionSetText(NORTH_DIRECTION, (std::to_string(angle) + "°").c_str());\r
- }\r
- for (int i = 0; i < DIRECTION_COUNT; i++) {\r
- if ((angle >= g_compassList[i].beginAngle) && (angle < g_compassList[i].endAngle)) {\r
- CompassView::GetInstance()->DirectionSetText(g_compassList[i].dir, (std::to_string(angle) + "°").c_str());\r
- }\r
- }\r
-}\r
-\r
-void CompassPresenter::DisplayAngleDir(uint16_t angle)\r
-{\r
- if (CompassView::GetInstance() == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[DisplayAngleDir]CompassView::GetInstance() is nullptr");\r
- return;\r
- }\r
- if (angle >= 0 && angle <= RIGHT_MAX_ANGLE_360) {\r
- DisplayAngleRight(angle);\r
- }\r
-}\r
-\r
-\r
-void CompassPresenter::InScopeRotate(void)\r
-{\r
- angleDiff = lastRotateAngle - currentRotateAngle;\r
- if (angleDiff > LEFT_HALF_ANGLE_180 && angleDiff < RIGHT_HALF_ANGLE_180) {\r
- if (lastRotateAngle < currentRotateAngle) {\r
- CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);\r
- if (angleDiff <= LEFT_ROTATION_INTERVAL) {\r
- lastRotateAngle+=RIGHT_ROTATION_INTERVAL;\r
- } else {\r
- lastRotateAngle++;\r
- }\r
- } else if (lastRotateAngle != currentRotateAngle) {\r
- CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);\r
- if (angleDiff >= RIGHT_ROTATION_INTERVAL) {\r
- lastRotateAngle-=RIGHT_ROTATION_INTERVAL;\r
- } else {\r
- lastRotateAngle--;\r
- }\r
- }\r
- } else {\r
- if (lastRotateAngle < currentRotateAngle) {\r
- CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);\r
- if (angleDiff <= LEFT_ROTATION_INTERVAL) {\r
- lastRotateAngle-=RIGHT_ROTATION_INTERVAL;\r
- } else {\r
- lastRotateAngle--;\r
- }\r
- if (lastRotateAngle <= 0) {\r
- lastRotateAngle = RIGHT_MAX_ANGLE_360;\r
- }\r
- } else if (lastRotateAngle != currentRotateAngle) {\r
- CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);\r
- if (angleDiff >= RIGHT_ROTATION_INTERVAL) {\r
- lastRotateAngle+=RIGHT_ROTATION_INTERVAL;\r
- } else {\r
- lastRotateAngle++;\r
- }\r
- if (lastRotateAngle >= RIGHT_MAX_ANGLE_360) {\r
- lastRotateAngle = 0;\r
- }\r
- }\r
- }\r
-}\r
-\r
-void CompassPresenter::DetermineToRotate(void)\r
-{\r
- if (CompassView::GetInstance() == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[DetermineToRotate]CompassView::GetInstance() is nullptr");\r
- return;\r
- }\r
- bool initState = CompassView::GetInstance()->GetInitViewState();\r
- if (initState) {\r
- if (initDisplayStatus) {\r
- currentRotateAngle = CompassModel::GetInstance()->GetDisplayAngle();\r
- lastRotateAngle = currentRotateAngle;\r
- CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);\r
- DisplayAngleDir(currentRotateAngle);\r
- initDisplayStatus = false;\r
- } else {\r
- if (!getAngleStatus) {\r
- currentRotateAngle = CompassModel::GetInstance()->GetDisplayAngle();\r
- }\r
- InScopeRotate();\r
- getAngleStatus = true;\r
- if (lastRotateAngle == currentRotateAngle) {\r
- CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);\r
- DisplayAngleDir(currentRotateAngle);\r
- getAngleStatus = false;\r
- }\r
- }\r
- }\r
- CompassModel::GetInstance()->SetDisplayAngle(1);\r
-}\r
-\r
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: CompassPresenter.cpp
+ * Author:
+ * Create: 2021-12-21
+ */
+#include "compass/include/CompassView.h"
+#include "compass/include/CompassPresenter.h"
+#include "compass/include/CompassModel.h"
+#include "graphic_service.h"
+#include "gfx_utils/mem_check.h"
+#include "ui_resource_string.h"
+namespace OHOS {
+static constexpr int16_t RIGHT_NORTH_DOWN_23 = 23;
+static constexpr int16_t RIGHT_EASTNORTH_UP_68 = 68;
+static constexpr int16_t RIGHT_WESTNORTH_UP_338 = 338;
+static constexpr int16_t RIGHT_SOUTH_UP_203 = 203;
+static constexpr int16_t RIGHT_EASTSOUTH_UP_158 = 158;
+static constexpr int16_t RIGHT_WESTSOUTH_UP_248 = 248;
+static constexpr int16_t RIGHT_WEST_UP_293 = 293;
+static constexpr int16_t RIGHT_EAST_UP_113 = 113;
+static constexpr int16_t RIGHT_MAX_ANGLE_360 = 360;
+static constexpr int16_t RIGHT_HALF_ANGLE_180 = 180;
+static constexpr int16_t RIGHT_ROTATION_INTERVAL = 2;
+static constexpr int16_t DIRECTION_COUNT = 7;
+static constexpr int16_t LEFT_NORTH_DOWN_23 = -23;
+static constexpr int16_t LEFT_EASTNORTH_DOWN_337 = -337;
+static constexpr int16_t LEFT_WESTNORTH_DOWN_68 = -68;
+static constexpr int16_t LEFT_SOUTH_DOWN_202 = -202;
+static constexpr int16_t LEFT_EASTSOUTH_DOWN_247 = -247;
+static constexpr int16_t LEFT_WESTSOUTH_DOWN_157 = -157;
+static constexpr int16_t LEFT_WEST_DOWN_113 = -113;
+static constexpr int16_t LEFT_EAST_DOWN_292 = -292;
+static constexpr int16_t RIGHT_MIN_ANGLE_360 = -360;
+static constexpr int16_t LEFT_HALF_ANGLE_180 = -180;
+static constexpr int16_t LEFT_ROTATION_INTERVAL = -2;
+
+static constexpr const char *NORTH_DIRECTION = (char *)"北";
+static constexpr const char *SOUTH_DIRECTION = (char *)"南";
+static constexpr const char *WEST_DIRECTION = (char *)"西";
+static constexpr const char *EAST_DIRECTION = (char *)"东";
+static constexpr const char *WESTNORTH_DIRECTION = (char *)"西北";
+static constexpr const char *WESTSOUTH_DIRECTION = (char *)"西南";
+static constexpr const char *EASTSOUTH_DIRECTION = (char *)"东南";
+static constexpr const char *EASTNORTH_DIRECTION = (char *)"东北";
+
+static constexpr const int NORTH_DIRECTION_TEXTID = STR_NORTH;//北
+static constexpr const int SOUTH_DIRECTION_TEXTID = STR_SOUTH;//南
+static constexpr const int WEST_DIRECTION_TEXTID = STR_WEST;//西
+static constexpr const int EAST_DIRECTION_TEXTID = STR_EAST;//东
+static constexpr const int WESTNORTH_DIRECTION_TEXTID = STR_NORTHWEST;//西北
+static constexpr const int WESTSOUTH_DIRECTION_TEXTID = STR_SOUTHWEST;//西南
+static constexpr const int EASTSOUTH_DIRECTION_TEXTID = STR_SOUTHEAST;//西南
+static constexpr const int EASTNORTH_DIRECTION_TEXTID = STR_NORTHEAST;//东北
+
+const CompassItem g_compassList[] = {
+ {RIGHT_NORTH_DOWN_23, RIGHT_EASTNORTH_UP_68, EASTNORTH_DIRECTION,EASTNORTH_DIRECTION_TEXTID},
+ {RIGHT_EASTNORTH_UP_68, RIGHT_EAST_UP_113, EAST_DIRECTION,EAST_DIRECTION_TEXTID},
+ {RIGHT_EAST_UP_113, RIGHT_EASTSOUTH_UP_158, EASTSOUTH_DIRECTION,EASTSOUTH_DIRECTION_TEXTID},
+ {RIGHT_EASTSOUTH_UP_158, RIGHT_SOUTH_UP_203, SOUTH_DIRECTION,SOUTH_DIRECTION_TEXTID},
+ {RIGHT_SOUTH_UP_203, RIGHT_WESTSOUTH_UP_248, WESTSOUTH_DIRECTION,WESTSOUTH_DIRECTION_TEXTID},
+ {RIGHT_WESTSOUTH_UP_248, RIGHT_WEST_UP_293, WEST_DIRECTION,WEST_DIRECTION_TEXTID},
+ {RIGHT_WEST_UP_293, RIGHT_WESTNORTH_UP_338, WESTNORTH_DIRECTION,WESTNORTH_DIRECTION_TEXTID}
+};
+
+static CompassPresenter *g_pMainView = nullptr;
+
+CompassPresenter::CompassPresenter()
+{
+ g_pMainView = this;
+#ifdef MEM_CHECK
+ MemCheck::GetInstance()->EnableLeakCheck(true);
+#endif
+}
+
+CompassPresenter::~CompassPresenter()
+{
+ g_pMainView = nullptr;
+#ifdef MEM_CHECK
+ MemCheck::GetInstance()->EnableLeakCheck(false);
+#endif
+}
+
+CompassPresenter* CompassPresenter::GetInstance(void)
+{
+ return g_pMainView;
+}
+//显示指南针的角度
+
+/*
+ * @brief 根据传入的角度值 angle 来更新指南针的显示方向
+ * @param angle 角度值
+*/
+void CompassPresenter::DisplayAngleRight(uint16_t angle)
+{
+ if ((angle >= RIGHT_WESTNORTH_UP_338) || (angle >= 0 && angle < RIGHT_NORTH_DOWN_23)) {
+ //CompassView::GetInstance()->DirectionSetText(NORTH_DIRECTION, ("~" + std::to_string(angle) + "°").c_str());
+ // CompassView::GetInstance()->DirectionSetText(NORTH_DIRECTION, (std::to_string(angle) + "°").c_str());
+ CompassView::GetInstance()->DirectionSetTextId(NORTH_DIRECTION_TEXTID, (std::to_string(angle) + "°").c_str());
+ }
+ for (int i = 0; i < DIRECTION_COUNT; i++) {
+ if ((angle >= g_compassList[i].beginAngle) && (angle < g_compassList[i].endAngle)) {
+ // CompassView::GetInstance()->DirectionSetText(g_compassList[i].dir, ("~" + std::to_string(angle) + "°").c_str());
+ // CompassView::GetInstance()->DirectionSetText(g_compassList[i].dir, (std::to_string(angle) + "°").c_str());
+ CompassView::GetInstance()->DirectionSetTextId(g_compassList[i].dir_textId, (std::to_string(angle) + "°").c_str());
+ }
+ }
+}
+
+/*
+ * @brief 校验 CompassView 的实例是否存在,并确定传入的角度值是否有效
+*/
+void CompassPresenter::DisplayAngleDir(uint16_t angle)
+{
+ if (CompassView::GetInstance() == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[DisplayAngleDir]CompassView::GetInstance() is nullptr");
+ return;
+ }
+ if (angle >= 0 && angle <= RIGHT_MAX_ANGLE_360) {
+ DisplayAngleRight(angle);
+ }
+}
+
+/*
+ * @brief 根据上一次和当前的旋转角度来判断如何旋转指南针,使其指向正确的方向
+*/
+void CompassPresenter::InScopeRotate(void)
+{
+ angleDiff = lastRotateAngle - currentRotateAngle;
+ if (angleDiff > LEFT_HALF_ANGLE_180 && angleDiff < RIGHT_HALF_ANGLE_180) {
+ if (lastRotateAngle < currentRotateAngle) {
+ CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);
+ if (angleDiff <= LEFT_ROTATION_INTERVAL) {
+ lastRotateAngle+=RIGHT_ROTATION_INTERVAL;
+ } else {
+ lastRotateAngle++;
+ }
+ } else if (lastRotateAngle != currentRotateAngle) {
+ CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);
+ if (angleDiff >= RIGHT_ROTATION_INTERVAL) {
+ lastRotateAngle-=RIGHT_ROTATION_INTERVAL;
+ } else {
+ lastRotateAngle--;
+ }
+ }
+ } else {
+ if (lastRotateAngle < currentRotateAngle) {
+ CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);
+ if (angleDiff <= LEFT_ROTATION_INTERVAL) {
+ lastRotateAngle-=RIGHT_ROTATION_INTERVAL;
+ } else {
+ lastRotateAngle--;
+ }
+ if (lastRotateAngle <= 0) {
+ lastRotateAngle = RIGHT_MAX_ANGLE_360;
+ }
+ } else if (lastRotateAngle != currentRotateAngle) {
+ CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);
+ if (angleDiff >= RIGHT_ROTATION_INTERVAL) {
+ lastRotateAngle+=RIGHT_ROTATION_INTERVAL;
+ } else {
+ lastRotateAngle++;
+ }
+ if (lastRotateAngle >= RIGHT_MAX_ANGLE_360) {
+ lastRotateAngle = 0;
+ }
+ }
+ }
+}
+
+/*
+ * @brief 在指南针视图初始化的情况下,根据旋转角度的变化来执行指南针的旋转操作,并在需要的时候更新显示的角度和方向。
+*/
+void CompassPresenter::DetermineToRotate(void)
+{
+ if (CompassView::GetInstance() == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[DetermineToRotate]CompassView::GetInstance() is nullptr");
+ return;
+ }
+ bool initState = CompassView::GetInstance()->GetInitViewState();
+ if (initState == true) {
+ if (initDisplayStatus == true) {
+ currentRotateAngle = CompassModel::GetInstance()->GetDisplayAngle();
+ lastRotateAngle = currentRotateAngle;
+ CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);
+ DisplayAngleDir(currentRotateAngle);
+ initDisplayStatus = false;
+ } else {
+ if (getAngleStatus == false) {
+ currentRotateAngle = CompassModel::GetInstance()->GetDisplayAngle();
+ }
+ InScopeRotate();
+ getAngleStatus = true;
+ if (lastRotateAngle == currentRotateAngle) {
+ CompassView::GetInstance()->CompassStartRotate(lastRotateAngle);
+ DisplayAngleDir(currentRotateAngle);
+ getAngleStatus = false;
+ }
+ }
+ }
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(&CompassModel::SetDisplayAngle,
+ CompassModel::GetInstance(), 1));//将任务发布到异步线程
+}
+
}
\ No newline at end of file
#include <string>
#include "common/image_cache_manager.h"
#include "ui_resource_image.h"
-#include "CompassView.h"
-#include "MainCompassView.h"
-
+#include "compass/include/CompassView.h"
+#include "compass/include/MainCompassView.h"
+#include "compass/include/CompassPresenter.h"
+#include "ui_resource_string.h"
namespace OHOS {
-static constexpr int16_t POINT_CENTER_IMAGE_X = 150;
-static constexpr int16_t POINT_CENTER_IMAGE_Y = 150;
-static constexpr int16_t TRIANGULATION_X = 210;
+static constexpr int16_t COMPASSVIEW_W = 466;
+static constexpr int16_t COMPASSVIEW_H = 466;
+static constexpr int16_t POINT_CENTER_IMAGE_X = 192;
+static constexpr int16_t POINT_CENTER_IMAGE_Y = 282;
+static constexpr int16_t TRIANGULATION_X = 221;
static constexpr int16_t TRIANGULATION_Y = 0;
-static constexpr int16_t DIRECTIONLABEL_X = 160;
-static constexpr int16_t DIRECTIONLABEL_Y = 215;
-static constexpr int16_t FONT_TEXT_SIZE = 25;
-static constexpr int16_t ANGLEDLABEL_X = 215;
-static constexpr int16_t ANGLEDLABEL_Y = 215;
-static constexpr int16_t TEXT_WIDTH = 90;
-static constexpr int16_t TEXT_HEIGHT = 35;
+
+static constexpr int16_t DIRECTIONLABEL_X = 83;
+static constexpr int16_t DIRECTIONLABEL_Y = 161;
+static constexpr int16_t DIRECTIONLABEL_TEXT_WIDTH = 300;
+static constexpr int16_t DIRECTIONLABEL_TEXT_HEIGH = 76;
+static constexpr int16_t DIRECTIONLABEL_FONT_TEXT_SIZE = 65;
+static constexpr int16_t DIRECTIONLABEL_STYLE_LINE_HEIGHT = 76;
+
+static constexpr int16_t ANGLEDLABEL_X = 83;
+static constexpr int16_t ANGLEDLABEL_Y = 240;
+static constexpr int16_t ANGLEDLABEL_TEXT_WIDTH = 300;
+static constexpr int16_t ANGLEDLABEL_TEXT_HEIGHT = 76;
+static constexpr int16_t ANGLEDLABEL_FONT_TEXT_SIZE = 65;
+static constexpr int16_t ANGLEDLABEL_STYLE_LINE_HEIGHT = 76;
+
static constexpr int16_t RANDOM_NUMBER_720 = 720;
static constexpr int16_t RANDOM_NUMBER_360 = 360;
static constexpr int16_t DELAYING_NUMS = 2000;
void CompassView::ClearAll(void)
{
RemoveAll();
+ UnLoadCompassImageRes();
if (directionLabel != nullptr) {
delete directionLabel;
directionLabel= nullptr;
delete backGround;
backGround = nullptr;
}
- if (rotateShaft != nullptr) {
- delete rotateShaft;
- rotateShaft = nullptr;
+ if(PlaceMarkerImage != nullptr)
+ {
+ delete PlaceMarkerImage;
+ PlaceMarkerImage = nullptr;
}
if (triangulation != nullptr) {
delete triangulation;
triangulation = nullptr;
}
}
-
+//方向和角度设置
void CompassView::DirectionSetText(const char *text, const char *angle)
{
directionLabel->SetText(text);
angledLabel->SetText(angle);
}
+void CompassView::DirectionSetTextId(int textId, const char *angle)
+{
+ if(directionLabel && angledLabel)
+ {
+ directionLabel->SetTextId(textId);
+ directionLabel->Invalidate();
+ angledLabel->SetText(angle);
+ angledLabel->Invalidate();
+ }
+}
+//加载指南针图片
bool CompassView::LoadCompassImage(UIImageView *view, uint32_t resId)
{
std::string file = COMPASS_IAMGES;
view->SetSrc(image);
return true;
}
-
+bool CompassView::GetResLoadStatus(void)
+{
+ return resLoadStatus;
+}
+void CompassView::SetResLoadStatus(bool state)
+{
+ resLoadStatus = state;
+}
+/*预加载指南针图片资源*/
+void CompassView::PreLoadCompassImageRes(void)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CompassView::PreLoadCompassImageRes");
+ if(!GetResLoadStatus()){
+ if (LoadCompassImage(backGround, COMPASS_COMPASS0) == false) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d], triangulation load fail", __LINE__);
+ return;
+ }
+ if (LoadCompassImage(PlaceMarkerImage, COMPASS_COMPASS1) == false) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d], PlaceMarkerImage load fail", __LINE__);
+ return;
+ }
+ if (LoadCompassImage(triangulation, COMPASS_COMPASS2) == false) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "triangulation load fail");
+ return ;
+ }
+ SetResLoadStatus(true);
+ }
+}
+/*卸载指南针图片资源*/
+void CompassView::UnLoadCompassImageRes(void)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CompassView::UnLoadCompassImageRes");
+ if(GetResLoadStatus())
+ {
+ ImageInfo* image = nullptr;
+ backGround->SetSrc(image);
+ PlaceMarkerImage->SetSrc(image);
+ triangulation->SetSrc(image);
+ ImageCacheManager::GetInstance().UnloadOneInMultiRes(COMPASS_COMPASS0,COMPASS_IAMGES);
+ ImageCacheManager::GetInstance().UnloadOneInMultiRes(COMPASS_COMPASS1,COMPASS_IAMGES);
+ ImageCacheManager::GetInstance().UnloadOneInMultiRes(COMPASS_COMPASS2,COMPASS_IAMGES);
+ SetResLoadStatus(false);
+ }
+}
+//初始化指南针图片
bool CompassView::InitCompassImage(void)
{
backGround = new UIImageView();
}
backGround->SetPosition(0, 0);
- if (!LoadCompassImage(backGround, COMPASS_COMPASS0)) {
+ if (LoadCompassImage(backGround, COMPASS_COMPASS0) == false) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d], triangulation load fail", __LINE__);
return false;
}
- rotateShaft = new UIImageView();
- if (rotateShaft == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d], rotateShaft new fail", __LINE__);
+ PlaceMarkerImage = new UIImageView();
+ if (PlaceMarkerImage == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d], PlaceMarkerImage new fail", __LINE__);
return false;
}
- rotateShaft->SetPosition(POINT_CENTER_IMAGE_X, POINT_CENTER_IMAGE_Y);
- if (!LoadCompassImage(rotateShaft, COMPASS_COMPASS1)) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d], rotateShaft load fail", __LINE__);
+ PlaceMarkerImage->SetPosition(POINT_CENTER_IMAGE_X, POINT_CENTER_IMAGE_Y);
+ if (LoadCompassImage(PlaceMarkerImage, COMPASS_COMPASS1) == false) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d], PlaceMarkerImage load fail", __LINE__);
return false;
}
return false;
}
triangulation->SetPosition(TRIANGULATION_X, TRIANGULATION_Y);
- if (!LoadCompassImage(triangulation, COMPASS_COMPASS2)) {
+ if (LoadCompassImage(triangulation, COMPASS_COMPASS2) == false) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "triangulation load fail");
return false;
}
+
+ SetResLoadStatus(true);
+
return true;
}
-
+//初始化页面
bool CompassView::InitPage(void)
-{
- if (!InitCompassImage()) {
+{
+ if (InitCompassImage() == false) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitCompassImage fail");
ClearAll();
return false;
}
- directionLabel = new UILabel();
+ directionLabel = new UILabelExt();
if (directionLabel == nullptr) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "directionLabel new fail");
ClearAll();
return false;
}
directionLabel->SetPosition(DIRECTIONLABEL_X, DIRECTIONLABEL_Y);
- directionLabel->Resize(TEXT_WIDTH, TEXT_HEIGHT);
- directionLabel->SetText("北");
- directionLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_TEXT_SIZE);
+ directionLabel->Resize(DIRECTIONLABEL_TEXT_WIDTH, DIRECTIONLABEL_TEXT_HEIGH);
+ directionLabel->SetTextId(STR_NORTH);
+ directionLabel->SetStyle(STYLE_TEXT_FONT, DIRECTIONLABEL_FONT_TEXT_SIZE);
+ directionLabel->SetStyle(STYLE_LINE_HEIGHT, DIRECTIONLABEL_STYLE_LINE_HEIGHT);
+ directionLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, DIRECTIONLABEL_FONT_TEXT_SIZE);
+ directionLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
+ directionLabel->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
directionLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- directionLabel->SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE);
- directionLabel->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- directionLabel->SetStyle(STYLE_TEXT_COLOR, Color::White().full);
+ // directionLabel->SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE);
+ // directionLabel->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+ // directionLabel->SetStyle(STYLE_TEXT_COLOR, Color::White().full);
angledLabel = new UILabel();
if (angledLabel == nullptr) {
ClearAll();
return false;
}
- angledLabel->SetPosition(ANGLEDLABEL_X, ANGLEDLABEL_Y);
- angledLabel->Resize(TEXT_WIDTH, TEXT_HEIGHT);
+ angledLabel->SetPosition(ANGLEDLABEL_X, ANGLEDLABEL_Y);
+ angledLabel->Resize(ANGLEDLABEL_TEXT_WIDTH, ANGLEDLABEL_TEXT_HEIGHT);
angledLabel->SetText("0°");
- angledLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_TEXT_SIZE);
+ angledLabel->SetStyle(STYLE_TEXT_FONT, ANGLEDLABEL_FONT_TEXT_SIZE);
+ angledLabel->SetStyle(STYLE_LINE_HEIGHT, ANGLEDLABEL_STYLE_LINE_HEIGHT);
+ angledLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, ANGLEDLABEL_FONT_TEXT_SIZE);
+ angledLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
angledLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
angledLabel->SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE);
angledLabel->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
angledLabel->SetStyle(STYLE_TEXT_COLOR, Color::White().full);
Add(backGround);
- Add(rotateShaft);
+ //Add(PlaceMarkerImage);
Add(triangulation);
Add(directionLabel);
Add(angledLabel);
return true;
}
-
+//初始化视图为可拖拽,可触摸
bool CompassView::InitView(void *caller)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CompassView InitView %p", caller);
- if (!InitPage()) {
+ if (InitPage() == false) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitPage fail");
return false;
}
{
return g_pCompassView;
}
-
+//背景图片逆时针旋转numb度
void CompassView::CompassStartRotate(int16_t numb)
{
if (backGround == nullptr) {
/*
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
- * Description: MainCompassPresenter.cpp
- * Author:
- * Create: 2021-12-21
- */
-#include "CompassView.h"
-#include "MainCompassPresenter.h"
-#include "MainCompassView.h"
+* @Author: luozheng 1732036298@qq.com
+* @Date: 2024-03-14 15:02:03
+* @LastEditors: luozheng 1732036298@qq.com
+* @LastEditTime: 2024-10-28 18:25:42
+* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/compass/src/MainCompassPresenter.cpp
+*/
+
+#include "compass/include/CompassView.h"
+#include "compass/include/MainCompassPresenter.h"
+#include "compass/include/MainCompassView.h"
+#include "wearable_log.h"
+#include "common/key_code.h"
+#include "custom_utils.h"
+#include "UiConfig.h"
#include "NativeRegisterManager.h"
#include "ui_resource_string.h"
MainCompassPresenter::MainCompassPresenter()
{
+ ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON);
g_pMainView = this;
}
MainCompassPresenter::~MainCompassPresenter()
{
+ ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);
g_pMainView = nullptr;
}
return g_pMainView;
}
-bool MainCompassPresenter::OnDrag(UIView& view, const DragEvent& event)
+bool MainCompassPresenter::OnDrag(UIView &view, const DragEvent &event)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainCompassPresenter::OnDrag");
+ UNUSED(view);
+ if ((event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) // 拖动过程中判断是否是水平滑动
+ {
+ MainCompassPresenter::X_DRAG_FLAG = true;
+ }
+ return true;
+}
+
+bool MainCompassPresenter::OnDragEnd(UIView& view, const DragEvent& event)
{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainCompassPresenter::OnDragEnd");
UNUSED(view);
- if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) {
- NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && MainCompassPresenter::X_DRAG_FLAG)
+ {
+ NativeAbility::GetInstance().Back();
+ }
+ return true;
+}
+
+bool MainCompassPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainCompassPresenter::OnKeyAct");
+ uint16_t 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)
+ {
+ NativeAbility::GetInstance().Back();
}
return true;
}
* Create: 2021-12-23
*/
-#include "MainCompassView.h"
-#include "MainCompassPresenter.h"
+#include "compass/include/MainCompassView.h"
+#include "compass/include/MainCompassPresenter.h"
+#include "compass/include/CompassModel.h"
namespace OHOS {
static constexpr int16_t TWO_HOUR_SECOND = 7200;
MainCompassView::~MainCompassView()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainCompassView::~MainCompassView");
+ CompassModel::GetInstance()->CloseCompassSensor();
delete compassView;
compassView = nullptr;
delete compassCalibrationView;
compassCalibrationView->SetVisible(false);
}
CompassModel::GetInstance()->OpenCompassSensor();
+
+ // 增加按键监听
+ RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::MainCompassPresenter::GetInstance();
+ RootView::GetInstance()->SetOnKeyActListener(keyactListener);
}
{\r
ChangeView(COUNTDOWN_MAX, MAIN_COUNTDOWN); // 如果倒计时的timer已经结束,则跳转到主界面\r
}\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
/* -------------------------------------------------------------------------- */\r
}\r
}
\ No newline at end of file
{
AddViewToRootContainer(scrollView);
}
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
}
\ No newline at end of file
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "phone is not connected");
FindPhoneViewInit_BlueToothDisConnected();
}
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
return;
}
}
\ No newline at end of file
AddViewToRootContainer(group);
}
InitSwipeData();
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
void FlashlightView::DeinitSwipeData()
/* --------------------------------- 添加按键监听 --------------------------------- */
// RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::MaingoalPresenter::GetInstance();
//RootView::GetInstance()->SetOnKeyActListener(keyactListener);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
/* -------------------------------------------------------------------------- */
}
GetRootContainer()->SetDraggable(true);
GetRootContainer()->SetTouchable(true);
GetRootContainer()->SetOnDragListener(presenter_);
- //RootView::GetInstance()->SetOnKeyActListener(presenter_);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
if (imageAnimator != nullptr)
{
GetRootContainer()->SetDraggable(true);
GetRootContainer()->SetTouchable(true);
GetRootContainer()->SetOnDragListener(presenter_);
- //RootView::GetInstance()->SetOnKeyActListener(presenter_);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
}
UpdateShowConfig();
AddViewToRootContainer(scrollView_);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
scrollView->Add(MotionRecognitionToggleButton);
scrollView->Add(note);
AddViewToRootContainer(scrollView);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
NetworkAndCallScrollView[NETWORKANDCALLVIEW]->Add(MobileData_toggleButton);
NetworkAndCallScrollView[NETWORKANDCALLVIEW]->Add(note);
AddViewToRootContainer(NetworkAndCallScrollView[NETWORKANDCALLVIEW]);
- //RootView::GetInstance()->SetOnKeyActListener(presenter_);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
viewInitStatus = true;
}
- //RootView::GetInstance()->SetOnKeyActListener(presenter_);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
return;
}
void RecordingView::OnStart()\r
{\r
RecordingViewInit();\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
return;\r
}\r
}
\ No newline at end of file
RootView::GetInstance()->SetDraggable(true);
RootView::GetInstance()->SetTouchable(true);
RootView::GetInstance()->SetOnDragListener(presenter_);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
RespiratoryTrainingViewInit();
}
\r
Draw();\r
\r
- //GetRootContainer()->SetOnKeyActListener(presenter_);\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
}\r
\r
\r
\r
AddViewToRootContainer(scrollview_);\r
InitView();\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
\r
}\r
\r
}\r
\r
DisplayDataOrNoScreen();\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
}\r
\r
void ScheduleView::OnStop()\r
GetRootContainer()->SetOnDragListener(presenter_);
GetRootContainer()->SetTouchable(true);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
bool SetTimeFormatView::SetTimeFormatInit() {
}\r
UpdateCallVolumeSliderValue();\r
AddViewToRootContainer(CallVolumeScrollView);\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
\r
return;\r
}\r
GetRootContainer()->SetTouchable(true);\r
GetRootContainer()->SetDraggable(true);\r
GetRootContainer()->SetOnDragListener(presenter_);\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
\r
if (!initViewStatus)\r
{\r
GetRootContainer()->SetTouchable(true);\r
GetRootContainer()->SetDraggable(true);\r
GetRootContainer()->SetOnDragListener(presenter_);\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
\r
if (!initViewStatus)\r
{\r
scrollView[MAIN_STOPWATCH]->Add(ResetOrMarkbutton);\r
group->Add(scrollView[MAIN_STOPWATCH]);\r
AddViewToRootContainer(group);\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
}\r
}
\ No newline at end of file
PreLoad();
AddViewToRootContainer(scrollview_);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TakephotosView OnStart is ok");
}
weatherSwipeViewList->SetOnSwipeListener(presenter_);\r
}\r
UpdateMainWeatherViewVisibility();\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
}\r
\r
WeatherView *MainWeatherView::GetWeatherView(void)\r