#include "battery_service.h"
#include "custom_runtime.h"
#include <service/graphic_service.h>
-//#include "ln_api.h"
+#include "ln_api.h"
namespace OHOS
{
static constexpr int16_t VIDEO_WIDTH = 360;
iconView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
iconView->SetResizeMode(UIImageView::COVER);
iconView->SetSrc("/user/res/1.bin");
- iconView->SetVisible(false);
+ //iconView->SetVisible(false);
ScrollView_->Add(iconView);
backGroundView = new UIImageView(); //(黑色遮罩)需要遮罩时启用,预先增加在对应图层
backGroundView->SetPosition(0, 0, 360, 360);
backGroundView->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);
backGroundView->SetStyle(STYLE_BACKGROUND_OPA, 0xD0);
- backGroundView->SetVisible(false);
+ //backGroundView->SetVisible(false);
ScrollView_->Add(backGroundView);
// 默认显示主界面
group[hideView]->SetVisible(false);
}
// 同用遮罩,部分界面在内部自行开启,其余界面关闭
- iconView->SetVisible(false);
+ if(GetIsOpenScreenImageModel() == false)
+ {
+ iconView->SetVisible(false);
+ }
backGroundView->SetVisible(false);
if(showView != THUNDERBIRD_DIALOGUEVIEW && showView != THUNDERBIRD_LULLABYVIEW)
{
ClickFunc(showView);
group[showView]->SetVisible(true);
group[showView]->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
- // 关键:把状态栏重新加到末尾,确保最上层
- if (group1)
- {
- ScrollView_->Remove(group1);
- ScrollView_->Add(group1);
- }
+
// 进入大界面后,根据 subView 跳转到其子界面
if (subView != -1)
{
return currentSubView_;
}
+ // 跳转到上一个界面
+ bool ThunderBirdMainView::GoBackToPreviousView()
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView::GoBackToPreviousView");
+
+ // 检查是否有上一个界面可以返回
+ if (prevView_ == -1 || prevView_ >= MAXVIEW)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView::GoBackToPreviousView: No previous view to return to");
+ return false;
+ }
+
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView::GoBackToPreviousView: prevView_=%d, prevSubView_=%d, currentView_=%d, currentSubView_=%d",
+ prevView_, prevSubView_, currentView_, currentSubView_);
+
+
+ // 跳转到上一个界面
+ ChangeView(currentView_, prevView_, prevSubView_);
+
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView::GoBackToPreviousView: Successfully returned to previous view");
+ return true;
+ }
+
void ThunderBirdMainView::Initback()
{
curFace = new UIImageView();
curFace->SetSrc(hairPath);
curFace->Invalidate();
}
+
+ //获取是否开启屏保模式
+ bool ThunderBirdMainView::GetIsOpenScreenImageModel(void)
+ {
+ return IsOpenScreenImageModel_;
+ }
+ //切换屏保图片的接口
+ void ThunderBirdMainView::SwitchIconImage(const char *imagePath)
+ {
+ if (iconView == nullptr || imagePath == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView::SwitchIconImage: Invalid parameters");
+ return;
+ }
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView::SwitchIconImage: Switching to image: %s", imagePath);
+ iconView->SetSrc(imagePath);
+ iconView->Invalidate();
+ }
+ //切换屏保模式接口
+ bool ThunderBirdMainView::OpenScreenImageModel(void)
+ {
+ if(GetIsOpenScreenImageModel()==true)
+ {
+ return false;
+ }
+ IsOpenScreenImageModel_ = true;
+ //暂停视频播放
+ if (videoPlay_ != nullptr) {
+ videoPlay_->PauseVideoPlay();
+ }
+ //切换屏保图片
+ SwitchIconImage(LN_DEVICE_SCREEN_IMAGE_FILE);
+ //设置iconView为可见状态
+ if (iconView != nullptr) {
+ iconView->SetVisible(true);
+ }
+ return true;
+ }
+ //关闭屏保模式接口
+ bool ThunderBirdMainView::CloseScreenImageModel(void)
+ {
+ if(GetIsOpenScreenImageModel()==false)
+ {
+ return false;
+ }
+ IsOpenScreenImageModel_ = false;
+ //恢复视频播放
+ if (videoPlay_ != nullptr) {
+ videoPlay_->ResumeVideoPlay();
+ }
+ //恢复默认屏保图片
+ SwitchIconImage("/user/res/1.bin");
+ //设置iconView可见状态恢复跟着backGroundView走
+ if (backGroundView->IsVisible() == false) {
+ iconView->SetVisible(false);
+ }
+ return true;
+ }
UIViewGroup *ThunderBirdMainView::InitBaseData()
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitBaseData");
}
}
}
+ //切换屏保图片
+ void ThunderBirdModel::HandleScreenImageDownloadSuccess()
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleScreenImageDownloadSuccess");
+ uapi_set_screen_on_api(); // 亮屏
+ //启用屏保图片
+ if (access(LN_DEVICE_SCREEN_IMAGE_FILE, F_OK) != -1)
+ {
+ ThunderBirdMainView::GetInstance()->OpenScreenImageModel();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "屏保图片存在,直接发送切换屏保通知");
+ }
+ }
+
+ void ThunderBirdModel::HandleApiError(const char* message)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleApiError");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error message: %s", message ? message : "null");
+ int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
+ ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_ADJUSTVIEW, ThunderBirdAdjustView::THUNDERBIRD_ADJUSTVIEW_WARNING);
+ if (ThunderBirdAdjustView::GetInstance()) {
+ ThunderBirdAdjustView::GetInstance()->UpdateTaskReminderText(message);
+ }
+ }
//减低视频帧率 开启对话调用开启
void ThunderBirdModel::LowFrequence()