-/***
+/***
+ * @Date: 2024-05-20 19:40:41
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-15 11:08:58
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/traingrecord/include/TraingRecordPresenter.h
+ */
+/***
* @Date: 2024-05-20 19:40:41
* @LastEditors: Caisking 3449750381@qq.com
* @LastEditTime: 2024-07-06 16:36:57
class TraingRecordPresenter : public Presenter<TraingRecordView>,
public UIView::OnClickListener,
- public UIView::OnDragListener
+ public UIView::OnDragListener,
+ public RootView::OnKeyActListener
{
public:
TraingRecordPresenter();
bool OnClick(UIView &view, const ClickEvent &event) override;
bool OnDrag(UIView &view, const DragEvent &event) override;
bool OnDragEnd(UIView &view, const DragEvent &event) override;
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
TraingRecordModel *p_TraingRecordModel{nullptr};
};
#include "traingrecord/include/TraingRecordModel.h"
#include "traing/include/TraingEnddataView.h"
+#include "KeyInputListener.h"
+#include "custom_utils.h"
+#include "common/key_code.h"
// #include "TraingRecordView.h"
namespace OHOS
}
return false;
}
+ // 增加按键事件
+ bool TraingRecordPresenter::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().ChangeSlice(VIEW_APPLIST, TransitionType::TRANSITION_ZOOM);
+ }
+ return true;
+ }
}
ShowRecordView();
PreLoad();
RootView::GetInstance()->Add(container_);
+ SetContainerView(container_);
+ // 增加按键监听
+ RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::TraingRecordPresenter::GetInstance();
+ RootView::GetInstance()->SetOnKeyActListener(keyactListener);
}
void TraingRecordView::AddToTraingRecordList(const TraingRecordItem &item)
{