From: Caisking <3449750381@qq.com> Date: Tue, 10 Sep 2024 03:57:48 +0000 (+0800) Subject: 保留缓存 X-Git-Tag: release_V1.2.70_20241020_135402~502^2~5 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=25466b70a94e02d64f8924595978972b080dc9c3;p=mirrors%2FFD230.git 保留缓存 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/include/MessageAdapter.h b/code/sdk/application/wearable/fd230app/nativeui/message/include/MessageAdapter.h index 5ac2f8fa9..daef831b5 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/include/MessageAdapter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/message/include/MessageAdapter.h @@ -1,22 +1,8 @@ -/*** - * @Date: 2024-06-28 19:21:39 +/*** + * @Date: 2024-08-12 15:34:39 * @LastEditors: Caisking 3449750381@qq.com - * @LastEditTime: 2024-08-09 11:44:39 - * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/message/include/MessageAdapter.h - */ -/*** - * @Date: 2024-04-15 10:55:58 - * @LastEditors: Caisking 3449750381@qq.com - * @LastEditTime: 2024-06-13 16:31:15 - * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/message/include/MessageAdapter.h - */ -/*** - * @Author: Caisking 3449750381@qq.com - * @Date: 2024-01-29 19:58:37 - * @LastEditors: Caisking 3449750381@qq.com - * @LastEditTime: 2024-05-08 09:49:17 + * @LastEditTime: 2024-09-10 10:54:51 * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/message/include/MessageAdapter.h - * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ #ifndef Message_ADAPTER_H diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp index 027102b55..5cf441d8c 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp @@ -21,7 +21,7 @@ #include "ui_service.h" #include "dial_sos_c.h" -#define SAVEMODE 0 +#define SAVEMODE 1 extern "C" uint8_t uapi_dev_runtime_get_lock_status(void); namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckAdapter.h b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckAdapter.h new file mode 100644 index 000000000..e84830422 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckAdapter.h @@ -0,0 +1,54 @@ +/*** + * @Date: 2024-09-10 09:52:01 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-09-10 10:01:22 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckAdapter.h + */ +/ +#ifndef Message_ADAPTER_H +#define Message_ADAPTER_H +#include +#include +#include "components/ui_list.h" +#include "components/abstract_adapter.h" +#include "components/ui_label.h" +#include "components/ui_label_ext.h" +#include "components/ui_checkbox.h" +#include "components/ui_label_button_ext.h" + +namespace OHOS +{ + + typedef struct + { + int index; + std::string filename; + } ResourceCheckItem; + + class ResourceCheckAdapter : public AbstractAdapter + { + public: + explicit ResourceCheckAdapter(); + virtual ~ResourceCheckAdapter(); + + void SetData(std::list &data); + + virtual uint16_t GetCount(void) override; + + virtual UIView *GetView(UIView *inView, int16_t index) override; + + virtual void AddListItem(const ResourceCheckItem &item); + + void SetItemClickListener(UIView::OnClickListener *itemclicklistener) + { + itemClickListener = itemclicklistener; + } + + private: + std::list listData; + UIView::OnClickListener *itemClickListener{nullptr}; + UILabelButtonExt *DeleteButton{nullptr}; + }; +} + +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckItemView.h b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckItemView.h new file mode 100644 index 000000000..f1a164b08 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckItemView.h @@ -0,0 +1,42 @@ +/*** + * @Date: 2024-09-10 09:53:16 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-09-10 10:31:06 + * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckItemView.cpp + */ + + +#ifndef ResourceCheck_ITEM_VIEW_H +#define ResourceCheck_ITEM_VIEW_H + +#include "components/ui_label.h" +#include "components/ui_label_ext.h" +#include "components/ui_view_group.h" +#include "components/ui_checkbox.h" +#include "components/ui_image_view.h" +#include "components/ui_label_button.h" + +#include "safemodemanager/include/ResourceCheckAdapter.h" + + +namespace OHOS +{ + class ResourceCheckItemView : public UIViewGroup + { + public: + explicit ResourceCheckItemView(); + virtual ~ResourceCheckItemView(); + virtual void SetItemInfo(const ResourceCheckItem itemInfo); + virtual void SetUpChild(); + void TearDownChild(); + int GetResourceCheckListIndex(); + + private: + ResourceCheckItemView(const ResourceCheckItemView &); + UILabel filenamelabel; + ResourceCheckItem sItemInfo = {0, nullptr}; + bool isSetupChild{false}; + + }; +} +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckView.h b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckView.h index dddc9efad..f96f4c995 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckView.h @@ -1,3 +1,9 @@ +/*** + * @Date: 2024-09-09 17:47:27 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-09-10 11:14:17 + * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckView.h + */ /* * @Author: luozheng 1732036298@qq.com * @Date: 2024-01-29 15:37:44 @@ -15,11 +21,12 @@ #include "components/ui_button.h" #include "components/ui_scroll_view.h" #include "components/ui_label_ext.h" +#include "safemodemanager/include/ResourceCheckItem.h" +#include "safemodemanager/include/ResourceCheckAdapter.h" namespace OHOS { class ResourceCheckView { - public: ResourceCheckView(); virtual ~ResourceCheckView(); @@ -34,6 +41,8 @@ namespace OHOS private: UIScrollView *scrollView{nullptr}; UILabelExt *notelabel{nullptr}; + ResourceCheckAdapter *p_ResourceCheckAdapter{nullptr}; + UIList *FilenameList = nullptr; bool initViewStatus{false}; }; } // namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckAdapter.cpp b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckAdapter.cpp new file mode 100644 index 000000000..bd62a9ac9 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckAdapter.cpp @@ -0,0 +1,130 @@ + + +#include "safemodemanager/include/ResourceCheckView.h" +#include "safemodemanager/include/SafeModeManagerPresenter.h" +#include "safemodemanager/include/SafeModeManagerModel.h" +#include "safemodemanager/include/ResourceCheckItem.h" + +#include "wearable_log.h" +#include "uicomponents/UIComponents.h" +namespace OHOS +{ + ResourceCheckAdapter::ResourceCheckAdapter() {} + + ResourceCheckAdapter::~ResourceCheckAdapter() + { + listData.clear(); + } + + uint16_t ResourceCheckAdapter::GetCount(void) + { + return listData.size() + 1; + } + + void ResourceCheckAdapter::SetData(std::list &data) + { + if (!listData.empty()) + { + listData.clear(); + } + std::list::iterator it; + for (it = data.begin(); it != data.end(); it++) + { + listData.push_back(*it); + } + } + + /// @brief + /// @param inView 一个指向已存在的视图对象的指 + /// @param index 要创建的视图在列表中的索引l。 + /// @return 返回该视图对象 + UIView *ResourceCheckAdapter::GetView(UIView *inView, int16_t index) + { + // 1.先检查列表数据是否为空,若为空则返回空指针 + if (listData.empty()) + { + return nullptr; + } + // 2.接着检查索引是否小于0,若小于0则返回空指针 + if (index < 0) + { + return nullptr; + } + // printf("GetView : index %d\r\n", index); + // 3.检查是否超出列表数据大小,若超出则返回空指针 + size_t uindex = index; + if (uindex > listData.size()) + return nullptr; + + MessageItemView *item = nullptr; + if (uindex == listData.size()) + { + if (inView == nullptr) + { + item = new MessageItemView(); + } + else + { + item = static_cast(inView); + // item->TearDownChild(); + item->RemoveAll(); + } + if (DeleteButton == nullptr) + { + DeleteButton = new UILabelButtonExt(); + if (DeleteButton == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitButtonExt is error"); + return nullptr; // 内存分配失败,返回false + } + } + else + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UILabelButtonExt UILabelButtonExt is not nullptr"); + return nullptr; // 内存分配失败,返回false + } + DeleteButton->SetPosition(0, 0); + DeleteButton->Resize(380, 100); + DeleteButton->SetViewId("repair_all"); + DeleteButton->SetText("repair all"); + DeleteButton->SetStyle(STYLE_TEXT_FONT, fontSize); + DeleteButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + DeleteButton->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BACKGROUND_COLOR); + DeleteButton->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BACKGROUND_COLOR, UIButton::PRESSED); + DeleteButton->SetStyleForState(STYLE_BORDER_COLOR, PRESSED_BORDER_COLOR, UIButton::PRESSED); + DeleteButton->SetVisible(true); + DeleteButton->SetOnClickListener(itemClickListener); + item->Add(DeleteButton); + item->SetViewIndex(index); + item->SetOnClickListener(nullptr); + return item; + } + // 4.通过迭代器访问列表中指定索引位置的元素,将其赋值给itemData变量 + std::list::iterator it = listData.begin(); + for (int i = 0; i < index; i++) + { + it++; + } + ResourceCheckItem itemData = *it; + // 5.根据传入的inView参数是否已经存在一个视图对象,若为空则创建一个新的MessageItemView对象,否则将inView转换成MessageItemView类型的指针 + if (inView == nullptr) + { + item = new MessageItemView(); + } + else + { + item = static_cast(inView); + item->RemoveAll(); + } + item->SetUpChild(); + item->SetItemInfo(itemData); + item->SetViewIndex(index); + item->SetOnClickListener(itemClickListener); + return item; + } + + void ResourceCheckAdapter::AddListItem(const ResourceCheckItem &item) + { + listData.push_back(item); + } +} // namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckItemView.cpp b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckItemView.cpp new file mode 100644 index 000000000..6033ee25a --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckItemView.cpp @@ -0,0 +1,56 @@ +#include "message/include/MessageItemView.h" +#include "message/include/MessageModel.h" +#include "ConfigModel.h" +namespace OHOS +{ + + MessageItemView::MessageItemView() + { + SetPosition(0, 0, 380, 280); + SetStyle(STYLE_BACKGROUND_OPA, 255); + SetStyle(STYLE_BORDER_RADIUS, 20); + SetTouchable(true); + } + + MessageItemView::~MessageItemView() + { + RemoveAll(); + } + + void MessageItemView::SetItemInfo(const ResourceCheckItem itemInfo) + { + sItemInfo = itemInfo; + + filenamelabel.SetText(itemInfo.filename.c_str()); + + } + void MessageItemView::TearDownChild() + { + if (!isSetupChild) + return; + + Remove(&filenamelabel); + + isSetupChild = false; + } + void MessageItemView::SetUpChild() + { + if (isSetupChild) + return; + + filenamelabel.SetPosition(60, 31, 280, 35); + filenamelabel.SetTextColor(Color::White()); + filenamelabel.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + // 来回滚动属性 + filenamelabel.SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); + filenamelabel.SetRollSpeed(70); + + Add(&filenamelabel); + isSetupChild = false; + } + + int MessageItemView::GetMessageListIndex() + { + return sItemInfo.index; + } +} \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckView.cpp b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckView.cpp index e3c1947c5..b8c1acad9 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckView.cpp @@ -72,13 +72,35 @@ namespace OHOS notelabel->SetPosition(83, 217); notelabel->Resize(300, 60); notelabel->SetViewId("label4"); - notelabel->SetStyle(STYLE_TEXT_FONT, 30); + notelabel->SetStyle(STYLE_TEXT_FONT, 50); notelabel->SetText("File verification..."); notelabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); notelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); notelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - +notelabel->SetOnClickListener(presenter_); + // UIList 的适配器 + if(p_ResourceCheckAdapter == nullptr) + { + p_ResourceCheckAdapter = newFilenameListAdapter(); + p_ResourceCheckAdapter->SetItemClickListener(presenter_); + } + if (MessageList == nullptr) + { + FilenameList = new UIList(); + FilenameList->SetPosition(0, 120, 466, 466); + FilenameList->SetScrollStateListener(this); + FilenameList->SetThrowDrag(true); + FilenameList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT); + FilenameList->SetMaxScrollDistance(1000); + FilenameList->SetSwipeACCLevel(800); + FilenameList->SetDragACCLevel(5); + FilenameList->SetYScrollBarVisible(true); + FilenameList->SetOnClickListener(presenter_); + FilenameList->SetOnDragListener(presenter_); + FilenameList->SetVisible(false); // 隐藏界面 + } + scrollView->Add(FilenameList); scrollView->Add(notelabel); return scrollView; } @@ -124,16 +146,8 @@ namespace OHOS std::vector filenames = SafeModeManagerModel::GetInstance()->GetCheckDifferentialFiles(); // Clear the text of notelabel std::string allFilenames; -#if 0 - for (const auto &filename : filenames) - { - allFilenames += filename + "\n"; // Add filenames line by line - } - printf("allFilenames %s\r\n", allFilenames.c_str()); - notelabel->SetText(allFilenames.c_str()); // Set the text at once -#endif int num = SafeModeManagerModel::GetInstance()->GetCheckFileCount(); - allFilenames = "This verification result is successful. Number of verified files: " + std::to_string(num); + allFilenames = "This verification result is successful. Number of verified files: " + std::to_string(num)+"Please click the screen to view the data"; notelabel->SetText(allFilenames.c_str()); // Set the text at once printf("Number of verified files is %d\r\n", num); } @@ -144,5 +158,33 @@ namespace OHOS } printf("Verification result is completed.\r\n"); } - + void SetViewState() + { + int num = SafeModeManagerModel::GetInstance()->GetCheckFileCount(); + if(num!=0) + { + notelabel->SetVisible(false); // 隐藏界面 + FilenameList->SetVisible(true); + FilenameList->SetAdapter(p_MessageListAdapter); + /*进行list加载*/ + p_MessageModel = &MessageModel::GetInstance(); + if (p_MessageModel == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "p_MessageModel fail"); + return; + } + /* 加载list */ + p_MessageModel->InitMessageListItems(); + const MessageListItem *itemInfo = p_MessageModel->GetMessageListItems(); + for (int i = 0; i < p_MessageModel->GetMessageCount(); i++) + { + messageCardView->AddMessageToList(itemInfo[i]); + } + } + else + { + FilenameList->SetVisible(false); // 隐藏界面 + notelabel->SetVisible(true); / + } + } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp index a93d4a191..ded48ee29 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp @@ -144,13 +144,18 @@ namespace OHOS { scrollView_ = new UIScrollView(); - scrollView_->SetPosition(0, 0); - scrollView_->Resize(466, 466); - scrollView_->SetViewId("scrollView"); - scrollView_->SetReboundSize(100); - scrollView_->SetScrollBlankSize(35); + + scrollView_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); + scrollView_->SetScrollBlankSize(50); + // scrollView_->SetReboundSize(35); scrollView_->SetHorizontalScrollState(false); - scrollView_->SetVisible(true); + scrollView_->RequestFocus(); + scrollView_->SetRotateFactor(1.0); + scrollView_->SetMaxScrollDistance(1000); + scrollView_->SetDragACCLevel(5); + scrollView_->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/ + scrollView_->SetTouchable(true); + scrollView_->SetDraggable(true); /*初始化线条*/ InitializeImageViews(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp index c2b51d4e6..860980b7a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp @@ -246,6 +246,7 @@ namespace OHOS DetailView = new TrainingDetailView(); DetailView->PreLoad(); DetailView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); + DetailView->SetStyle(STYLE_BORDER_RADIUS, 466); // 设置为圆形 if (DetailView == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DetailView new fail"); diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp index e045bf142..e1471bfef 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp @@ -20,7 +20,9 @@ namespace OHOS TrainingDetailView::TrainingDetailView() { - SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); + SetPosition(0, 0, 466, 466); + SetStyle(STYLE_BACKGROUND_OPA, 0); + SetStyle(STYLE_BORDER_RADIUS, 466); g_pTrainingDetailView = this; } TrainingDetailView::~TrainingDetailView() @@ -52,7 +54,7 @@ namespace OHOS lineimage2_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff333333); lineimage2_->SetStyle(STYLE_BACKGROUND_OPA, 0xff); lineimage2_->SetVisible(true); - + Add(progress_image); Add(lineimage2_);