#include "ConfigModel.h"
#include <cmsis_os2.h>
#include <cmsis_os.h>
+#include "../../../../../../../middleware/services/gui/uikit/ui/interfaces/innerkits/dock/vibrator_manager.h"
+extern "C" void custom_VibratorFunc(OHOS::VibratorType vibratorType);
+
namespace OHOS
{
UIViewGroup *FindWatchGroupView{nullptr};
return FindWatchNotifyFlag;
}
- /*设置100%亮度且手表震动*/
- void FindWatchViewEventListener::SetVibrationAndScreenBrightness(bool state)
+ void FindWatchViewEventListener::SetVibration(void)
+ {
+ if(true == ConfigModel::GetInstance()->GetDnotdisturb())
+ {
+ return;
+ }
+
+ if(nullptr != FindWatchGroupView)
+ {
+ custom_VibratorFunc(OHOS::VibratorType::VIBRATOR_TYPE_ONE);
+ }
+ }
+
+ void FindWatchViewEventListener::SetLCDFlicker(bool state)
+ {
+ if(nullptr != FindWatchGroupView)
+ {
+ FindWatchGroupView->SetStyle(STYLE_BACKGROUND_COLOR, state ? 0xff000000 : 0xffffffff);
+ FindWatchGroupView->Invalidate();
+ }
+ }
+
+ void FindWatchViewEventListener::SetScreenBrightness(void)
{
const power_display_svr_api_t *display_api = power_display_svr_get_api();
if (display_api)
{
- if (state)
- {
- /*100%亮度*/
- int max_brightness_value = 255;
- if (display_api->set_brightness(max_brightness_value) != ERRCODE_SUCC)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FindWatchViewEventListener] set_brightness fail!!");
- return;
- }
- }
- else
+ /*100%亮度*/
+ int max_brightness_value = 255;
+ if (display_api->set_brightness(max_brightness_value) != ERRCODE_SUCC)
{
- /*20%亮度*/
- int min_brightness_value = 51;
- if (display_api->set_brightness(min_brightness_value) != ERRCODE_SUCC)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FindWatchViewEventListener] set_brightness fail!!");
- return;
- }
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FindWatchViewEventListener] set_brightness fail!!");
+ return;
}
}
}
/*恢复屏幕亮度*/
void FindWatchViewEventListener::ResumeScreenBrightness(void)
{
- brightnessValue = ConfigModel::GetInstance()->GetBrightness();
const power_display_svr_api_t *display_api = power_display_svr_get_api();
- if (display_api->set_brightness(brightnessValue) != ERRCODE_SUCC)
+ if (display_api)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FindWatchViewEventListener] set_brightness fail!");
- return;
+ int brightnessValue = ConfigModel::GetInstance()->GetBrightness();
+ if (display_api->set_brightness(brightnessValue) != ERRCODE_SUCC)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FindWatchViewEventListener] resume_brightness fail!");
+ return;
+ }
}
}
{
int32_t timeout = -1;
SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t)); // 亮屏操作
+
+ if(true == ConfigModel::GetInstance()->GetDnotdisturb())
+ {
+ return;
+ }
+
// 将"开启查找手表铃声"任务发布到异步线程
GraphicService::GetInstance()->PostGraphicEvent(
std::bind(&FindWatchViewEventListener::FindWatchRingPlayStart, &FindWatchViewEventListener::GetInstance(), path));
static void FindWatch_TimerCallbackProc(int data)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "FindWatch_TimerCallbackProc");
- if (findwatch_time)
- {
- findwatch_time = true;
- }
- else
- {
- findwatch_time = false;
- }
- FindWatchViewEventListener::GetInstance().SetVibrationAndScreenBrightness(findwatch_time ? true : false);
+ findwatch_time = !findwatch_time;
+ FindWatchViewEventListener::GetInstance().SetVibration();
+ FindWatchViewEventListener::GetInstance().SetLCDFlicker(findwatch_time);
}
/*
g_timer = NULL;
return;
}
+
return;
}
FindWatchGroupView->Add(FindWatchButton);
}
+ FindWatchViewEventListener::GetInstance().FindWatch_StartTimer(700);
+ FindWatchViewEventListener::GetInstance().SetScreenBrightness();
+
NotificationManager::GetInstance()->RegisterNotifyCleanupFunction(FreeFindWatchView);
return FindWatchGroupView;
}
delete FindWatchGroupView;
FindWatchGroupView = nullptr;
}
+
+ FindWatchViewEventListener::GetInstance().ResumeScreenBrightness();
}
/* ----------------------- FindWatchRingPlayerListener ---------------------- */