${CMAKE_CURRENT_SOURCE_DIR}/nativeui/applist/src/AppItemView.cpp\r
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/applist/src/ApplistAdapter.cpp\r
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/applist/src/ApplistModel.cpp\r
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/applist/src/ApplistCardView.cpp\r
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/applist/src/ApplistPresenter.cpp\r
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/applist/src/ApplistView.cpp\r
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/clock/src/MainClockView.cpp\r
+#ifndef APP_LIST_CARD_VIEW_H
+#define APP_LIST_CARD_VIEW_H
+
+#include "components/root_view.h"
+#include "components/ui_card_page.h"
+#include "wearable_log.h"
+#include "ApplistView.h"
+
+namespace OHOS
+{
+ class ApplistCardView : public UICardPage
+ {
+ public:
+ ApplistCardView();
+ virtual ~ApplistCardView();
+ bool InitView(void);
+ void PreLoad(void) override;
+ void UnLoad(void) override;
+
+ private:
+ void ClearAll(void);
+ ApplistView *applistView{nullptr};
+ bool viewiInitStatus{false};
+ };
+}
+#endif
int GetHeadItemY(void);\r
uint8_t GetListItemNum(void);\r
ApplistView* GetAppListView();\r
-\r
+ ApplistModel *GetApplistModelPtr(void)\r
+ {\r
+ return model;\r
+ }\r
private:\r
ApplistModel *model{nullptr};\r
KeyInputListener *keyActListenr{nullptr};\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AppList : Can not continue drag!!");\r
return false;\r
}\r
- if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) &&\r
- (event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) {\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Applist Ondrag!!");\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_SAMPLE, TRANSITION_ZOOM);\r
- }\r
+ // if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) &&\r
+ // (event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) {\r
+ // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Applist Ondrag!!");\r
+ // NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_SAMPLE, TRANSITION_ZOOM);\r
+ // }\r
\r
return false;\r
}\r
};\r
\r
class ApplistPresenter;\r
-class ApplistView : public View<ApplistPresenter>, public ListScrollListener {\r
+class ApplistView : public View<ApplistPresenter>, public ListScrollListener ,public UIViewGroup{\r
public:\r
ApplistView();\r
virtual ~ApplistView();\r
virtual void OnSetUpView() override;\r
virtual void OnTearDownView() override;\r
virtual void OnStop() override;\r
-\r
+ bool InitPage();\r
+ bool SetupViewPage(ApplistView *applistView);\r
+ ApplistPresenter *g_ApplistPresenter{nullptr};\r
void AddAppItemToList(const AppItem &item);\r
void ClearAppItemToList();\r
void OnItemSelected(int16 index, UIView *view) override;\r
+#include "ApplistCardView.h"
+
+namespace OHOS
+{
+ ApplistCardView::ApplistCardView()
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistCardView::ApplistCardView()");
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
+ }
+
+ ApplistCardView::~ApplistCardView()
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistCardView::~ApplistCardView()");
+ ClearAll();
+ }
+
+ void ApplistCardView::ClearAll(void)
+ {
+ if (viewiInitStatus == true)
+ {
+ RemoveAll();
+ if (applistView != nullptr)
+ {
+ delete applistView;
+ applistView = nullptr;
+ }
+ }
+ }
+
+ bool ApplistCardView::InitView(void)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistCardView::InitView()");
+ applistView = new ApplistView();
+ if (applistView == nullptr)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::new mainweatherView fail!");
+ return false;
+ }
+ if (applistView->InitPage() == false)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView->InitPage() == false!");
+ return false;
+ }
+ if (applistView->SetupViewPage(applistView) == false)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "applistView->SetupViewPage() == false!");
+ return false;
+ }
+ Add(applistView);
+ viewiInitStatus = true;
+ return true;
+ }
+
+ void ApplistCardView::PreLoad(void)
+ {
+ if (!viewiInitStatus)
+ {
+ InitView();
+ viewiInitStatus = true;
+ }
+ }
+
+ void ApplistCardView::UnLoad(void)
+ {
+
+ }
+
+}
\ No newline at end of file
ApplistView::ApplistView()\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::ApplistView ");\r
+ UIViewGroup::SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
}\r
\r
ApplistView::~ApplistView()\r
dragListener = nullptr;\r
}\r
\r
+//初始化页面\r
+bool ApplistView::InitPage()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " ApplistView::InitPage");\r
+ g_ApplistPresenter = new ApplistPresenter();\r
+ g_ApplistPresenter->GetApplistModelPtr()->initApplist();\r
+ //BaseView::RootView(Color::Black().full);\r
+ listAdapter_ = new ApplistAdapter();\r
+ if (listAdapter_ == nullptr) {\r
+ return false;\r
+ }\r
+ listAdapter_->SetItemClickListener(g_ApplistPresenter);\r
+\r
+ contentList_ = new UIList(UIList::VERTICAL);\r
+ if (contentList_ == nullptr) {\r
+ return false;\r
+ }\r
+ contentList_->SetPosition(0, 0);\r
+ contentList_->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ contentList_->SetScrollBlankSize(VERTICAL_RESOLUTION / NUM_2);\r
+ contentList_->SetSelectPosition(VERTICAL_RESOLUTION / NUM_2); // middle position\r
+ contentList_->SetDraggable(true);\r
+ contentList_->SetThrowDrag(true);\r
+ contentList_->EnableAutoAlign(true);\r
+ contentList_->SetScrollStateListener(this);\r
+ contentList_->SetMaxScrollDistance(MAX_SCROLL_DIS);\r
+ contentList_->SetVisible(true);\r
+ Add(contentList_);\r
+ dragListener = new AppListOnDragListener();\r
+ if (dragListener == nullptr) {\r
+ return false;\r
+ }\r
+ contentList_->SetOnDragListener(dragListener);\r
+ \r
+ return true;\r
+}\r
+\r
+//设置页面视图\r
+bool ApplistView::SetupViewPage(ApplistView *applistView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " ApplistView::SetupViewPage");\r
+ const AppItem *itemInfo = g_ApplistPresenter->GetApplistModelPtr()->GetApplistItems();\r
+ for (uint8 i = 0; i < g_ApplistPresenter->GetApplistModelPtr()->GetAppListNum(); i++) {\r
+ applistView->AddAppItemToList(itemInfo[i]);\r
+ }\r
+ /* -------------------------------------------------------------------------- */\r
+ if (contentList_ == nullptr || listAdapter_ == nullptr) {\r
+ return false;\r
+ }\r
+ uint16_t startIndex = 0;\r
+ int16_t headY = 0;\r
+ if (g_ApplistPresenter->GetStartIndex() >= g_ApplistPresenter->GetListItemNum()) {\r
+ startIndex = g_ApplistPresenter->GetListItemNum() - 1;\r
+ headY = VERTICAL_RESOLUTION / NUM_2;\r
+ } else {\r
+ startIndex = g_ApplistPresenter->GetStartIndex();\r
+ headY = g_ApplistPresenter->GetHeadItemY();\r
+ if (headY == 0) {\r
+ headY = VERTICAL_RESOLUTION / NUM_2;\r
+ }\r
+ }\r
+ contentList_->SetStartIndex(startIndex);\r
+ contentList_->SetAdapter(listAdapter_);\r
+ contentList_->ScrollBy(headY);\r
+ return true;\r
+}\r
+\r
+\r
+\r
void ApplistView::OnStart()\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::OnStart ");\r
#include "blood/include/BloodView.h"\r
#include "traing/include/TraingView.h"\r
#include "weather/include/WeatherControlView.h"\r
+#include "ApplistCardView.h"\r
namespace OHOS\r
{\r
class MainPresenterSample;\r
UICardPage *InitBloodOxygenPage(void);\r
UICardPage *InitWeatherPage(void);\r
UICardPage *InitTrainingPage(void);\r
-\r
+ UICardPage *InitApplistPage(void);\r
void AnimatorStart(int pageIndex);\r
void AnimatorStop(void);\r
uint16_t GetHorCurrentPage() const\r
BloodView *bloodView{nullptr};\r
WeatherControlView *weatherControlView{nullptr};\r
TraingView *traingView{nullptr};\r
-\r
+ ApplistCardView *applistCardView{nullptr};\r
/* -------------------------------------------------------------------------- */\r
UICardPage *recordCard[MAX_CARD]{nullptr};\r
bool pageStatus[MAX_CARD]{false};\r
{BloodOxygen, &MainViewSample::InitBloodOxygenPage},\r
{TRAINING, &MainViewSample::InitTrainingPage},\r
{WEATHER,&MainViewSample::InitWeatherPage},\r
+ {APPLIST,&MainViewSample::InitApplistPage}\r
};\r
\r
MainViewSample::MainViewSample()\r
delete weatherControlView;\r
weatherControlView = nullptr;\r
}\r
+ if(traingView != nullptr)\r
+ {\r
+ delete traingView;\r
+ traingView = nullptr;\r
+ }\r
+ if(applistCardView != nullptr)\r
+ {\r
+ delete applistCardView;\r
+ applistCardView = nullptr;\r
+ }\r
g_pMainView = nullptr;\r
}\r
\r
}\r
return weatherControlView;\r
}\r
+ //主界面功能列表界面\r
+ UICardPage *MainViewSample::InitApplistPage(void)\r
+ {\r
+ applistCardView = new ApplistCardView();\r
+ if(applistCardView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "applistCardView new fail");\r
+ return nullptr;\r
+ }\r
+ return applistCardView;\r
+ }\r
/* -------------------------------------------------------------------------- */\r
UICardPage *MainViewSample::CreatePage(int32_t StreamId)\r
{\r
COMPASS,\r
BloodOxygen,\r
WEATHER,\r
+ APPLIST,\r
MAX_CARD,\r
} CardId;\r
\r