#include "sleep/include/SleepModel.h"
#include "MainModel.h"
#include "../../../../../../../drivers/peripheral/utils/custom_runtime.h"
+#include "rebootandshutdown/include/RebootAndShutdownModelC.h"
#if USE_OFFLINE_DIAL
#include "DialViewGroup.h"
void MainPresenterSample::OnPause(void) {}
- void MainPresenterSample::OnResume(void) {}
+ void MainPresenterSample::OnResume(void)
+ {
+ #if IS_SUPPORT_BIND_VOTE
+ if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true)
+ {
+ uapi_remove_bind_vote();//页面已经展示后的调用逻辑。取消绑定投票
+ ConfigModel::GetInstance()->SetisFirstTimeStart(false);
+ }
+ #endif
+ }
void MainPresenterSample::OnStop(void)
{
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-07-18 14:55:27
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-24 20:54:15
+ * @LastEditTime: 2024-11-30 11:22:54
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp
*/
#include "rebootandshutdown/include/RebootAndShutdownModel.h"
+#include "rebootandshutdown/include/RebootAndShutdownModelC.h"
#include "rebootandshutdown/include/ShutDownImageAnimatorView.h"
#include "wearable_log.h"
#include "ConfigModel.h"
#define DEBUGOUTPUT 1
extern "C" uint8_t uapi_dev_runtime_get_lock_status(void);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "pm.h"
+#include "pm_veto.h"
+
+void uapi_add_bind_vote(void)
+{
+ uint8_t res = pm_veto_get_id_cnt(PM_ID_HEART);
+ if (res == 0) {
+ uapi_pm_add_sleep_veto(PM_ID_HEART);
+ } else {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,
+ "uapi_add_bind_vote error");
+ }
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,
+ "投票成功,res:%d",res);
+}
+void uapi_remove_bind_vote(void)
+{
+ uint8_t res = pm_veto_get_id_cnt(PM_ID_HEART);
+ if (res == 1) {
+ uapi_pm_remove_sleep_veto(PM_ID_HEART);
+ } else {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,
+ "uapi_remove_bind_vote error");
+ }
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,
+ "移除投票成功 success,res:%d",res);
+}
+#ifdef __cplusplus
+}
+#endif
namespace OHOS
{
static uint16_t intercept_slice_ids[] = {
{
if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true)
{
- uapi_systemVolumeSet(VOLUME_50);//恢复出厂设置系统音量要设置50%
- uapi_callVolumeSet(VOLUME_100);//恢复出厂设置通话音量要设置100%
uapi_set_screen_on_api();
+ #if IS_SUPPORT_BIND_VOTE
+ uapi_add_bind_vote();//绑定的时候投票防止系统进入深睡,导致绑定成功后进入视频表盘死机
+ // ConfigModel::GetInstance()->SetisFirstTimeStart(false);
+ #else
ConfigModel::GetInstance()->SetisFirstTimeStart(false);
+ #endif
+ uapi_systemVolumeSet(VOLUME_50);//恢复出厂设置系统音量要设置50%
+ uapi_callVolumeSet(VOLUME_100);//恢复出厂设置通话音量要设置100%
NativeAbility::GetInstance().SetDefaultSliceId(VIEW_MAIN);
NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);
}