From: Caisking <3449750381@qq.com> Date: Fri, 21 Jun 2024 12:46:03 +0000 (+0800) Subject: 优化message部分显示逻辑 X-Git-Tag: release_V1.2.70_20241020_135402~959^2^2~11 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=refs%2Fchanges%2F348%2F2;p=mirrors%2FFD230.git 优化message部分显示逻辑 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp index 0f7f6d4ee..9ecef0304 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp @@ -32,7 +32,7 @@ namespace OHOS MessageModel::MessageModel() { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MessageModel"); - jsonDataExists = HasDataJson(); // 更新json状态 + HasDataJson(); // 更新json状态 } MessageModel::~MessageModel() {} @@ -56,6 +56,7 @@ namespace OHOS if (!file.is_open()) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Unable to open file"); + jsonDataExists = false; return false; } // 检查文件是否为空 @@ -64,10 +65,13 @@ namespace OHOS { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "File is empty"); file.close(); + jsonDataExists = false; return false; } // 关闭文件 file.close(); + + jsonDataExists = true; return true; } /*加载json函数*/ @@ -186,6 +190,7 @@ namespace OHOS { return Messages; } + bool MessageModel::GetJsonLoadStatus() { return jsonDataExists; @@ -241,9 +246,13 @@ namespace OHOS return false; } - messageVector.erase(messageVector.begin() + currentIndex); + if (messageVector.size() == 1) + { + // 如果是最后一条数据则需要直接删除文件 + return ClearAllData(); + } - // 保存修改后的数据 + messageVector.erase(messageVector.begin() + currentIndex); SaveMessageData(messageVector); return true; diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessagePresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessagePresenter.cpp index 3150eff01..4199190e5 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessagePresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessagePresenter.cpp @@ -88,16 +88,18 @@ namespace OHOS bool MessagePresenter::OnDrag(UIView &view, const DragEvent &event) { - if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY())))) { NativeAbility::GetInstance().Back(); } - // 向下回到主界面 - if (event.GetDragDirection() == DragEvent::DIRECTION_TOP_TO_BOTTOM) + if (!MessageModel::GetInstance().GetPopupViewState()) { - // NativeAbility::GetInstance().EnterSlice(VIEW_MAIN); + // 向下回到主界面 + if (event.GetDragDirection() == DragEvent::DIRECTION_TOP_TO_BOTTOM) + { + NativeAbility::GetInstance().EnterSlice(VIEW_MAIN); + } } return true; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageView.cpp b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageView.cpp index 7a8e38376..210259d3a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageView.cpp @@ -43,12 +43,8 @@ namespace OHOS } void MessageView::InitView() { - if (container_ == nullptr) - { - container_ = new UIScrollView(); - container_->SetPosition(0, 0, 466, 466); - container_->SetStyle(STYLE_BACKGROUND_OPA, 0); - } + // 刷新一下文件状态 + MessageModel::GetInstance().HasDataJson(); // 展示界面 if (MessageModel::GetInstance().GetJsonLoadStatus()) { @@ -208,11 +204,6 @@ namespace OHOS messageView->SetYScrollBarVisible(true); // 设置滑动滚动条 MessageList->SetOnClickListener(static_cast(MessagePresenter::GetInstance())); - UIView::OnDragListener *Messagedraglistener = static_cast(MessagePresenter::GetInstance()); - if (Messagedraglistener == nullptr) - { - return; - } #if 0 /*删除按键*/ int top = (MessageModel::GetInstance().GetListNum() * 100); @@ -221,6 +212,11 @@ namespace OHOS DeleteButton->SetOnClickListener(static_cast(MessagePresenter::GetInstance())); messageView->Add(DeleteButton); #endif + UIView::OnDragListener *Messagedraglistener = static_cast(MessagePresenter::GetInstance()); + if (Messagedraglistener == nullptr) + { + return; + } messageView->SetOnDragListener(Messagedraglistener); messageView->SetVisible(false); // 隐藏界面 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowmessageView end"); @@ -246,6 +242,13 @@ namespace OHOS return; } popupView->SetVisible(status); + UIView::OnDragListener *Messagedraglistener = static_cast(MessagePresenter::GetInstance()); + if (Messagedraglistener == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Messagedraglistener is NULL"); + return; + } + popupView->SetOnDragListener(Messagedraglistener); } /// @brief 页面启动时需要执行的代码逻辑 @@ -292,28 +295,4 @@ namespace OHOS RootView::GetInstance()->RemoveAll(); return; } - - /* -------------------------------------------------------------------------- */ - // 初始化页面 - bool MessageView::InitPage() - { - return true; - } - - // 设置页面视图 - bool MessageView::SetupViewPage(MessageView *messageView) - { - g_MessageModel = &MessageModel::GetInstance(); - g_MessageModel->InitMessageListItems(); - if (g_MessageModel->GetJsonLoadStatus()) - { - const MessageListItem *itemInfo = g_MessageModel->GetMessageListItems(); - for (int i = 0; i < g_MessageModel->GetMessageCount(); i++) - { - messageView->AddMessageToList(itemInfo[i]); - } - } - return true; - } - } \ No newline at end of file