unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
// 回退
NativeAbility::GetInstance().Back();
uint16_t keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-08 09:36:01
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-09 20:14:30
+ * @LastEditTime: 2024-08-15 18:58:40
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/include/AiVoiceView.h
*/
#ifndef AI_VOICE_VIEW_H
void ClearAll(void);
void SetComponentVisibility(UIView *component, bool isVisible);
UILabelExt *title{nullptr}; /*标题*/
- UILabelExt *startChatLabel{nullptr}; /*开始对话标签*/
+ UILabelExt *startChatLabel{nullptr}; /*开始对话标签,暂时不用*/
UIButton *startChatButton{nullptr}; /*开始对话按钮*/
- UILabelExt *chatLabel{nullptr}; /*对话标签*/
+ UILabelExt *chatLabel{nullptr}; /*对话标签,暂时不用*/
UIButton *chatButton{nullptr}; /*对话按钮*/
UIImageView *aiModelImage{nullptr}; /*ai模型图片*/
- UILabelExt *apiKeysLabel{nullptr}; /*API Keys标签*/
- UIButton *apiKeysButton{nullptr}; /*API Keys按钮*/
+ UIImageView *buttonBgImage{nullptr}; /*按钮背景图片*/
+ UIImageView *upImage{nullptr}; /*上拉箭头*/
+ UILabelExt *apiKeysLabel{nullptr}; /*API Keys标签,暂时不用*/
+ UIButton *apiKeysButton{nullptr}; /*API Keys按钮,,暂时不用*/
UIPicker *aiModelPicker{nullptr}; /*ai模型选择器*/
UIScrollView *AiVoiceScrollView[MAX_AIVOICE_VIEWID]{nullptr};
bool viewInitStatus{false};
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-20 15:11:17
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-09 20:23:58
+ * @LastEditTime: 2024-08-15 18:53:14
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.cpp
*/
#include "AppViewIDs.h"
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoicePresenter::OnStart");
Presenter<AiVoiceView>::OnStart();
- ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON);
+ // ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON);
}
// 页面已经展示后的调用逻辑
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoicePresenter::OnStop");
Presenter<AiVoiceView>::OnStop();
- ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);
+ // ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);
model->StatusResume();
}
ChangeViewAndLogicOperator(AIVOICE_STARTCHAT_VIEWID, AIVOICE_NOTSETAPIKEYS); /*开始对话界面->API Keys notset界面*/
return true;
}
- else if (viewId == AIVOICE_APIKEYS_BUTTON_VIEW_ID) // 如果点击的是API Keys按钮
+ else if (viewId == AIVOICE_APIKEYS_BUTTON_VIEW_ID) // 如果点击的是API Keys按钮(注:暂时不用)
{
if (model->IsExistOpenAIAPIKeys() == true)
{
{
return false;
}
- if (event.GetDragDirection() == DragEvent::DIRECTION_RIGHT_TO_LEFT)
+ if (event.GetDragDirection() == DragEvent::DIRECTION_RIGHT_TO_LEFT) /*左滑*/
{
DragRightToLetfChangeAIModel();
}
- else if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && AiVoicePresenter::X_DRAG_FLAG)
+ else if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && AiVoicePresenter::X_DRAG_FLAG) /*右滑*/
{
if (scrollView == view_->GetAiVoiceScrollView(AIVOICE_STARTCHAT_VIEWID))
{
}
AiVoicePresenter::X_DRAG_FLAG = false;
}
+ else if (model->GetAiModelTextId() == STR_AIMODES_CHATGPT && event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP) /*上滑*/
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DIRECTION_BOTTOM_TO_TOP");
+ if (model->IsExistOpenAIAPIKeys() == true)
+ {
+ ChangeViewAndLogicOperator(AIVOICE_STARTCHAT_VIEWID, AIVOICE_SETAPIKEYS); /*开始对话界面->API Keys set界面*/
+ }
+ else
+ {
+ ChangeViewAndLogicOperator(AIVOICE_STARTCHAT_VIEWID, AIVOICE_NOTSETAPIKEYS); /*开始对话界面->API Keys notset界面*/
+ }
+ }
return true;
}
uint16_t keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
}
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-05-07 11:25:58
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-03 16:45:06
+ * @LastEditTime: 2024-08-15 19:05:26
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/AiVoice/src/AiVoiceView.cpp
*/
#include "aivoice/include/AiVoicePresenter.h"
delete aiModelPicker;
aiModelPicker = nullptr;
+ delete buttonBgImage;
+ buttonBgImage = nullptr;
+
+ delete upImage;
+ upImage = nullptr;
+
delete AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID];
AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID] = nullptr;
}
button->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h);
button->SetViewId(buttonconfig.ViewId);
button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff4fc34c);
- button->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
- button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff383838, UIButton::PRESSED);
+ button->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
+ button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0x00, UIButton::PRESSED);
button->SetOnTouchListener(presenter_);
return button;
aiModelImage->SetTouchable(true);
aiModelImage->SetViewId(AIVOICE_IMGAE_VIEW_ID);
aiModelImage->SetOnClickListener(presenter_);
-
+ /* -------------------------------- buttonBgImage -------------------------------- */
+ imagecinfig = {
+ .x = 208,
+ .y = 340,
+ .w = 48,
+ .h = 56,
+ .src = "/user/res/AIVoice/ai_chart_icon.bin",
+ };
+ buttonBgImage = AiVoiceViewImageView(imagecinfig);
+ if (buttonBgImage == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiVoiceView::aiModelImage is nullptr!!");
+ return false;
+ }
+ /* --------------------------------- upImage -------------------------------- */
+ imagecinfig = {
+ .x = 213,
+ .y = static_cast<int16_t>(buttonBgImage->GetY() + buttonBgImage->GetHeight() + 10),
+ .w = 40,
+ .h = 40,
+ .src = "/user/res/Sleep/up.bin",
+ };
+ upImage = AiVoiceViewImageView(imagecinfig);
+ if (upImage == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiVoiceView::aiModelImage is nullptr!!");
+ return false;
+ }
return true;
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoiceView::CreateAiVoiceViewButton");
/* ----------------------------- startChatButton ---------------------------- */
ButtonConfig buttonconfig = {
- .x = 93,
- .y = 320,
- .w = 280,
- .h = 90,
+ .x = 43,
+ .y = 328,
+ .w = 380,
+ .h = 80,
.ViewId = AIVOICE_START_CHAT_BUTTON_VIEW_ID,
};
startChatButton = AiVoiceViewButtonInit(buttonconfig);
return false;
}
startChatButton->SetVisible(false);
+ const char *image = "/user/res/AIVoice/ai_chart_icon_bg.bin";
+ startChatButton->SetImageSrc(image, image);
/* ------------------------------- chatButton ------------------------------- */
buttonconfig = {
- .x = 58,
- .y = 320,
- .w = 170,
- .h = 90,
+ .x = 43,
+ .y = 328,
+ .w = 380,
+ .h = 80,
.ViewId = AIVOICE_CHAT_BUTTON_VIEW_ID,
};
chatButton = AiVoiceViewButtonInit(buttonconfig);
return false;
}
chatButton->SetVisible(false);
+ chatButton->SetImageSrc(image, image);
/* ------------------------------ apiKeysButton ----------------------------- */
buttonconfig = {
.x = 238,
aiModelPicker->RequestFocus();
aiModelPicker->RegisterSelectedListener(presenter_);
aiModelPicker->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff), Color::GetColorFromRGBA(0xff, 0x00, 0x00, 0xff));
- const char *uiPicker1Data[] = {"0", "1", "2", "3"};
- aiModelPicker->SetValues(uiPicker1Data, 4);
+ const char *uiPicker1Data[] = {"0", "1", "2", "3", "4", "5"};
+ aiModelPicker->SetValues(uiPicker1Data, sizeof(uiPicker1Data) / sizeof(uiPicker1Data[0]));
}
return true;
AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(chatLabel);
AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(apiKeysButton);
AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(apiKeysLabel);
+ AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(buttonBgImage);
+ AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(upImage);
}
void AiVoiceView::OnStart()
bool isAiModeChatGpt = (AiVoiceModel::GetInstance().GetAiModelTextId() == STR_AIMODES_CHATGPT);
SetComponentVisibility(chatButton, isAiModeChatGpt);
- SetComponentVisibility(chatLabel, isAiModeChatGpt);
- SetComponentVisibility(apiKeysButton, isAiModeChatGpt);
- SetComponentVisibility(apiKeysLabel, isAiModeChatGpt);
+ // SetComponentVisibility(chatLabel, isAiModeChatGpt);
+ // SetComponentVisibility(apiKeysButton, isAiModeChatGpt);
+ // SetComponentVisibility(apiKeysLabel, isAiModeChatGpt);
- SetComponentVisibility(startChatLabel, !isAiModeChatGpt);
+ // SetComponentVisibility(startChatLabel, !isAiModeChatGpt);
SetComponentVisibility(startChatButton, !isAiModeChatGpt);
}
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-07-29 16:14:16
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-30 15:52:11
+ * @LastEditTime: 2024-08-15 18:26:04
* @FilePath: /xts_origin/FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/apikeys/ApiKeysPresenter.cpp
*/
UNUSED(view);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApiKeysPresenter::OnDragEnd");
std::string viewId = view.GetViewId();
-
+ AiVoiceView *p_AiVoiceView = AiVoiceView::GetInstance();
+ if (p_AiVoiceView == nullptr)
+ {
+ return false;
+ }
if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && X_DRAG_FLAG)
{
- AiVoiceView *p_AiVoiceView = AiVoiceView::GetInstance();
-
std::map<std::string, std::pair<int, int>> viewMap = {
- {SETAPIKEYS_SCROLLVIEW_VIEWID, {AIVOICE_SETAPIKEYS, AIVOICE_STARTCHAT_VIEWID}},
- {NOTSETAPIKEYS_SCROLLVIEW_VIEWID, {AIVOICE_NOTSETAPIKEYS, AIVOICE_STARTCHAT_VIEWID}},
+ // {SETAPIKEYS_SCROLLVIEW_VIEWID, {AIVOICE_SETAPIKEYS, AIVOICE_STARTCHAT_VIEWID}},
+ // {NOTSETAPIKEYS_SCROLLVIEW_VIEWID, {AIVOICE_NOTSETAPIKEYS, AIVOICE_STARTCHAT_VIEWID}},
{APIKEYS_DELETE_SCROLLVIEW_VIEWID, {AIVOICE_APIKEYS_DELETE, AIVOICE_SETAPIKEYS}},
};
auto it = viewMap.find(viewId);
- if (it != viewMap.end() && p_AiVoiceView != nullptr)
+ if (it != viewMap.end())
{
p_AiVoiceView->ChangeView(it->second.first, it->second.second);
}
X_DRAG_FLAG = false;
}
+ else if (event.GetDragDirection() == DragEvent::DIRECTION_TOP_TO_BOTTOM) /*下滑*/
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DIRECTION_TOP_TO_BOTTOM");
+ if (viewId == SETAPIKEYS_SCROLLVIEW_VIEWID)
+ {
+ p_AiVoiceView->ChangeView(AIVOICE_SETAPIKEYS, AIVOICE_STARTCHAT_VIEWID); /*API Keys set界面->开始对话界面*/
+ }
+ else if (viewId == NOTSETAPIKEYS_SCROLLVIEW_VIEWID)
+ {
+ p_AiVoiceView->ChangeView(AIVOICE_NOTSETAPIKEYS, AIVOICE_STARTCHAT_VIEWID); /*API Keys notset界面->开始对话界面*/
+ }
+ }
return true;
}
}
\ No newline at end of file
uint16_t keyID = event.GetKeyId();\r
uint16_t keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
}\r
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NavigateBack();
}
/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: BluetoothItem view\r
- * Author:\r
- * Create: 2021-10-13\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-08-05 15:20:01\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-08-15 14:19:01\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/bluetooth/include/BluetoothItemView.h\r
*/\r
\r
+\r
#ifndef BLUETOOTH_ITEM_VIEW_H\r
#define BLUETOOTH_ITEM_VIEW_H\r
\r
ImageAnimatorInfo connectImageInfo[BLUETOOTH_CONNECT_IMAGE_NUM];\r
UIImageView image;\r
UIButton button;\r
- UILabel connectStateLabel;\r
+ UILabel connectStateLabel;/*连接状态标签*/\r
UILabel namelabel;\r
- UIImageAnimatorView connectionAnimator;\r
+ UIImageAnimatorView connectionAnimator; /*连接动画*/\r
BluetoothCaseInfo itemInfo_{};\r
void BtConnectImageAnimator();\r
};\r
CALLERPLAYERS,\r
} CallerFactor;\r
\r
+/*整合和存储与蓝牙设备相关的各种信息*/\r
typedef struct {\r
unsigned char deviceName[BD_NAME_LEN]; /* Name of the device record, must be in UTF-8 */\r
- unsigned char addr[BD_ADDR_LEN];\r
- int16_t index;\r
+ unsigned char addr[BD_ADDR_LEN]; /*存储蓝牙设备的地址*/\r
+ int16_t index;/*用于表示设备在某个特定列表或数据结构中的索引位置。*/\r
int16_t connIndex;\r
int16_t temp;\r
} BluetoothCaseInfo;\r
void SetUpListCase();\r
void SetUpConnedDevicesList();\r
bool FindNameByAddr(BluetoothCaseInfo &listInfo, BluetoothCaseInfo *caseInfo);\r
- bool aclConnected{false};\r
- BluetoothCaseInfo tempMacValue{};\r
+ bool aclConnected{false};/*ACL(Asynchronous Connectionless,异步无连接)连接状态*/\r
+ BluetoothCaseInfo tempMacValue{};/*临时蓝牙设备地址*/\r
bd_addr_t lastConnedAddr{};\r
bd_addr_t remoteConnectAddr{0};\r
BluetoothItemView *selectItemView{nullptr};\r
/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: BluetoothOptions view\r
- * Author:\r
- * Create: 2021-10-13\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-08-05 15:20:01\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-08-15 10:18:02\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/bluetooth/include/BluetoothOptionsView.h\r
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r
*/\r
#ifndef BLUETOOTH_OPTIONS_VIEW_H\r
#define BLUETOOTH_OPTIONS_VIEW_H\r
#include "components/ui_view_group.h"\r
#include "components/ui_label.h"\r
#include "components/ui_label_ext.h"\r
-#include "components/ui_label_button.h"\r
+#include "components/ui_label_button_ext.h"\r
#include "components/ui_image_animator.h"\r
#include "BluetoothCaseListAdapter.h"\r
\r
-namespace OHOS {\r
-class BluetoothOptionsView {\r
-public:\r
- BluetoothOptionsView();\r
- ~BluetoothOptionsView();\r
- static BluetoothOptionsView *GetInstance();\r
- UIViewGroup *InitShowUpView(void);\r
- UILabelButton *GetOptionsOneButton(void);\r
- UILabelButton *GetUnpairButton(void);\r
- void SetUnpair(void);\r
- void SetBtconnect(void);\r
- void SetBtDisconnect(void);\r
- void SetCurrentAddr(bd_addr_t addr);\r
- bd_addr_t GetCurrentAddr(void);\r
- void RefreshText(void);\r
-private:\r
- void InItTitleLabel(void);\r
- void InItLabelButton(void);\r
- UILabelButton *optionsOneButton{nullptr};\r
- UILabelButton *unpairButton{nullptr};\r
- UILabel *titleLabel{nullptr};\r
- UILabel *connectStateLabel{nullptr};\r
- UIViewGroup *group{nullptr};\r
- bd_addr_t currentAddr;\r
-};\r
+namespace OHOS\r
+{\r
+ // 已连接的蓝牙耳机设备视图\r
+ class BluetoothOptionsView\r
+ {\r
+ public:\r
+ BluetoothOptionsView();\r
+ ~BluetoothOptionsView();\r
+ static BluetoothOptionsView *GetInstance();\r
+ UIViewGroup *CreateBluetoothOptionsView(void);\r
+ UILabelButtonExt *GetOptionsOneButton(void);\r
+ UILabelButtonExt *GetUnpairButton(void);\r
+ void SetUnpair(void);\r
+ void SetBtconnect(void);\r
+ void SetBtDisconnect(void);\r
+ void SetCurrentAddr(bd_addr_t addr);\r
+ bd_addr_t GetCurrentAddr(void);\r
+ void RefreshText(void);\r
+\r
+ private:\r
+ bool CreateBluetoothOptionsLabelView(void);\r
+ bool CreateBluetoothOptionsLabelButton(void);\r
+ bool CreateBluetoothOptionsImageView(void);\r
+\r
+ void InItTitleLabel(void);\r
+ void InItLabelButton(void);\r
+ UIViewGroup *group{nullptr};\r
+ UILabelExt *titleLabel{nullptr}; /*标题:蓝牙耳机*/\r
+ UIImageView *btHeadsetIconUmage{nullptr}; // 绿色耳机图标\r
+ UILabelExt *EarPhoneDeviceName{nullptr}; // 蓝牙耳机设备名\r
+ UILabelExt *pairState{nullptr}; // 已配对或者未配对\r
+ UILabelButtonExt *unpairButton{nullptr}; // 取消配对按钮\r
+ bd_addr_t currentAddr;\r
+\r
+ /*下面两个组件暂时设为不可见待到需要时使用*/\r
+ UILabelButtonExt *optionsOneButton{nullptr}; /*重新连接和断开连接按钮*/\r
+ UILabel *connectStateLabel{nullptr}; /*已连接或未连接标签*/\r
+ };\r
} // namespace OHOS\r
#endif // BLUETOOTH_OPTIONS_VIEW_H
\ No newline at end of file
BLUETOOTHEARPHONEVIEW = 0,\r
BLUETOOTHEARLISTVIEW,\r
BLUETOOTHDEVICELISTVIEW,\r
- BLUETOOTHEOPTIONSVIEW,\r
- BLUETOOTHRECONNECTVIEW,\r
+ BLUETOOTHEOPTIONSVIEW,/*已连接的蓝牙耳机设备视图*/\r
+ BLUETOOTHRECONNECTVIEW,/*蓝牙重新连接视图*/\r
TIPSSUCCMESSAGEVIEW,\r
TIPSCONNFAILMESSAGEVIEW,\r
TIPSFAILMESSAGEVIEW,\r
/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: TipsFailMessageView view\r
- * Author:\r
- * Create: 2021-10-13\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-08-05 15:20:01\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-08-14 17:36:25\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/bluetooth/include/TipsFailMessageView.h\r
*/\r
+\r
#ifndef TIPS_FAIL_MESSAGE_VIEW_H\r
#define TIPS_FAIL_MESSAGE_VIEW_H\r
\r
#include "components/ui_view_group.h"\r
#include "components/ui_label.h"\r
#include "components/ui_label_ext.h"\r
-#include "components/ui_label_button.h"\r
+#include "components/ui_label_button_ext.h"\r
#include "components/ui_image_view.h"\r
\r
-namespace OHOS {\r
-class TipsFailMessageView {\r
-public:\r
- TipsFailMessageView();\r
- ~TipsFailMessageView();\r
- static TipsFailMessageView *GetInstance();\r
- UIViewGroup *ShowUpViewInit(void);\r
-private:\r
- int ShowUpButtonBack(void);\r
- UILabel *titleLabel{nullptr};\r
- UILabelButton *backButton{nullptr};\r
- UIImageView *tipImg{nullptr};\r
- UIViewGroup *group{nullptr};\r
-};\r
+namespace OHOS\r
+{\r
+ /*蓝牙设备搜索不到视图*/\r
+ class TipsFailMessageView\r
+ {\r
+ public:\r
+ TipsFailMessageView();\r
+ ~TipsFailMessageView();\r
+ static TipsFailMessageView *GetInstance();\r
+ UIViewGroup *CreateTipsFailMessageView(void);\r
+\r
+ private:\r
+ bool CreateTipsFailMessageLabelView(void);\r
+ bool CreateTipsFailMessageLabelButton(void);\r
+ bool CreateTipsFailMessageImageView(void);\r
+\r
+ int ShowUpButtonBack(void);\r
+ UIViewGroup *group{nullptr};\r
+ UILabelExt *titleLabel{nullptr}; /*标题:蓝牙耳机 */\r
+ UIImageView *btIconImage{nullptr}; /*灰色的蓝牙图标*/\r
+ UILabelExt *btHeadsetNotFoundLabel{nullptr}; /*当前搜索不到耳机蓝牙设备*/\r
+ UILabelButtonExt *rescanButton{nullptr}; /*重新搜索按钮*/\r
+ };\r
} // namespace OHOS\r
#endif // TIPS_FAIL_MESSAGE_VIEW_H
\ No newline at end of file
return *btConnedDevicesList_;\r
}\r
\r
+/*\r
+* @brief 用于检查特定蓝牙设备(其地址存储在 tempMacValue 中)是否处于 ACL 连接状态。\r
+*\r
+*eg:如果是在控制与手机配对的蓝牙手环,通过这个函数就能确定手环当前与手机的连接情况。\r
+*/\r
void BluetoothModel::SetBtStatus(void)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetBtStatus tempMacValue: %02x%02x%02x%02x%02x%02x",\r
* Author:\r
* Create: 2021-10-13\r
*/\r
-#include "BluetoothOptionsView.h"\r
-#include "BluetoothModel.h"\r
+#include "bluetooth/include/BluetoothOptionsView.h"\r
+#include "bluetooth/include/BluetoothModel.h"\r
#include "wearable_log.h"\r
#include "UiConfig.h"\r
-#include "PlayersPresenter.h"\r
-#include "BluetoothPresenter.h"\r
-\r
-namespace OHOS {\r
-static BluetoothOptionsView *g_pBluetoothOptionsView{nullptr};\r
-\r
-BluetoothOptionsView::BluetoothOptionsView()\r
+#include "player/include/PlayersPresenter.h"\r
+#include "player/include/PlayersView.h"\r
+#include "bluetooth/include/BluetoothPresenter.h"\r
+#include "ui_resource_string.h"\r
+#include "ui_resource_image.h"\r
+namespace OHOS\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView::BluetoothOptionsView");\r
- g_pBluetoothOptionsView = this;\r
-}\r
+ static BluetoothOptionsView *g_pBluetoothOptionsView{nullptr};\r
\r
-BluetoothOptionsView::~BluetoothOptionsView()\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView::~BluetoothOptionsView");\r
- group->RemoveAll();\r
- delete titleLabel;\r
- titleLabel = nullptr;\r
- delete connectStateLabel;\r
- connectStateLabel = nullptr;\r
- delete optionsOneButton;\r
- optionsOneButton = nullptr;\r
- delete unpairButton;\r
- unpairButton = nullptr;\r
- delete group;\r
- group = nullptr;\r
- g_pBluetoothOptionsView = nullptr;\r
-}\r
-\r
-BluetoothOptionsView *BluetoothOptionsView::GetInstance()\r
-{\r
- return g_pBluetoothOptionsView;\r
-}\r
+ BluetoothOptionsView::BluetoothOptionsView()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView::BluetoothOptionsView");\r
+ g_pBluetoothOptionsView = this;\r
+ }\r
\r
-void BluetoothOptionsView::RefreshText(void)\r
-{\r
- // 刷新状态和文字\r
- BluetoothModel::GetInstance()->SetBtStatus();\r
- if (BluetoothModel::GetInstance()->GetAclConnected()) {\r
- connectStateLabel->SetText("已连接");\r
- optionsOneButton->SetText("断开连接");\r
- } else {\r
- connectStateLabel->SetText("已断开");\r
- optionsOneButton->SetText("重新连接");\r
+ BluetoothOptionsView::~BluetoothOptionsView()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView::~BluetoothOptionsView");\r
+ if (group != nullptr)\r
+ {\r
+ group->RemoveAll();\r
+ if (titleLabel)\r
+ {\r
+ delete titleLabel;\r
+ titleLabel = nullptr;\r
+ }\r
+ if (btHeadsetIconUmage)\r
+ {\r
+ delete btHeadsetIconUmage;\r
+ btHeadsetIconUmage = nullptr;\r
+ }\r
+ if (EarPhoneDeviceName)\r
+ {\r
+ delete EarPhoneDeviceName;\r
+ EarPhoneDeviceName = nullptr;\r
+ }\r
+ if (pairState)\r
+ {\r
+ delete pairState;\r
+ pairState = nullptr;\r
+ }\r
+ if (unpairButton)\r
+ {\r
+ delete unpairButton;\r
+ unpairButton = nullptr;\r
+ }\r
+ if (connectStateLabel)\r
+ {\r
+ delete connectStateLabel;\r
+ connectStateLabel = nullptr;\r
+ }\r
+ if (optionsOneButton)\r
+ {\r
+ delete optionsOneButton;\r
+ optionsOneButton = nullptr;\r
+ }\r
+ delete group;\r
+ group = nullptr;\r
+ }\r
+ g_pBluetoothOptionsView = nullptr;\r
}\r
- BluetoothCaseInfo *caseInfo = BluetoothModel::GetInstance()->GetTempMacValue();\r
- titleLabel->SetText(reinterpret_cast<const char *>(caseInfo->deviceName));\r
- optionsOneButton->Invalidate();\r
-}\r
\r
-void BluetoothOptionsView::InItTitleLabel()\r
-{\r
- if (titleLabel == nullptr) {\r
- titleLabel = new UILabel();\r
- if (titleLabel == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView titleLabel new fail");\r
- return;\r
+ BluetoothOptionsView *BluetoothOptionsView::GetInstance()\r
+ {\r
+ return g_pBluetoothOptionsView;\r
+ }\r
+\r
+ bool BluetoothOptionsView::CreateBluetoothOptionsLabelView(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView::CreateBluetoothOptionsLabelView");\r
+ /* ------------------------------- titleLabel ------------------------------- */\r
+ if (titleLabel == nullptr)\r
+ {\r
+ titleLabel = new UILabelExt();\r
+ if (titleLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "titleLabel new fail");\r
+ return false;\r
+ }\r
+ }\r
+ titleLabel->SetPosition(83, 50, 300, 35);\r
+ titleLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+ titleLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ titleLabel->SetTextId(STR_BLUETOOTH_HEADPHONES); /*蓝牙耳机*/\r
+ titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+ titleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ /* --------------------------- EarPhoneDeviceName --------------------------- */\r
+ if (EarPhoneDeviceName == nullptr)\r
+ {\r
+ EarPhoneDeviceName = new UILabelExt();\r
+ if (EarPhoneDeviceName == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "EarPhoneDeviceName new fail");\r
+ return false;\r
+ }\r
}\r
- titleLabel->SetPosition(60, 100, 333, 45); // 60:x 100:y 333:width 45:height\r
+ EarPhoneDeviceName->SetPosition(53, 246, 360, 35);\r
+ EarPhoneDeviceName->SetStyle(STYLE_TEXT_FONT, 30);\r
+ EarPhoneDeviceName->SetStyle(STYLE_LINE_HEIGHT, 35);\r
BluetoothCaseInfo *caseInfo = BluetoothModel::GetInstance()->GetTempMacValue();\r
- titleLabel->SetText(reinterpret_cast<const char *>(caseInfo->deviceName));\r
- titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
- titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_FORTY_SIZE);\r
- titleLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE);\r
- titleLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER);\r
- group->Add(titleLabel);\r
- }\r
- if (connectStateLabel == nullptr) {\r
- connectStateLabel = new UILabel();\r
- if (connectStateLabel == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView connectStateLabel new fail");\r
- return;\r
+ EarPhoneDeviceName->SetText(reinterpret_cast<const char *>(caseInfo->deviceName));\r
+ EarPhoneDeviceName->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+ EarPhoneDeviceName->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ EarPhoneDeviceName->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ /* -------------------------------- pairState ------------------------------- */\r
+ if (pairState == nullptr)\r
+ {\r
+ pairState = new UILabelExt();\r
+ if (pairState == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "pairState new fail");\r
+ return false;\r
+ }\r
}\r
- connectStateLabel->SetPosition(60, 148, 333, 33); // 60:x 148:y 333:width 33:height\r
+ pairState->SetPosition(53, 284, 360, 35);\r
+ pairState->SetStyle(STYLE_TEXT_FONT, 30);\r
+ pairState->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ pairState->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0x7f));\r
+ caseInfo = BluetoothModel::GetInstance()->GetTempMacValue();\r
+ pairState->SetTextId(STR_PAIRED);\r
+ pairState->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+ pairState->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ pairState->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ /* ---------------------------- connectStateLabel 注:暂时不用--------------------------- */\r
+ if (connectStateLabel == nullptr)\r
+ {\r
+ connectStateLabel = new UILabel();\r
+ if (connectStateLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView connectStateLabel new fail");\r
+ return false;\r
+ }\r
+ }\r
+ connectStateLabel->SetPosition(60, 148, 333, 33);\r
connectStateLabel->SetText("已连接");\r
connectStateLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_THIRTY_SIZE);\r
connectStateLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE);\r
connectStateLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER);\r
- group->Add(connectStateLabel);\r
+ connectStateLabel->SetVisible(false);\r
+ /* -------------------------------------------------------------------------- */\r
+ return true;\r
}\r
-}\r
\r
-void BluetoothOptionsView::InItLabelButton()\r
-{\r
- UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::PlayersPresenter::GetInstance();\r
- UIView::OnClickListener *clickListener2 = (UIView::OnClickListener *)OHOS::BluetoothPresenter::GetInstance();\r
- if ((clickListener == nullptr) && (clickListener2 == nullptr)) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener GetInstance fail");\r
- return;\r
- }\r
- if (optionsOneButton == nullptr) {\r
- optionsOneButton = new UILabelButton();\r
- if (optionsOneButton == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView optionsOneButton new fail");\r
- return;\r
+ bool BluetoothOptionsView::CreateBluetoothOptionsLabelButton(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView::CreateBluetoothOptionsLabelButton");\r
+ UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::PlayersPresenter::GetInstance();\r
+ UIView::OnClickListener *clickListener2 = (UIView::OnClickListener *)OHOS::BluetoothPresenter::GetInstance();\r
+ if ((clickListener == nullptr) && (clickListener2 == nullptr))\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener GetInstance fail");\r
+ return false;\r
+ }\r
+ /* ---------------------------- optionsOneButton 注:暂时不用---------------------------- */\r
+ if (optionsOneButton == nullptr)\r
+ {\r
+ optionsOneButton = new UILabelButtonExt();\r
+ if (optionsOneButton == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView optionsOneButton new fail");\r
+ return false;\r
+ }\r
}\r
optionsOneButton->SetPosition(157, 210, 139, 47); // 157:x, 210:y, 139:width 47:height\r
optionsOneButton->SetText("断开连接");\r
optionsOneButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_THIRTY_SIZE);\r
optionsOneButton->SetViewId(BLUETOOTH_OPTIONONE_BUTTON);\r
optionsOneButton->SetImageSrc(PNG_SELECTION_BOX, PNG_SELECTION_BOX);\r
- if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS) {\r
+ if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS)\r
+ {\r
optionsOneButton->SetTextColor(Color::Red());\r
optionsOneButton->SetOnClickListener(clickListener);\r
- } else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING) {\r
+ }\r
+ else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING)\r
+ {\r
optionsOneButton->SetTextColor(Color::Blue());\r
optionsOneButton->SetOnClickListener(clickListener2);\r
}\r
- group->Add(optionsOneButton);\r
- }\r
- if (unpairButton == nullptr) {\r
- unpairButton = new UILabelButton();\r
- if (unpairButton == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView unpairButton new fail");\r
- return;\r
- }\r
- unpairButton->SetPosition(157, 284, 139, 47); // 157:x, 284:y, 139:width 47:height\r
- unpairButton->SetText("取消配对");\r
- unpairButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_THIRTY_SIZE);\r
+ optionsOneButton->SetVisible(false);\r
+ /* ------------------------------ unpairButton ------------------------------ */\r
+ if (unpairButton == nullptr)\r
+ {\r
+ unpairButton = new UILabelButtonExt();\r
+ if (unpairButton == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView unpairButton new fail");\r
+ return false;\r
+ }\r
+ }\r
+ unpairButton->SetPosition(0, 366, 466, 100);\r
+ unpairButton->SetTextId(STR_UNPAIR); // 取消配对\r
+ unpairButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
unpairButton->SetViewId(BLUETOOTH_UNPAIR_BUTTON);\r
- unpairButton->SetImageSrc(PNG_SELECTION_BOX, PNG_SELECTION_BOX);\r
- if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS) {\r
- unpairButton->SetTextColor(Color::Red());\r
+ unpairButton->SetImageSrc(PNG_BUTTON_466x100_IMAGE, PNG_BUTTON_466x100_IMAGE);\r
+ unpairButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0x00, UIButton::PRESSED);\r
+ unpairButton->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));\r
+ if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS)\r
+ {\r
unpairButton->SetOnClickListener(clickListener);\r
- } else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING) {\r
- unpairButton->SetTextColor(Color::Blue());\r
+ }\r
+ else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING)\r
+ {\r
unpairButton->SetOnClickListener(clickListener2);\r
}\r
- group->Add(unpairButton);\r
+ return true;\r
}\r
-}\r
\r
-UIViewGroup *BluetoothOptionsView::InitShowUpView()\r
-{\r
- // 获取currentBdAddr db值 model待开发\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView init");\r
- if (group == nullptr) {\r
- group = new UIViewGroup();\r
- if (group == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail");\r
- return nullptr;\r
+ bool BluetoothOptionsView::CreateBluetoothOptionsImageView(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView::CreateBluetoothOptionsImageView");\r
+ /* --------------------------- btHeadsetIconUmage --------------------------- */\r
+ if (btHeadsetIconUmage == nullptr)\r
+ {\r
+ btHeadsetIconUmage = new UIImageView();\r
+ if (btHeadsetIconUmage == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "btHeadsetIconUmage new fail");\r
+ return false;\r
+ }\r
+ }\r
+ btHeadsetIconUmage->SetPosition(193, 134, 80, 80);\r
+ btHeadsetIconUmage->SetAutoEnable(false);\r
+ btHeadsetIconUmage->SetResizeMode(UIImageView::CENTER);\r
+ if (!PlayersView::LoadPlayerImage(btHeadsetIconUmage, PLAYER_EARPHONE))\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "btHeadsetIconUmage LoadPlayerImage fail");\r
+ return false;\r
}\r
- group->SetPosition(0, 0);\r
- group->SetWidth(HORIZONTAL_RESOLUTION);\r
- group->SetHeight(VERTICAL_RESOLUTION);\r
+ return true;\r
}\r
- InItLabelButton();\r
- InItTitleLabel();\r
- UIView::OnDragListener *earDragListener = (UIView::OnDragListener *)OHOS::PlayerOnDragListener::GetInstance();\r
- UIView::OnDragListener *earDragListener2 = (UIView::OnDragListener *)OHOS::BluetoothPresenter::GetInstance();\r
- if ((earDragListener == nullptr) && (earDragListener2 == nullptr)) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "earDragListener GetInstance fail");\r
- return nullptr;\r
+\r
+ // 刷新状态和文字\r
+ void BluetoothOptionsView::RefreshText(void)\r
+ {\r
+ BluetoothModel::GetInstance()->SetBtStatus();\r
+ if (BluetoothModel::GetInstance()->GetAclConnected())\r
+ {\r
+ connectStateLabel->SetText("已连接");\r
+ optionsOneButton->SetText("断开连接");\r
+ }\r
+ else\r
+ {\r
+ connectStateLabel->SetText("已断开");\r
+ optionsOneButton->SetText("重新连接");\r
+ }\r
+ BluetoothCaseInfo *caseInfo = BluetoothModel::GetInstance()->GetTempMacValue();\r
+ EarPhoneDeviceName->SetText(reinterpret_cast<const char *>(caseInfo->deviceName));\r
+ optionsOneButton->Invalidate();\r
}\r
- if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS) {\r
- group->SetOnDragListener(earDragListener);\r
- } else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING) {\r
- group->SetOnDragListener(earDragListener2);\r
+\r
+ UIViewGroup *BluetoothOptionsView::CreateBluetoothOptionsView()\r
+ {\r
+ // 获取currentBdAddr db值 model待开发\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothOptionsView init");\r
+ if (group == nullptr)\r
+ {\r
+ group = new UIViewGroup();\r
+ if (group == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail");\r
+ return nullptr;\r
+ }\r
+ group->SetPosition(0, 0);\r
+ group->SetWidth(HORIZONTAL_RESOLUTION);\r
+ group->SetHeight(VERTICAL_RESOLUTION);\r
+ }\r
+ UIView::OnDragListener *earDragListener = (UIView::OnDragListener *)OHOS::PlayerOnDragListener::GetInstance();\r
+ UIView::OnDragListener *earDragListener2 = (UIView::OnDragListener *)OHOS::BluetoothPresenter::GetInstance();\r
+ if ((earDragListener == nullptr) && (earDragListener2 == nullptr))\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "earDragListener GetInstance fail");\r
+ return nullptr;\r
+ }\r
+ if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS)\r
+ {\r
+ group->SetOnDragListener(earDragListener);\r
+ }\r
+ else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING)\r
+ {\r
+ group->SetOnDragListener(earDragListener2);\r
+ }\r
+ group->SetViewId(BLUETOOTH_OPTIONS_VIEW);\r
+ group->SetDraggable(true);\r
+ group->SetTouchable(true);\r
+ /* -------------------------------------------------------------------------- */\r
+ if (!CreateBluetoothOptionsLabelView() || !CreateBluetoothOptionsImageView() || !CreateBluetoothOptionsLabelButton())\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::CreateTipsFailMessageView fail!!");\r
+ return nullptr;\r
+ }\r
+ /* ----------------------------------- Add ---------------------------------- */\r
+ group->Add(titleLabel);\r
+ group->Add(btHeadsetIconUmage);\r
+ group->Add(EarPhoneDeviceName);\r
+ group->Add(pairState);\r
+ group->Add(unpairButton);\r
+ group->Add(optionsOneButton);\r
+ group->Add(connectStateLabel);\r
+\r
+ return group;\r
}\r
- group->SetViewId(BLUETOOTH_OPTIONS_VIEW);\r
- group->SetDraggable(true);\r
- group->SetTouchable(true);\r
- return group;\r
-}\r
\r
-UILabelButton *BluetoothOptionsView::GetOptionsOneButton(void)\r
-{\r
- return optionsOneButton;\r
-}\r
+ UILabelButtonExt *BluetoothOptionsView::GetOptionsOneButton(void)\r
+ {\r
+ return optionsOneButton;\r
+ }\r
\r
-UILabelButton *BluetoothOptionsView::GetUnpairButton(void)\r
-{\r
- return unpairButton;\r
-}\r
+ UILabelButtonExt *BluetoothOptionsView::GetUnpairButton(void)\r
+ {\r
+ return unpairButton;\r
+ }\r
\r
+ /*\r
+ * @brief 获取蓝牙Model中的最后连接设备的地址,然后调用 gap_disconnect_remote_device 函数来断开与该远程设备的连接,并记录相关的日志信息。\r
+ *\r
+ * eg:比如之前连接的设备是一个蓝牙耳机,当用户主动触发断开操作时,该函数就会执行,断开与该耳机的连接。\r
+ */\r
+ void BluetoothOptionsView::SetBtDisconnect(void)\r
+ {\r
+ bd_addr_t *lastAddr = BluetoothModel::GetInstance()->GetLastConnedAddr();\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetBtDisconnect Addr: %02x%02x%02x%02x%02x%02x",\r
+ lastAddr->addr[5], lastAddr->addr[4], lastAddr->addr[3], /* mac下标 0 1 2 3 4 5 */\r
+ lastAddr->addr[2], lastAddr->addr[1], lastAddr->addr[0]); /* mac下标 0 1 2 3 4 5 */\r
+ errcode_t retVal = gap_disconnect_remote_device(lastAddr);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gap_disconnect_remote_device %d", retVal);\r
+ }\r
\r
-void BluetoothOptionsView::SetBtDisconnect(void)\r
-{\r
- bd_addr_t *lastAddr = BluetoothModel::GetInstance()->GetLastConnedAddr();\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetBtDisconnect Addr: %02x%02x%02x%02x%02x%02x",\r
- lastAddr->addr[5], lastAddr->addr[4], lastAddr->addr[3], /* mac下标 0 1 2 3 4 5 */\r
- lastAddr->addr[2], lastAddr->addr[1], lastAddr->addr[0]); /* mac下标 0 1 2 3 4 5 */\r
- errcode_t retVal = gap_disconnect_remote_device(lastAddr);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gap_disconnect_remote_device %d", retVal);\r
-}\r
-\r
-void BluetoothOptionsView::SetBtconnect(void)\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetBtconnect currentAddr: %02x%02x%02x%02x%02x%02x",\r
- currentAddr.addr[5], currentAddr.addr[4], currentAddr.addr[3], /* mac下标 0 1 2 3 4 5 */\r
- currentAddr.addr[2], currentAddr.addr[1], currentAddr.addr[0]); /* mac下标 0 1 2 3 4 5 */\r
- errcode_t retVal = BluetoothModel::GetInstance()->ConnectRemoteDevice(¤tAddr);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetBtconnect ConnectRemoteDevice %d", retVal);\r
-}\r
-\r
-void BluetoothOptionsView::SetUnpair(void)\r
-{\r
- bool ret;\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetUnpair currentAddr: %02x%02x%02x%02x%02x%02x",\r
- currentAddr.addr[5], currentAddr.addr[4], currentAddr.addr[3], /* mac下标 0 1 2 3 4 5 */\r
- currentAddr.addr[2], currentAddr.addr[1], currentAddr.addr[0]); /* mac下标 0 1 2 3 4 5 */\r
- ret = gap_remove_pair(¤tAddr);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetUnpair gap_remove_pair %d", ret);\r
-}\r
+ /*\r
+ * @brief 记录当前要连接的设备地址的相关日志信息,然后通过蓝牙Model的 ConnectRemoteDevice 函数尝试连接该远程设备,并记录连接结果的日志。 \r
+ *\r
+ * 当用户选择连接一个新的蓝牙设备时,这个函数会被调用,尝试建立与该设备的连接。\r
+ */\r
+ void BluetoothOptionsView::SetBtconnect(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetBtconnect currentAddr: %02x%02x%02x%02x%02x%02x",\r
+ currentAddr.addr[5], currentAddr.addr[4], currentAddr.addr[3], /* mac下标 0 1 2 3 4 5 */\r
+ currentAddr.addr[2], currentAddr.addr[1], currentAddr.addr[0]); /* mac下标 0 1 2 3 4 5 */\r
+ errcode_t retVal = BluetoothModel::GetInstance()->ConnectRemoteDevice(¤tAddr);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetBtconnect ConnectRemoteDevice %d", retVal);\r
+ }\r
\r
+ /*\r
+ * @brief 记录当前设备地址的日志,然后调用 gap_remove_pair 函数来解除与该设备的配对,并记录操作结果的日志。\r
+ *\r
+ * 如果用户不再希望与某个已配对的蓝牙设备保持配对关系,例如一个旧手机,触发此操作时该函数执行。\r
+ */\r
+ void BluetoothOptionsView::SetUnpair(void)\r
+ {\r
+ bool ret;\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetUnpair currentAddr: %02x%02x%02x%02x%02x%02x",\r
+ currentAddr.addr[5], currentAddr.addr[4], currentAddr.addr[3], /* mac下标 0 1 2 3 4 5 */\r
+ currentAddr.addr[2], currentAddr.addr[1], currentAddr.addr[0]); /* mac下标 0 1 2 3 4 5 */\r
+ ret = gap_remove_pair(¤tAddr);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetUnpair gap_remove_pair %d", ret);\r
+ }\r
\r
-void BluetoothOptionsView::SetCurrentAddr(bd_addr_t addr)\r
-{\r
- (void)memcpy_s(currentAddr.addr, BD_ADDR_LEN,\r
- addr.addr, BD_ADDR_LEN); // 源和目标内存长度一样,不做返回值判断\r
-}\r
+ /*\r
+ * @brief 使用 memcpy_s 函数将传入的地址 addr 复制到 currentAddr 中。\r
+ *\r
+ * 当获取到新的有效的蓝牙设备地址时,通过这个函数更新当前要操作的地址。\r
+ */\r
+ void BluetoothOptionsView::SetCurrentAddr(bd_addr_t addr)\r
+ {\r
+ (void)memcpy_s(currentAddr.addr, BD_ADDR_LEN,\r
+ addr.addr, BD_ADDR_LEN); // 源和目标内存长度一样,不做返回值判断\r
+ }\r
\r
-bd_addr_t BluetoothOptionsView::GetCurrentAddr(void)\r
-{\r
- return currentAddr;\r
-}\r
+ /*\r
+ * @brief 返回当前保存的蓝牙设备地址。\r
+ *\r
+ * 其他函数需要获取当前正在操作的蓝牙地址时,会调用这个函数来获取。\r
+ */\r
+ bd_addr_t BluetoothOptionsView::GetCurrentAddr(void)\r
+ {\r
+ return currentAddr;\r
+ }\r
}
\ No newline at end of file
view_->ChangeView(BLUETOOTHEOPTIONSVIEW, BLUETOOTHDEVICELISTVIEW);\r
}\r
\r
+/*已连接的蓝牙耳机设备视图中【重新连接或断开连接】按钮*/\r
void BluetoothPresenter::ClickOptionsOneButton(void)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothPresenter::OnClick BLUETOOTH_OPTIONONE_BUTTON");\r
bluetoothMode_->SetBtStatus();\r
if (bluetoothMode_->GetAclConnected()) {\r
bluetoothMode_->SetTagConnectNew(false);\r
- bluetoothOptionsView->SetBtDisconnect();\r
+ bluetoothOptionsView->SetBtDisconnect();/*断开与该远程设备的连接*/\r
view_->ChangeView(BLUETOOTHEOPTIONSVIEW, BLUETOOTHDEVICELISTVIEW);\r
} else {\r
bluetoothMode_->SetTagReconnectJump(true);\r
uint16 keyID = event.GetKeyId();\r
uint16 keyState = event.GetState();\r
// 如果是power键就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back();\r
}\r
return false;\r
}\r
// init view\r
- UIViewGroup *group = tipsFailMessageView->ShowUpViewInit();\r
+ UIViewGroup *group = tipsFailMessageView->CreateTipsFailMessageView();\r
if (group == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail");\r
return false;\r
return false;\r
}\r
// init view\r
- UIViewGroup *group = bluetoothOptionsView->InitShowUpView();\r
+ UIViewGroup *group = bluetoothOptionsView->CreateBluetoothOptionsView();\r
if (group == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail");\r
return false;\r
#include "BluetoothModel.h"\r
#include "wearable_log.h"\r
#include "UiConfig.h"\r
-#include "PlayersPresenter.h"\r
-#include "BluetoothPresenter.h"\r
+#include "player/include/PlayersPresenter.h"\r
+#include "player/include/PlayersView.h"\r
+#include "bluetooth/include/BluetoothPresenter.h"\r
+#include "ui_resource_string.h"\r
+#include "ui_resource_image.h"\r
\r
-namespace OHOS {\r
-static TipsFailMessageView *g_pFailMessageView{nullptr};\r
-TipsFailMessageView::TipsFailMessageView()\r
+namespace OHOS\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::TipsFailMessageView");\r
- g_pFailMessageView = this;\r
-}\r
+ static TipsFailMessageView *g_pFailMessageView{nullptr};\r
+ TipsFailMessageView::TipsFailMessageView()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::TipsFailMessageView");\r
+ g_pFailMessageView = this;\r
+ }\r
\r
-TipsFailMessageView::~TipsFailMessageView()\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::~TipsFailMessageView");\r
- group->RemoveAll();\r
- delete titleLabel;\r
- titleLabel = nullptr;\r
- delete backButton;\r
- backButton = nullptr;\r
- delete group;\r
- group = nullptr;\r
- delete tipImg;\r
- tipImg = nullptr;\r
- g_pFailMessageView = nullptr;\r
-}\r
+ TipsFailMessageView::~TipsFailMessageView()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::~TipsFailMessageView");\r
+ if (group != nullptr)\r
+ {\r
+ group->RemoveAll();\r
+ if (titleLabel)\r
+ {\r
+ delete titleLabel;\r
+ titleLabel = nullptr;\r
+ }\r
+ if (btIconImage)\r
+ {\r
+ delete btIconImage;\r
+ btIconImage = nullptr;\r
+ ImageCacheManager::GetInstance().UnloadOneInMultiRes(PLAYER_BLUETOOTH_GRAY, PLAYER_IAMGES);\r
+ }\r
+ if (btHeadsetNotFoundLabel)\r
+ {\r
+ delete btHeadsetNotFoundLabel;\r
+ btHeadsetNotFoundLabel = nullptr;\r
+ }\r
+ if (rescanButton)\r
+ {\r
+ delete rescanButton;\r
+ rescanButton = nullptr;\r
+ }\r
+ delete group;\r
+ group = nullptr;\r
+ }\r
+ g_pFailMessageView = nullptr;\r
+ }\r
\r
-TipsFailMessageView *TipsFailMessageView::GetInstance()\r
-{\r
- return g_pFailMessageView;\r
-}\r
+ TipsFailMessageView *TipsFailMessageView::GetInstance()\r
+ {\r
+ return g_pFailMessageView;\r
+ }\r
\r
-int TipsFailMessageView::ShowUpButtonBack()\r
-{\r
- if (backButton == nullptr) {\r
- backButton = new UILabelButton();\r
- if (backButton == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView backButton new fail");\r
- return OHOS_FAILURE;\r
+ bool TipsFailMessageView::CreateTipsFailMessageLabelView(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::CreateTipsFailMessageLabelView");\r
+ /* ------------------------------- titleLabel ------------------------------- */\r
+ if (titleLabel == nullptr)\r
+ {\r
+ titleLabel = new UILabelExt();\r
+ if (titleLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "titleLabel new fail");\r
+ return false;\r
+ }\r
}\r
- UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::PlayersPresenter::GetInstance();\r
- UIView::OnClickListener *clickListener2 = (UIView::OnClickListener *)OHOS::BluetoothPresenter::GetInstance();\r
- if ((clickListener == nullptr) && (clickListener2 == nullptr)) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener GetInstance fail");\r
- return OHOS_FAILURE;\r
+ titleLabel->SetPosition(83, 50, 300, 35);\r
+ titleLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+ titleLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ titleLabel->SetTextId(STR_BLUETOOTH_HEADPHONES); /*蓝牙耳机*/\r
+ titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+ titleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ /* ------------------------- btHeadsetNotFoundLabel ------------------------- */\r
+ if (btHeadsetNotFoundLabel == nullptr)\r
+ {\r
+ btHeadsetNotFoundLabel = new UILabelExt();\r
+ if (btHeadsetNotFoundLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "titleLabel new fail");\r
+ return false;\r
+ }\r
}\r
- backButton->SetPosition(65, 359, 324, 101); // 65:x, 359:y, 324:width 101:height\r
- backButton->SetText("重试");\r
- backButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40); // 40:font data\r
- backButton->SetImageSrc(PNG_NEW_DEVICE, PNG_NEW_DEVICE);\r
- backButton->SetViewId(BLUETOOTH_FAIL_BACK_BUTTON);\r
- if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS) {\r
- backButton->SetTextColor(Color::Red());\r
- backButton->SetOnClickListener(clickListener);\r
- } else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING) {\r
- backButton->SetTextColor(Color::Blue());\r
- backButton->SetOnClickListener(clickListener2);\r
+ btHeadsetNotFoundLabel->SetPosition(53, 305, 360, 30);\r
+ btHeadsetNotFoundLabel->SetStyle(STYLE_TEXT_FONT, 26);\r
+ btHeadsetNotFoundLabel->SetStyle(STYLE_LINE_HEIGHT, 30);\r
+ btHeadsetNotFoundLabel->SetTextId(STR_BT_HEADSET_NOFOND); /*当前搜索不到耳机蓝牙设备*/\r
+ btHeadsetNotFoundLabel->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
+ btHeadsetNotFoundLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+ btHeadsetNotFoundLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ btHeadsetNotFoundLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26);\r
+\r
+ return true;\r
+ }\r
+\r
+ bool TipsFailMessageView::CreateTipsFailMessageImageView(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::CreateTipsFailMessageImageView");\r
+ if (btIconImage == nullptr)\r
+ {\r
+ btIconImage = new UIImageView();\r
+ if (btIconImage == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail");\r
+ return false;\r
+ }\r
+ btIconImage->SetPosition(163, 126, 140, 140);\r
+ btIconImage->SetAutoEnable(false);\r
+ btIconImage->SetResizeMode(UIImageView::CENTER);\r
+ if (!PlayersView::LoadPlayerImage(btIconImage, PLAYER_BLUETOOTH_GRAY))\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "btIconImage LoadPlayerImage fail");\r
+ return false;\r
+ }\r
}\r
- group->Add(backButton);\r
+ return true;\r
}\r
- if (tipImg == nullptr) {\r
- tipImg = new UIImageView();\r
- if (tipImg == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView tipImg new fail");\r
- return OHOS_FAILURE;\r
+\r
+ bool TipsFailMessageView::CreateTipsFailMessageLabelButton()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::CreateTipsFailMessageLabelButton");\r
+ if (rescanButton == nullptr)\r
+ {\r
+ rescanButton = new UILabelButtonExt();\r
+ if (rescanButton == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView rescanButton new fail");\r
+ return false;\r
+ }\r
+ UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::PlayersPresenter::GetInstance();\r
+ UIView::OnClickListener *clickListener2 = (UIView::OnClickListener *)OHOS::BluetoothPresenter::GetInstance();\r
+ if ((clickListener == nullptr) && (clickListener2 == nullptr))\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener GetInstance fail");\r
+ return false;\r
+ }\r
+ rescanButton->SetPosition(73, 350, 320, 100);\r
+ rescanButton->SetTextId(STR_BT_HEADSET_RESCAN); /*重新搜索*/\r
+ rescanButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ rescanButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+ rescanButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ rescanButton->SetViewId(BLUETOOTH_FAIL_BACK_BUTTON);\r
+ rescanButton->SetTextColor(Color::GetColorFromRGBA(0x35, 0x49, 0xff, 0xff));\r
+ rescanButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
+ if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS)\r
+ {\r
+ rescanButton->SetOnClickListener(clickListener);\r
+ }\r
+ else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING)\r
+ {\r
+ rescanButton->SetOnClickListener(clickListener2);\r
+ }\r
}\r
- tipImg->SetPosition(181, 111, 90, 90); // 181:x 111:y 90:width 90:height\r
- tipImg->SetSrc(PNG_GANTAN);\r
- group->Add(tipImg);\r
+ return true;\r
}\r
- return OHOS_SUCCESS;\r
-}\r
\r
-UIViewGroup *TipsFailMessageView::ShowUpViewInit(void)\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::ShowUpViewInit");\r
- if (group == nullptr) {\r
- group = new UIViewGroup();\r
- if (group == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail");\r
+ UIViewGroup *TipsFailMessageView::CreateTipsFailMessageView(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::CreateTipsFailMessageView");\r
+ if (group == nullptr)\r
+ {\r
+ group = new UIViewGroup();\r
+ if (group == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail");\r
+ return nullptr;\r
+ }\r
+ group->SetPosition(0, 0, 466, 466);\r
+ }\r
+ UIView::OnDragListener *tipsDragListener = (UIView::OnDragListener *)OHOS::PlayerOnDragListener::GetInstance();\r
+ UIView::OnDragListener *tipsDragListener2 = (UIView::OnDragListener *)OHOS::BluetoothPresenter::GetInstance();\r
+ if ((tipsDragListener == nullptr) && (tipsDragListener2 == nullptr))\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "tipsDragListener GetInstance fail");\r
return nullptr;\r
}\r
- group->SetPosition(0, 0);\r
- group->SetWidth(HORIZONTAL_RESOLUTION);\r
- group->SetHeight(VERTICAL_RESOLUTION);\r
- }\r
- if (titleLabel == nullptr) {\r
- titleLabel = new UILabel();\r
- if (titleLabel == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView titleLabel new fail");\r
+ if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS)\r
+ {\r
+ group->SetOnDragListener(tipsDragListener);\r
+ }\r
+ else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING)\r
+ {\r
+ group->SetOnDragListener(tipsDragListener2);\r
+ }\r
+ group->SetViewId(TIPS_FAIL_MESSAGE_VIEW);\r
+ group->SetDraggable(true);\r
+ group->SetTouchable(true);\r
+ /* -------------------------------------------------------------------------- */\r
+ if (!CreateTipsFailMessageLabelView() || !CreateTipsFailMessageImageView() || !CreateTipsFailMessageLabelButton())\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TipsFailMessageView::CreateTipsFailMessageView fail!!");\r
return nullptr;\r
}\r
- titleLabel->SetPosition(0, 234, HORIZONTAL_RESOLUTION, 45); // 0:x 234:y 454:width 45:height\r
- titleLabel->SetText("未发现蓝牙耳机");\r
- titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40); // 40:font data\r
- titleLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE);\r
- titleLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER,\r
- UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER);\r
+ /* ----------------------------------- Add ---------------------------------- */\r
group->Add(titleLabel);\r
+ group->Add(btIconImage);\r
+ group->Add(btHeadsetNotFoundLabel);\r
+ group->Add(rescanButton);\r
+ /* -------------------------------------------------------------------------- */\r
+ return group;\r
}\r
- ShowUpButtonBack();\r
- UIView::OnDragListener *tipsDragListener = (UIView::OnDragListener *)OHOS::PlayerOnDragListener::GetInstance();\r
- UIView::OnDragListener *tipsDragListener2 = (UIView::OnDragListener *)OHOS::BluetoothPresenter::GetInstance();\r
- if ((tipsDragListener == nullptr) && (tipsDragListener2 == nullptr)) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "tipsDragListener GetInstance fail");\r
- return nullptr;\r
- }\r
- if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS) {\r
- group->SetOnDragListener(tipsDragListener);\r
- } else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING) {\r
- group->SetOnDragListener(tipsDragListener2);\r
- }\r
- group->SetViewId(TIPS_FAIL_MESSAGE_VIEW);\r
- group->SetDraggable(true);\r
- group->SetTouchable(true);\r
- return group;\r
-}\r
}
\ No newline at end of file
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
}
uint16 keyID = event.GetKeyId();
uint16 keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
uint16 keyID = event.GetKeyId();\r
uint16 keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back();\r
}\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-03-14 15:02:03
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-27 09:37:31
+ * @LastEditTime: 2024-08-14 10:07:26
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/compass/src/MainCompassPresenter.cpp
*/
void MainCompassPresenter::OnStart()
{
Presenter<CompassView>::OnStart();
- ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON);
+ // ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON);
}
void MainCompassPresenter::OnPause(void) {}
void MainCompassPresenter::OnStop(void)
{
- ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);
+ // ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);
}
MainCompassPresenter *MainCompassPresenter::GetInstance()
uint16_t keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
}
uint16_t keyID = event.GetKeyId();\r
uint16_t keyState = event.GetState();\r
// 如果是power键就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
}\r
unsigned short keyID = event.GetKeyId();\r
unsigned short keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back();\r
}\r
uint16_t keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
}
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
// 发送指令停止震动
if (FindPhoneModel::GetInstance().GetBlueToothConnectedState())
uint16_t keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
uint16 keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NavigateBack();
}
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
// NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_ZOOM);
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_ZOOM);
}
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
// NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_ZOOM);
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
uint16_t keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
}
uint16_t keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
uint16_t keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
}
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
set_address_number(NULL);
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyID = event.GetKeyId();\r
unsigned short keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back();\r
}\r
unsigned short keyID = event.GetKeyId();\r
unsigned short keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back();\r
}\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-08-05 15:20:03\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-08-13 16:11:48\r
+ * @LastEditTime: 2024-08-14 11:26:39\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h\r
*/\r
\r
\r
void UpdatePlayerView(bool musicSourceType, bool phoneMusicConnectStatus);\r
void UpdateMusicListStatus(void);\r
+ void OnClickBackKeyToMainMusicPlayerView(void);\r
\r
VolumeSettingView *GetVolumeSettingView();\r
PlayerListDelSongView *GetPlayerListDelSongView();\r
bool ChangeToMusicDeleteView(int16_t thisView);\r
bool ChangeToMusicBluetoothDisConnectView(int16_t thisView);\r
bool ChangeToMusicBluetoothConnectFailedView(int16_t thisView);\r
+ bool ChangeToMusicConnectingView(int16_t thisView);\r
\r
private:\r
UIButton *PlayerViewButtonInit(ButtonConfig &buttonconfig);\r
return false;\r
}\r
// init view\r
- UIViewGroup *group = bluetoothOptionsView->InitShowUpView();\r
+ UIViewGroup *group = bluetoothOptionsView->CreateBluetoothOptionsView();\r
if (group == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail");\r
return false;\r
return false;\r
}\r
// init view\r
- UIViewGroup *group = tipsFailMessageView->ShowUpViewInit();\r
+ UIViewGroup *group = tipsFailMessageView->CreateTipsFailMessageView();\r
if (group == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail");\r
return false;\r
}\r
}\r
\r
+ /*点击返回键回到音乐主视图*/\r
+ void PlayersView::OnClickBackKeyToMainMusicPlayerView(void)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::OnClickBackKeyToMainMusicPlayerView");\r
+ int index = 0;\r
+ for (int i = MAIN_MUSICPLAYER_VIEW; i < MUSICPLAYERJUMPVIEWID_MAX; i++)\r
+ {\r
+ if (group[i] != nullptr)\r
+ {\r
+ if (group[index]->IsVisible() == true)\r
+ {\r
+ index = i;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group[%d] IsVisible ", index);\r
+ break;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ continue;\r
+ }\r
+ }\r
+ if (index == MAIN_MUSICPLAYER_VIEW) /*如果是音乐主视图是可见的不做ChangeView*/\r
+ {\r
+ return;\r
+ }\r
+ ChangeView(index, MAIN_MUSICPLAYER_VIEW);\r
+ }\r
+\r
/*刷新播放器界面的组件状态*/\r
void PlayersView::UpdatePlayerView(bool musicSourceType, bool phoneMusicConnectStatus)\r
{\r
}\r
return true;\r
}\r
+\r
+ /*切换到蓝牙未连接视图*/\r
+ bool PlayersView::ChangeToMusicConnectingView(int16_t thisView)\r
+ {\r
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::ChangeToMusicBluetoothConnectFailedView");\r
+ // if (group[thisView] == nullptr)\r
+ // {\r
+ // musicPlayerBTConnectFailedView = new MusicPlayerBTConnectFailedView();\r
+ // if (musicPlayerBTConnectFailedView == nullptr)\r
+ // {\r
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new playerListDelSongView fail");\r
+ // return false;\r
+ // }\r
+ // UIViewGroup *groupview = musicPlayerBTConnectFailedView->CreateMusicPlayerBTConnectFailedView();\r
+ // if (groupview == nullptr)\r
+ // {\r
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new group[%d] fail", thisView);\r
+ // return false;\r
+ // }\r
+ // group[thisView] = groupview;\r
+ // Add(group[thisView]);\r
+ // }\r
+ return true;\r
+ }\r
}\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-07-18 14:55:27
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-03 20:21:43
+ * @LastEditTime: 2024-08-15 16:22:03
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp
*/
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "power_display_svr_get_api returned nullptr");
return;
}
+ /* -------------------------------------------------------------------------- */
display_api->turn_on_screen();
+ /* -------------------------------------------------------------------------- */
+ if(display_api->get_screen_state() == SCREEN_ON)
+ {
+ uint16_t curSliceId = NativeAbility::GetInstance().GetCurSliceId();
+ if (curSliceId == VIEW_AI_VOICE) // 如果当前已在ai语音界面不做切换
+ {
+ AiVoiceModel::GetInstance().FunctionKeyOnClickToChangeAIModel();
+ }
+ else
+ {
+ NativeAbility::GetInstance().EnterSlice(VIEW_AI_VOICE); // 切换到Ai语音界面
+ }
+ }
+
return;
}
RegisterPowerKeyLongPressEvent();
RegisterFuncKeyPressEvent();
// RegisterFuncKeyLongPressEvent();
- RegisterFuncKeyClickEvent();
+ // RegisterFuncKeyClickEvent();
// RegisterFuncKeyDoubleClickEvent();
}
}
uint16_t keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
if (!isShutDownImageAnimatorStart)
{
uint16 keyID = event.GetKeyId();
uint16 keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
// uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
// NativeAbility::GetInstance().ChangeSlice(preSlice);
uint16 keyID = event.GetKeyId();\r
uint16_t keyState = event.GetState();\r
// 如果是power键就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
}\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-11 16:26:20
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-13 15:10:37
+ * @LastEditTime: 2024-08-14 10:21:32
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingModel.cpp
*/
#include "respiratorytraining/include/RespiratoryTrainingModel.h"
#include <iostream>
#include "respiratorytraining/include/RespiratoryTrainingView.h"
#include "heartrate/include/HeartModel.h"
+#include <custom_utils.h>
namespace OHOS
{
// 声明定时器变量
p_RespiratoryTrainingView->GetRespiratoryTrainingAnimator_()->Stop(); // 关闭呼吸动画
HeartModel::GetInstance()->Heart_Control(HeartState::End,HeartCheck::INITIATIVE); // 关闭心率检测
p_RespiratoryTrainingView->ChangeView(RESPIRATORYTRAINING, RESPIRATORYTRAININGCOMPLETED);
+ ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);/*取消常亮屏*/
}
else
{
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-05-07 11:26:06
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-13 15:17:08
+ * @LastEditTime: 2024-08-14 10:24:30
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/RespiratoryTraining/src/RespiratoryTrainingPresenter.cpp
*/
uint16_t keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
}
unsigned short keyID = event.GetKeyId();\r
unsigned short keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back();\r
}\r
uint16 keyID = event.GetKeyId();\r
uint16 keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
}\r
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
// 回退
NativeAbility::GetInstance().Back();
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
// 回退
NativeAbility::GetInstance().Back();
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-12 11:44:04
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-22 11:08:39
+ * @LastEditTime: 2024-08-15 14:28:46
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingPresenter.cpp
*/
/*
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnKeyAct");
uint16 keyID = event.GetKeyId();
uint16 keyState = event.GetState();
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
}
uint16 keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
uint16 keyID = event.GetKeyId();\r
uint16 keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back();\r
}\r
uint16 keyID = event.GetKeyId();\r
uint16 keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
}\r
uint16 keyID = event.GetKeyId();\r
uint16 keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back();\r
}\r
uint16_t keyID = event.GetKeyId();\r
uint16_t keyState = event.GetState();\r
// 如果是power键就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
}\r
uint16 keyID = event.GetKeyId();\r
uint16 keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back();\r
}\r
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
/*如果是拍照界面需要发送拍照结束的消息*/
uint16 keyID = event.GetKeyId();
uint16 keyState = event.GetState();
// 如果是power键就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
}
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NavigateBack();
}
unsigned short keyID = event.GetKeyId();\r
unsigned short keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NavigateBack();\r
}\r
unsigned short keyID = event.GetKeyId();\r
unsigned short keyState = event.GetState();\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NavigateBack();\r
}\r
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyState = event.GetState();\r
\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back();\r
}\r
unsigned short keyState = event.GetState();\r
\r
// 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NavigateBack();\r
}\r
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
unsigned short keyID = event.GetKeyId();
unsigned short keyState = event.GetState();
// 如果是power键,且是亮屏状态,按键释放就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NavigateBack();
}
uint16 keyID = event.GetKeyId();
uint16_t keyState = event.GetState();
// 如果是power键就返回上一级
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
{
NativeAbility::GetInstance().Back();
}
uint16 keyID = event.GetKeyId();\r
uint16_t keyState = event.GetState();\r
// 如果是power键就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
{\r
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
}\r
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "cywee_Inactivity_Info->output_number = %d", cywee_Inactivity_Info->output_number);
- static int interval = 0;//久坐间隔时间
switch (cywee_Inactivity_Info->output_number)
{
case INACTIVITY_MODE_SEDENTARY_OUTPUT:
if(cywee_Inactivity_Info->status == 1)
{
- //NotificationManager::GetInstance()->ShowNotify(showSedentaryReminderNotify, (uint16_t)topic, true);
- //根据久坐间隔时间和是否在设置的提醒时间段内判断是否弹出久坐视图
- interval++;
- if( interval % SedentaryReminderViewEventListener::GetInstance().GetIntervalTime() == 0){
- SedentaryReminderViewEventListener::GetInstance().SetSedentaryReminderNoteIntervalTime(interval);
- NotificationManager::GetInstance()->ShowNotify(showSedentaryReminderNotify, (uint16_t)topic, true);
- }
+ NotificationManager::GetInstance()->ShowNotify(showSedentaryReminderNotify, (uint16_t)topic, true);
}
else if(cywee_Inactivity_Info->status==9)
{
SedentaryReminderNoteLabel->SetTextId(STR_SEDENTARY_REMINDER_NOTE);
#endif
// UpdateLabel(SedentaryReminderNoteLabel,"1",STR_SEDENTARY_REMINDER_NOTE);
+ SedentaryReminderViewEventListener::GetInstance().SetSedentaryReminderNoteIntervalTime(SedentaryReminderViewEventListener::GetInstance().GetIntervalTime());
SedentaryReminderNoteLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
SedentaryReminderNoteLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
SedentaryReminderNoteLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:4b7152b9dfd5e2ee0c45c36e98a54778910358b39617880779ceee7d60a907b2
+size 1944
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:2b7a2a2a12eb5042502cd7a345ece2fa16fb0dcd7601f7ce4eeddabd45d7c4ae
+size 20504
version https://git-lfs.github.com/spec/v1
-oid sha256:fa5149094c14526b56913b4267664319b80efaaa2c25b502efbc040bfcfe823e
+oid sha256:8f48b849f7783dd946a8752d329c9d49b37a86ae19a9d4cf763bf7d67f1c45bf
size 9624
version https://git-lfs.github.com/spec/v1
-oid sha256:2edeb79f68820099d597ccfbeabd81466a2e5dec856792fa6cdc5cc5e3130e41
+oid sha256:2e3e7508a7d93e80ea7005122524b28641c77834539d82036291463db059b79b
size 9624