#include "Presenter.h"
#include "TraingNomalView.h"
-
+#include "ModelListenerSample.h"
namespace OHOS
{
class TraingNomalView;
class TraingNomalPresenter : public Presenter<TraingNomalView>,
public UIView::OnClickListener,
public RootView::OnKeyActListener,
+ public ModelListenerSample,
public UIView::OnDragListener
{
public:
void OnResume() override;
void OnStop() override;
void NavigateBack();
+ void Notify() override;
static TraingNomalPresenter *GetInstance();
TraingNomalView::TraingNomalView()
{
+ TraingModel::GetInstance()->start_heart_gps();
g_pTraingNomalView = this;
}
TraingNomalView::~TraingNomalView()
{
DeInit();
+ // TraingModel::GetInstance()->stop_heart_gps();
g_pTraingNomalView = nullptr;
}
TraingNomalView *TraingNomalView::GetInstance()
{
-
return g_pTraingNomalView;
}
buttonGo_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingNomalPresenter::GetInstance()));
buttonSet_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingNomalPresenter::GetInstance()));
container_->Add(buttonGo_);
- container_->Add(buttonSet_);
+ container_->Add(buttonSet_);
#if defined(BOARD_W9) || defined(BOARD_N9)
InitUILabel(heartrate_label_, -32, 230, 200, 60, "heartrate_label_", "--", DEFAULT_VECTOR_FONT_FILENAME, 30);
container_->Add(heartrate_label_);
// 获取gps状态
bool gps_status = TraingModel::GetInstance()->GetGPSConnectState();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gps状态: %d", gps_status);
if (gps_status)
{
//连接状态
RootView::GetInstance()->RemoveAll();
return;
}
+ //更新gps状态
+ bool TraingNomalView::updateview()
+ {
+ if(gps_image_ == nullptr)
+ {
+ return false;
+ }
+ // 更新GPS状态显示
+ bool gps_status = TraingModel::GetInstance()->GetGPSConnectState();
+ if(gps_status == updat_view_status)
+ {
+ return false;
+ }
+ updat_view_status = gps_status;
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gps状态: %d", updat_view_status);
+ ImageInfo *image;
+ if (updat_view_status)
+ {
+ // 连接状态 - 加载并设置GPS连接图标
+ ImageCacheManager::GetInstance().UnloadSingleRes(GPS_2_IMAGE);
+ image = ImageCacheManager::GetInstance().LoadSingleRes(GPS_1_IMAGE, false);
+ if (image == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "加载GPS连接图标失败: %s", GPS_1_IMAGE);
+ return false;
+ }
+ }
+ else
+ {
+ ImageCacheManager::GetInstance().UnloadSingleRes(GPS_1_IMAGE);
+ image = ImageCacheManager::GetInstance().LoadSingleRes(GPS_2_IMAGE, false);
+ if (image == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "加载GPS断开图标失败: %s", GPS_2_IMAGE);
+ return false;
+ }
+ }
+ gps_image_->SetSrc(image);
+ return true;
+ }
}