#include "AlarmClockModel.h"\r
#include "wearable_log.h"\r
#include "color.h"\r
+#include "KeyInputListener.h"\r
+#include "common/key_code.h"\r
\r
namespace OHOS {\r
constexpr char* EVERY_DAY = (char *)"每天";\r
};\r
\r
class MainAlarmView;\r
-class AlarmPresenter : public Presenter<MainAlarmView>, public UIView::OnClickListener,\r
+class AlarmPresenter : public Presenter<MainAlarmView>, public UIView::OnClickListener, public RootView::OnKeyActListener, \r
public UITimePicker::SelectedListener, public UIView::OnDragListener {\r
public:\r
AlarmPresenter();\r
static void PlayRing(void *arg);\r
int16_t GetInterStatus(void);\r
ColorType ShadowBlue(void);\r
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件\r
bool OnClick(UIView &view, const ClickEvent &event) override;\r
bool OnDrag(UIView& view, const DragEvent& event) override;\r
bool ClickFuncId(const char *buttonName);\r
osTimerId_t g_stopAlarmMaxHandle = NULL;\r
static AlarmMaxClock *g_AlarmMaxClock = nullptr;\r
static constexpr uint64_t MS_THREE_SECONDS = 3000;\r
-void ScanTimerCallback(int data);\r
-void EndScanHandle(void);\r
+static void ScanTimerCallback(int data);\r
+static void EndScanHandle(void);\r
\r
static AlarmMaxClock *g_JudgeView = nullptr;\r
constexpr int16_t CONTAINER_X = 0;\r
}\r
}\r
\r
-void EndScanHandle(void)\r
+static void EndScanHandle(void)\r
{\r
OHOS::MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_MAXCLOCK, MAIN_INTERFACE);\r
}\r
EndScanHandle();\r
}\r
\r
-void ScanTimerCallback(int data)\r
+static void ScanTimerCallback(int data)\r
{\r
GraphicService::GetInstance()->PostGraphicEvent(std::bind(ScanTimerCallbackProc, data));\r
}\r
return true;\r
}\r
\r
+bool AlarmPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnKeyAct");\r
+ uint16 keyID = event.GetKeyId();\r
+ // 如果是power键就返回上一级\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
+ {\r
+ uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
+ }\r
+ return true;\r
+}\r
+\r
bool AlarmPresenter::OnClick(UIView &view, const ClickEvent &event)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnClick ");\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainAlarmView::OnStart");
View<AlarmPresenter>::OnStart();
BaseView::RootView(Color::Black().full);
-
+ // 增加按键监听
+ RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::AlarmPresenter::GetInstance();
+ RootView::GetInstance()->SetOnKeyActListener(keyactListener);
group = new UIScrollView();
if (group == nullptr) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new group fail");
#include "color.h"\r
#include "AlipayModel.h"\r
\r
+#include "KeyInputListener.h"\r
+#include "common/key_code.h"\r
+\r
namespace OHOS {\r
constexpr char *ALIPAY_LIST_PAY_BUTTON = (char *)"alipaylistpay";\r
constexpr char *ALIPAY_LIST_TRANS_BUTTON = (char *)"alipaylisttrans";\r
} alipayTransGetListId;\r
\r
class AlipayMainView;\r
-class AlipayPresenter : public Presenter<AlipayMainView>,\r
+class AlipayPresenter : public Presenter<AlipayMainView>,public RootView::OnKeyActListener,\r
public UIView::OnClickListener,\r
public UIView::OnDragListener {\r
public:\r
ColorType CyanColor(void);\r
bool OnClick(UIView &view, const ClickEvent &event) override;\r
bool OnDrag(UIView &view, const DragEvent &event) override;\r
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override;\r
bool ClickFuncId(UIView &view);\r
int32_t AlipayGetPayCode(uint8_t *payStr);\r
int32_t AlipayGetNickName(uint8_t *nickName);\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::OnStart");\r
View<AlipayPresenter>::OnStart();\r
BaseView::RootView(Color::Black().full);\r
+\r
+ // 增加按键监听\r
+ RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::AlipayPresenter::GetInstance();\r
+ RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
+\r
alipayInterfacesId startView;\r
bool bindFlag = AlipayModel::GetInstance()->AlipayGetBindstate();\r
if (!bindFlag) {\r
return true;\r
}\r
\r
+bool AlipayPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::OnKeyAct");\r
+ uint16 keyID = event.GetKeyId();\r
+ // 如果是power键就返回上一级\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
+ {\r
+ uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ }\r
+ return true;\r
+\r
+}\r
+\r
int32_t AlipayPresenter::AlipayGetPayCode(uint8_t *payStr)\r
{\r
return alipayMode_->AlipayGetPayCode(payStr);\r
#include "ApplistPresenter.h"
#include "ability_manager.h"
-
#include "securec.h"
-
-namespace OHOS {
+#include "config/include/ConfigModel.h"
+namespace OHOS
+{
ApplistPresenter::ApplistPresenter()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::ApplistPresenter()");
model->SetPresenter(this);
}
- ApplistPresenter::~ApplistPresenter() {
- if (keyActListenr != nullptr) {
+ ApplistPresenter::~ApplistPresenter()
+ {
+ if (keyActListenr != nullptr)
+ {
delete keyActListenr;
keyActListenr = nullptr;
}
Presenter<ApplistView>::OnStart();
model->initApplist();
- if (keyActListenr == nullptr) {
+ if (keyActListenr == nullptr)
+ {
keyActListenr = new KeyInputListener();
- if (keyActListenr != nullptr) {
+ if (keyActListenr != nullptr)
+ {
RootView::GetInstance()->SetOnKeyActListener(keyActListenr);
- } else {
+ }
+ else
+ {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnStart: new KeyInputListener fail");
}
}
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnResume()");
Presenter<ApplistView>::OnResume();
- if (view_ == nullptr) {
+ if (view_ == nullptr)
+ {
return;
}
const AppItem *itemInfo = model->GetApplistItems();
- for (uint8 i = 0; i < model->GetAppListNum(); i++) {
+ for (uint8 i = 0; i < model->GetAppListNum(); i++)
+ {
view_->AddAppItemToList(itemInfo[i]);
}
}
UNUSED(event);
AppItemView *itemView = static_cast<AppItemView *>(&view);
AppViewId viewId = itemView->GetViewId();
-
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnClick viewid = %d", viewId);
- if (viewId < VIEW_MAX_INTER_APP) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnClick viewid = %d %d %s\n", viewId,__LINE__,__func__);
+ if (viewId < VIEW_MAX_INTER_APP)
+ {
NativeAbility::GetInstance().ChangeSlice(viewId);
return true;
- } else if (viewId == VIEW_EXTERN_APP) {
+ }
+ else if (viewId == VIEW_EXTERN_APP)
+ {
#ifdef JS_ENABLE
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnClick bundleName = %s", itemView->GetAppUid());
Want *want = new Want();
return model->GetAppListNum();
}
- ApplistView* ApplistPresenter::GetAppListView()
+ ApplistView *ApplistPresenter::GetAppListView()
{
return view_;
}
#ifdef __cplusplus\r
extern "C" {\r
#endif\r
-void ScanTimerCallback(int data);\r
+// void ScanTimerCallback(int data);\r
void CancelBrScanHandle(void);\r
-void EndScanHandle(void);\r
+// void EndScanHandle(void);\r
#ifdef __cplusplus\r
}\r
#endif\r
#include "UiViewId.h"\r
#include "cmsis_os.h"\r
\r
+#include "KeyInputListener.h"\r
+#include "common/key_code.h"\r
namespace OHOS {\r
enum BluetoothPresenterNum : uint8_t {\r
BLUETOOTHEARPHONEVIEW = 0,\r
};\r
\r
class MainBluetoothView;\r
-class BluetoothPresenter : public Presenter<MainBluetoothView>, public UIView::OnClickListener,\r
+class BluetoothPresenter : public Presenter<MainBluetoothView>, public UIView::OnClickListener,public RootView::OnKeyActListener,\r
public UIView::OnDragListener {\r
public:\r
BluetoothPresenter();\r
bool OnClick(UIView &view, const ClickEvent &event) override;\r
static BluetoothPresenter *GetInstance();\r
bool OnDragEnd(UIView& view, const DragEvent& event) override;\r
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override;\r
void OnStart() override;\r
void OnPause() override;\r
void OnResume() override;\r
}\r
return true;\r
}\r
+\r
+bool BluetoothPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothPresenter::OnKeyAct");\r
+ uint16 keyID = event.GetKeyId();\r
+ // 如果是power键就返回上一级\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
+ {\r
+ uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ }\r
+ return true;\r
+}\r
+\r
+\r
};\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainBluetoothView::~OnStart");\r
View<BluetoothPresenter>::OnStart();\r
BaseView::RootView(Color::Black().full);\r
+\r
+ // 增加按键监听\r
+ //RootView::OnKeyActListener *keyactListener =(RootView::OnKeyActListener *)OHOS::BluetoothPresenter::GetInstance();\r
+ //RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
+\r
BluetoothModel *bluetoothModel = BluetoothModel::GetInstance();\r
if (bluetoothModel == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothEarPhoneView::InitView bluetoothModel nullptr err");\r
#include "Presenter.h"\r
#include "ClassicBlueToothView.h"\r
#include "wearable_log.h"\r
+\r
+#include "KeyInputListener.h"\r
+#include "common/key_code.h"\r
namespace OHOS\r
{\r
class ClassicBlueToothView;\r
class ClassicBlueToothPresenter : public Presenter<ClassicBlueToothView>,\r
public UIView::OnClickListener,\r
public UIView::OnDragListener,\r
+ public RootView::OnKeyActListener,\r
public UICheckBox::OnChangeListener\r
{\r
public:\r
bool OnDrag(UIView &view, const DragEvent &event) override;\r
bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
bool OnChange(UICheckBox::UICheckBoxState state) override;\r
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override;\r
};\r
}\r
\r
}\r
return true;\r
}\r
+\r
+ bool ClassicBlueToothPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothPresenter::OnKeyAct");\r
+ uint16 keyID = event.GetKeyId();\r
+ // 如果是power键就返回上一级\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
+ {\r
+ uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ if (preSlice == VIEW_SETTING || VIEW_BLUETOOTH_EARPHONE)\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
+ }\r
+ else\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ }\r
+ }\r
+ return true;\r
+ }\r
+\r
}\r
{\r
View<ClassicBlueToothPresenter>::OnStart();\r
ClassicBlueToothViewInit();\r
+\r
+ // 增加按键监听\r
+ //RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::ClassicBlueToothPresenter::GetInstance();\r
+ //RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
+ RootView::GetInstance()->SetIntercept(true);\r
}\r
\r
void ClassicBlueToothView::OnSetUpView()\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothView::OnTearDownView");\r
View<ClassicBlueToothPresenter>::OnTearDownView();\r
- RootView::GetInstance()->RemoveAll();\r
return;\r
}\r
\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothView::OnStop");\r
View<ClassicBlueToothPresenter>::OnStop();\r
+ RootView::GetInstance()->RemoveAll();\r
+ RootView::GetInstance()->ClearOnKeyActListener();\r
return;\r
}\r
\r
#include "NativeAbility.h"\r
#include "components/ui_swipe_view.h"\r
\r
+#include "KeyInputListener.h"\r
+#include "common/key_code.h"\r
\r
namespace OHOS {\r
enum IndoorWalkPresenterNum : uint8_t {\r
\r
class IndoorWalkView;\r
class IndoorWalkPresenter : public Presenter<IndoorWalkView>, public UISwipeView::OnSwipeListener,\r
- public UIView::OnClickListener, public UIView::OnLongPressListener,\r
+ public UIView::OnClickListener, public UIView::OnLongPressListener,public RootView::OnKeyActListener,\r
public UIView::OnDragListener {\r
public:\r
IndoorWalkPresenter();\r
void OnStop() override;\r
bool OnClick(UIView& view, const ClickEvent& event) override;\r
bool OnDrag(UIView& view, const DragEvent& event) override;\r
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override;\r
bool OnLongPress(UIView& view, const LongPressEvent& event) override;\r
virtual void OnSwipe(UISwipeView& view) override;\r
void HidePageImageView(void);\r
return;\r
}\r
\r
+bool IndoorWalkPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "IndoorWalkPresenter::OnKeyAct");\r
+ uint16 keyID = event.GetKeyId();\r
+ // 如果是power键就返回上一级\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
+ {\r
+ uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
+ }\r
+ return true;\r
+}\r
+\r
bool IndoorWalkPresenter::OnClick(UIView& view, const ClickEvent& event)\r
{\r
UNUSED(event);\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "IndoorWalkView::~OnStart");\r
View<IndoorWalkPresenter>::OnStart();\r
BaseView::RootView(Color::Black().full);\r
-\r
+ // 增加按键监听\r
+ RootView::OnKeyActListener *keyactListener =(RootView::OnKeyActListener *)OHOS::IndoorWalkPresenter::GetInstance();\r
+ RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
ChangeView(INDOORWALK_MAX, INDOORWALKPREPAREDVIEW);\r
RootView::GetInstance()->Invalidate();\r
return;\r
#define RECORD_PRESENTER_H\r
\r
#include "Presenter.h"\r
- \r
#include "RecordingView.h"\r
- \r
+\r
+#include "KeyInputListener.h"\r
+#include "common/key_code.h"\r
+\r
namespace OHOS\r
{\r
class RecordingView;\r
- \r
+\r
class RecordingPresenter : public Presenter<RecordingView>,\r
- public UIView::OnClickListener,\r
- public UIView::OnDragListener\r
+ public UIView::OnClickListener,\r
+ public RootView::OnKeyActListener,\r
+ public UIView::OnDragListener\r
{\r
public:\r
RecordingPresenter();\r
virtual ~RecordingPresenter();\r
- \r
- void OnStart() override; \r
- void OnPause() override; \r
- void OnResume() override; \r
- void OnStop() override; \r
- \r
- static RecordingPresenter *GetInstance(); \r
- \r
- private:\r
- //因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
- bool OnClick(UIView &view, const ClickEvent &event) override; \r
- bool OnDrag(UIView &view, const DragEvent &event) override; \r
- };\r
-} //namespace OHOS\r
-\r
\r
+ void OnStart() override;\r
+ void OnPause() override;\r
+ void OnResume() override;\r
+ void OnStop() override;\r
\r
+ static RecordingPresenter *GetInstance();\r
\r
+ private:\r
+ // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
+ bool OnClick(UIView &view, const ClickEvent &event) override;\r
+ bool OnDrag(UIView &view, const DragEvent &event) override;\r
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override;\r
+ };\r
+}\r
\r
#endif
\ No newline at end of file
class RecordingPresenter;\r
class RecordingView : public View<RecordingPresenter>\r
{\r
-\r
public:\r
+ struct ButtonConfig\r
+ {\r
+ int16_t x;\r
+ int16_t y;\r
+ int16_t w;\r
+ int16_t h;\r
+ const char *ViewId;\r
+ const char *ImageSrc;\r
+ };\r
+\r
RecordingView();\r
virtual ~RecordingView();\r
static RecordingView *GetInstance(void);\r
void OnStop() override;\r
\r
private:\r
- UIView::OnDragListener *draglistener{nullptr};\r
-\r
- void InitView(void);\r
- void DeInitView(void);\r
-\r
- UIScrollView *scrollView = nullptr;\r
- UILabel *label1 = nullptr;\r
+ void RecordingViewInit(void);\r
+ void ClearAll(void);\r
+ bool SetUpScrollView(void);\r
+ bool SetTheTitle(void);\r
+ UIButton *SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener);\r
+ UIScrollView *RecordingViewScrollView{nullptr};\r
+ UILabel *RecordingViewTitleLabel{nullptr};\r
+ UIButton *RecordingViewButton{nullptr};\r
+ UILabel *AttentionLabel{nullptr};\r
+ UIImageAnimatorView *RecordingViewImageAnimator{nullptr};\r
UIImageView *RECORD1_Image = nullptr;\r
- UIButton *button = nullptr;\r
- UILabel *label2 = nullptr;\r
- UIImageAnimatorView *imageAnimator1_ = nullptr;\r
-\r
- \r
+ bool initViewStatus{false};\r
};\r
} // namespace OHOS\r
\r
}\r
return true;\r
}\r
+\r
+ bool RecordingPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingPresenter::OnKeyAct");\r
+ uint16 keyID = event.GetKeyId();\r
+ // 如果是power键就返回上一级\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
+ {\r
+ uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ }\r
+ return true;\r
+ }\r
}
\ No newline at end of file
#include "record/include/RecordingView.h"\r
#include "record/include/RecordingPresenter.h"\r
#include "UiConfig.h"\r
-\r
+#include "wearable_log.h"\r
namespace OHOS\r
{\r
- static ImageAnimatorInfo g_imageAnimator1Info[2] = {\r
+ static ImageAnimatorInfo RecordingViewImageAnimatorInfo[2] = {\r
{PNG_ANIMATOR1_IMAGE, {213, 400}, 40, 40, IMG_SRC_FILE_PATH},\r
{PNG_ANIMATOR2_IMAGE, {213, 400}, 40, 40, IMG_SRC_FILE_PATH},\r
};\r
\r
RecordingView::RecordingView()\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingView");\r
g_pRecordView = this;\r
}\r
\r
RecordingView::~RecordingView()\r
{\r
- DeInitView();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::~RecordingView");\r
+ RecordingViewInit();\r
g_pRecordView = nullptr;\r
}\r
\r
RecordingView *RecordingView::GetInstance()\r
{\r
-\r
return g_pRecordView;\r
}\r
- void RecordingView::InitView(void)\r
+\r
+ void RecordingView::ClearAll(void)\r
{\r
- // Add ScrollView to App\r
- if (scrollView == nullptr)\r
+ if (initViewStatus == true)\r
{\r
- scrollView = new UIScrollView();\r
+ RecordingViewScrollView->RemoveAll();\r
+\r
+ RecordingViewImageAnimator->Stop();\r
+ delete RecordingViewImageAnimator;\r
+ RecordingViewImageAnimator =nullptr;\r
+\r
+ delete RecordingViewTitleLabel;\r
+ RecordingViewTitleLabel =nullptr;\r
+\r
+ delete RecordingViewButton;\r
+ RecordingViewButton =nullptr;\r
+\r
+ delete AttentionLabel;\r
+ AttentionLabel =nullptr;\r
+\r
+ delete RECORD1_Image;\r
+ RECORD1_Image =nullptr;\r
+\r
+ delete RecordingViewScrollView;\r
+ RecordingViewScrollView =nullptr;\r
}\r
- scrollView->SetPosition(0, 0);\r
- scrollView->Resize(466, 466);\r
- scrollView->SetViewId("ScrollView");\r
- scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- UIView::OnDragListener *listener = static_cast< UIView::OnDragListener *>(RecordingPresenter::GetInstance());\r
- scrollView->SetOnDragListener(listener);\r
- scrollView->SetTouchable(true);\r
- scrollView->SetDraggable(true);\r
- // Add to rootView\r
- scrollView->SetVisible(true);\r
-\r
- // Add Label to App\r
- if (label1 == nullptr)\r
+ }\r
+\r
+ // 录音视图scrollView初始化\r
+ bool RecordingView::SetUpScrollView(void)\r
+ {\r
+ RecordingViewScrollView = new UIScrollView();\r
+ if (RecordingViewScrollView == nullptr)\r
{\r
- label1 = new UILabel();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingViewScrollView new fail!");\r
+ return false;\r
}\r
- label1->SetPosition(188, 52); // widget's left position and top position\r
- label1->Resize(90, 35); // widget's width and height\r
- label1->SetViewId("label11"); // Set style\r
- label1->SetStyle(STYLE_TEXT_FONT, 30);\r
- label1->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-\r
- // Set additional property\r
- label1->SetText("录音机");\r
- label1->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- label1->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- label1->SetRollSpeed(0);\r
- label1->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-\r
- // Add to scrollView1\r
- scrollView->Add(label1);\r
- label1->SetVisible(true);\r
-\r
- // Add ImageView to App\r
- if (RECORD1_Image == nullptr)\r
+ RecordingViewScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ RecordingViewScrollView->SetScrollBlankSize(35);\r
+ RecordingViewScrollView->SetReboundSize(50);\r
+ RecordingViewScrollView->SetDirection(1);\r
+ UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(RecordingPresenter::GetInstance());\r
+ if (draglistener == nullptr)\r
{\r
- RECORD1_Image = new UIImageView();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::draglistener can not be nullptr!");\r
+ return false;\r
}\r
- RECORD1_Image->SetPosition(158, 129); // widget's left position and top position\r
- RECORD1_Image->Resize(150, 150); // widget's width and height\r
- RECORD1_Image->SetViewId("RECORD1_Image"); // Set style\r
- RECORD1_Image->SetStyle(STYLE_BORDER_RADIUS, 10);\r
- RECORD1_Image->SetSrc(PNG_RECORD1_IMAGE);\r
- // Add to scrollView1\r
- scrollView->Add(RECORD1_Image);\r
- RECORD1_Image->SetVisible(true);\r
- // Add Button to App\r
+ RecordingViewScrollView->SetOnDragListener(draglistener);\r
+ RecordingViewScrollView->SetTouchable(true);\r
+ RecordingViewScrollView->SetDraggable(true);\r
+ return true;\r
+ }\r
+\r
+ bool RecordingView::SetTheTitle(void)\r
+ {\r
+ RecordingViewTitleLabel = new UILabel();\r
+ if (RecordingViewTitleLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingViewTitleLabel new fail!");\r
+ return false;\r
+ }\r
+ RecordingViewTitleLabel->SetPosition(188, 52);\r
+ RecordingViewTitleLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ RecordingViewTitleLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+ RecordingViewTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ RecordingViewTitleLabel->SetText("录音机");\r
+ RecordingViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ RecordingViewTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ RecordingViewTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ return true;\r
+ }\r
+\r
+ UIButton *RecordingView::SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener)\r
+ {\r
+ UIButton *button = new UIButton();\r
if (button == nullptr)\r
{\r
- button = new UIButton();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " DisplayBrightnessView::SetTheButton: button new fail!");\r
+ return nullptr;\r
}\r
- button->SetPosition(178, 150);\r
- button->Resize(120, 120);\r
- button->SetViewId(RECORD_BUTTON);\r
+ button->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h);\r
+ button->SetViewId(buttonconfig.ViewId);\r
button->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);\r
button->SetStyle(STYLE_BORDER_RADIUS, 100);\r
-\r
- // Set additional property\r
button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffff5a36, UIButton::PRESSED);\r
- button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
- button->SetStyleForState(STYLE_BORDER_RADIUS, 100, UIButton::PRESSED);\r
-\r
- // Add the CallBack about events\r
- UIView::OnClickListener *buttonClick = static_cast<UIView::OnClickListener *>(RecordingPresenter::GetInstance());\r
- button->SetOnClickListener(buttonClick);\r
- // Add to scrollView1\r
- scrollView->Add(button);\r
- button->SetVisible(true);\r
-\r
- // Add Label to App\r
- if (label2 == nullptr)\r
- {\r
- label2 = new UILabel();\r
- }\r
- label2->SetPosition(143, 330); // widget's left position and top position\r
- label2->Resize(180, 35); // widget's width and height\r
- label2->SetViewId("label2"); // Set style\r
- label2->SetStyle(STYLE_TEXT_FONT, 30);\r
- label2->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-\r
- // Set additional property\r
- label2->SetText("点击开始录音");\r
- label2->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- label2->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- label2->SetRollSpeed(0);\r
- label2->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-\r
- // Add to scrollView1\r
- scrollView->Add(label2);\r
- label2->SetVisible(true);\r
-\r
- // Add ImageAnimatorView to App\r
- if (imageAnimator1_ == nullptr)\r
- {\r
- imageAnimator1_ = new UIImageAnimatorView();\r
- }\r
- imageAnimator1_->SetPosition(213, 400);\r
- imageAnimator1_->Resize(40, 40);\r
- imageAnimator1_->SetViewId("imageAnimator1");\r
- imageAnimator1_->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
-\r
- // Set additional property\r
- imageAnimator1_->SetImageAnimatorSrc(g_imageAnimator1Info, 2, 200);\r
- imageAnimator1_->SetTimeOfPause(200);\r
- imageAnimator1_->SetRepeatTimes(1);\r
- imageAnimator1_->SetReverse(true);\r
- imageAnimator1_->Start();\r
-\r
- // Add to scrollView1\r
- scrollView->Add(imageAnimator1_);\r
- imageAnimator1_->SetVisible(true);\r
+ button->SetOnClickListener(clickListener);\r
+ return button;\r
}\r
- void RecordingView::DeInitView(void)\r
+\r
+ void RecordingView::RecordingViewInit(void)\r
{\r
- if (scrollView != nullptr)\r
- {\r
- scrollView->RemoveAll();\r
- }\r
- if (label1 != nullptr)\r
+ if (!SetUpScrollView())\r
{\r
- delete label1;\r
- label1 = nullptr;\r
+ return;\r
}\r
- if (RECORD1_Image != nullptr)\r
+\r
+ if (!SetTheTitle())\r
{\r
- delete RECORD1_Image;\r
- RECORD1_Image = nullptr;\r
+ return;\r
}\r
- if (button != nullptr)\r
+\r
+ UIView::OnClickListener *buttonClick = static_cast<UIView::OnClickListener *>(RecordingPresenter::GetInstance());\r
+ ButtonConfig buttonconfig;\r
+ buttonconfig.x = 178;\r
+ buttonconfig.y = 150;\r
+ buttonconfig.w = 120;\r
+ buttonconfig.h = 120;\r
+ buttonconfig.ViewId = RECORD_BUTTON;\r
+ RecordingViewButton = SetTheButton(buttonconfig, buttonClick);\r
+\r
+ AttentionLabel = new UILabel();\r
+ if (AttentionLabel == nullptr)\r
{\r
- delete button;\r
- button = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::AttentionLabel new fail!");\r
+ return;\r
}\r
- if (label2 != nullptr)\r
+ AttentionLabel->SetPosition(143, 330);\r
+ AttentionLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ AttentionLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+ AttentionLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ AttentionLabel->SetText("点击开始录音");\r
+ AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ AttentionLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ AttentionLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+\r
+ if (RECORD1_Image == nullptr)\r
{\r
- delete label2;\r
- label2 = nullptr;\r
+ RECORD1_Image = new UIImageView();\r
}\r
- if (imageAnimator1_ != nullptr)\r
+ RECORD1_Image->SetPosition(158, 129, 150, 150);\r
+ RECORD1_Image->SetStyle(STYLE_BORDER_RADIUS, 10);\r
+ RECORD1_Image->SetSrc(PNG_RECORD1_IMAGE);\r
+\r
+ RecordingViewImageAnimator = new UIImageAnimatorView();\r
+ if (RecordingViewImageAnimator == nullptr)\r
{\r
- delete imageAnimator1_;\r
- imageAnimator1_ = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingViewImageAnimator new fail!");\r
+ return;\r
}\r
-\r
- delete scrollView;\r
- scrollView = nullptr;\r
+ RecordingViewImageAnimator->SetPosition(213, 400, 40, 40);\r
+ RecordingViewImageAnimator->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+\r
+ RecordingViewImageAnimator->SetImageAnimatorSrc(RecordingViewImageAnimatorInfo, 2, 200);\r
+ RecordingViewImageAnimator->SetTimeOfPause(200);\r
+ RecordingViewImageAnimator->SetRepeatTimes(1);\r
+ RecordingViewImageAnimator->SetReverse(true);\r
+ RecordingViewImageAnimator->Start();\r
+\r
+ // 增加按键监听\r
+ RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::RecordingPresenter::GetInstance();\r
+ //(RootView::OnKeyActListener *)OHOS::RecordingPresenter::GetInstance();\r
+ RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
+ initViewStatus = true;\r
}\r
+\r
void RecordingView::OnStart()\r
{\r
View<RecordingPresenter>::OnStart();\r
- InitView();\r
+ RecordingViewInit();\r
}\r
\r
void RecordingView::OnSetUpView()\r
{\r
View<RecordingPresenter>::OnSetUpView();\r
- RootView::GetInstance()->Add(scrollView);\r
+ RecordingViewScrollView->Add(RecordingViewTitleLabel);\r
+ RecordingViewScrollView->Add(RECORD1_Image);\r
+ RecordingViewScrollView->Add(RecordingViewButton);\r
+ RecordingViewScrollView->Add(AttentionLabel);\r
+ RecordingViewScrollView->Add(RecordingViewImageAnimator);\r
+ RootView::GetInstance()->Add(RecordingViewScrollView);\r
Draw();\r
}\r
\r
void RecordingView::OnTearDownView()\r
{\r
-\r
View<RecordingPresenter>::OnTearDownView();\r
return;\r
}\r
\r
void RecordingView::OnStop()\r
{\r
-\r
View<RecordingPresenter>::OnStop();\r
RootView::GetInstance()->RemoveAll();\r
+ RootView::GetInstance()->ClearOnKeyActListener();\r
return;\r
}\r
\r
// 增加按键事件
bool SettingPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnKeyAct");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnKeyAct");
uint16 keyID = event.GetKeyId();
// 如果是power键就返回上一级
if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))
scrollView->SetDirection(1);
scrollView->SetTouchable(true);
scrollView->SetThrowDrag(true);
+
// 增加按键监听
RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::SettingPresenter::GetInstance();
RootView::GetInstance()->SetOnKeyActListener(keyactListener);
+ RootView::GetInstance()->SetIntercept(true);
+
dragListener = new SettingPresenter();
if (dragListener == nullptr)
{
namespace OHOS {
const static uint16_t gSliceInvalid = 0;
const static uint16_t gSliceDefaultPriority = 4; // 页面默认是最低优先级
-const static uint16_t gMaxHistorySlices = 3; // 默认最多保存三个历史记录
+const static uint16_t gMaxHistorySlices = 10; // 默认最多保存三个历史记录
class Ability {
public: