SetUpToast();
SetContainerView(container_);
- // 增加按键监听
- RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::AddCardPresenter::GetInstance();
- RootView::GetInstance()->SetOnKeyActListener(keyactListener);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
void AddCardView::OnSetUpView()
+/***
+ * @Date: 2024-07-05 11:09:20
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-03 15:12:30
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/set_dial/include/SetDialPresenter.h
+ */
/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: SetDialPresenter.h
#include "KeyInputListener.h"
#include "ModelListenerSample.h"
-namespace OHOS {
-
-const uint16_t MISS_DIAL_OPERATION_TIME = 3000;
-
-class SetDialView;
-class SetDialModel;
-class SetDialPresenter : public Presenter<SetDialView>,
- public UIView::OnClickListener, public ModelListenerSample,
- public UICoverflowView::OnCoverflowScrollListener,
- public UIRollerView::OnScrollListener {
-public:
- SetDialPresenter();
- ~SetDialPresenter() override;
- size_t GetDialCount(void);
- std::vector<SetDialInfo>& GetDialInfo(void);
- uint8_t GetPageIndex(void);
- void OnStart() override;
- void OnResume() override;
- void OnStop() override;
- void OnTickEvent() override;
- void Notify() override {}
- bool OnScroll() override;
- void OnScroll(UIRollerView* roller, std::string currentItemName, float currentItemAngle) override;
- bool OnClick(UIView &view, const ClickEvent &event) override;
- void ResetTickTimer(void);
-private:
- void OnClickAction(void);
- KeyInputListener *keyActListenr{nullptr};
- SetDialModel *model{nullptr};
- uint64_t startTime{0};
-};
+namespace OHOS
+{
+
+ const uint16_t MISS_DIAL_OPERATION_TIME = 3000;
+
+ class SetDialView;
+ class SetDialModel;
+ class SetDialPresenter : public Presenter<SetDialView>,
+ public UIView::OnClickListener,
+ public ModelListenerSample,
+ public UICoverflowView::OnCoverflowScrollListener,
+ public UIRollerView::OnScrollListener,
+ public RootView::OnKeyActListener
+ {
+ public:
+ SetDialPresenter();
+ ~SetDialPresenter() override;
+ size_t GetDialCount(void);
+ std::vector<SetDialInfo> &GetDialInfo(void);
+ uint8_t GetPageIndex(void);
+ void OnStart() override;
+ void OnResume() override;
+ void OnStop() override;
+ void OnTickEvent() override;
+ void Notify() override {}
+ bool OnScroll() override;
+ void OnScroll(UIRollerView *roller, std::string currentItemName, float currentItemAngle) override;
+ bool OnClick(UIView &view, const ClickEvent &event) override;
+
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
+
+ void ResetTickTimer(void);
+
+ private:
+ void OnClickAction(void);
+ KeyInputListener *keyActListenr{nullptr};
+ SetDialModel *model{nullptr};
+ uint64_t startTime{0};
+ };
}
#endif // SET_DIAL_PRESENTER_H
\ No newline at end of file
+/***
+ * @Date: 2024-07-05 11:09:20
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-03 15:16:08
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/set_dial/include/SetDialView.h
+ */
/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: SetDialView.h
#include "BaseView.h"
#include "ChangeSliceListener.h"
#include "UiConfig.h"
+#include "KeyInputListener.h"
namespace OHOS {
static constexpr uint8_t DIVISOR_TWO = 2;
+/***
+ * @Date: 2024-07-05 11:09:20
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-03 15:11:43
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialPresenter.cpp
+ */
/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: SetDialPresenter.cpp
#include "SetDialModel.h"
#include "SetDialPresenter.h"
+#include "KeyInputListener.h"
+#include "custom_utils.h"
+#include "common/key_code.h"
+
namespace OHOS
{
SetDialPresenter::SetDialPresenter()
ResetTickTimer();
}
- SetDialPresenter::~SetDialPresenter()
- {
- if (keyActListenr != nullptr)
- {
- delete keyActListenr;
- keyActListenr = nullptr;
- }
- }
+ SetDialPresenter::~SetDialPresenter() {}
void SetDialPresenter::OnStart()
{
Presenter<SetDialView>::OnStart();
- if (keyActListenr == nullptr)
- {
- keyActListenr = new KeyInputListener();
- if (keyActListenr != nullptr)
- {
- RootView::GetInstance()->SetOnKeyActListener(keyActListenr);
- }
- else
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnStart: new KeyInputListener fail");
- }
- }
}
void SetDialPresenter::OnResume(void)
{
uint8_t pageIndex = view_->GetCoverflowPage();
model->SaveDialSetting(pageIndex);
+ /*切换当前表盘*/
NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);
+ NativeAbility::GetInstance().ClearSliceIdStack(); // 清空Slice栈
}
bool SetDialPresenter::OnClick(UIView &view, const ClickEvent &event)
{
startTime = osKernelGetTick2ms();
}
+
+ // 增加按键事件
+ bool SetDialPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
+ {
+ unsigned short keyID = event.GetKeyId();
+ unsigned short keyState = event.GetState();
+ // 如果是power键,且是亮屏状态,按键释放就返回上一级
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ {
+ // 回退
+ NativeAbility::GetInstance().Back();
+ }
+ return true;
+ }
}
{
SetUpRollerView();
}
+
+ SetContainerView(container_);
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
void SetDialView::SetUpCoverflowView(void)
+/***
+ * @Date: 2024-07-05 11:09:20
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-03 15:00:08
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStylePresenter.cpp
+ */
/***
* @Date: 2024-07-05 11:09:20
* @LastEditors: Caisking 3449750381@qq.com
#include "custom_utils.h"
#include "common/key_code.h"
-
namespace OHOS
{
SetDialStylePresenter::SetDialStylePresenter()
if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) &&
(event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY()))))
{
+#if 0
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnDrag ChangeSlice");
uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
NativeAbility::GetInstance().ChangeSlice(preSlice);
+#endif
+ NativeAbility::GetInstance().Back();
}
return true;
}
if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
{
// 回退
- NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST, TransitionType::TRANSITION_ZOOM);
+ NativeAbility::GetInstance().Back();
}
return true;
}