#include "dialupdate/include/DialUpdateView.h"
#include "config/include/ConfigModel.h"
+#include "rebootdevice/include/RebootModel.h"
#include "phone/include/PhoneView.h"
#include "phone/include/PhonePresenter.h"
// 初始化默认首页
ScreenModels::GetInstance()->PreLoadAppimages();
NativeAbility::GetInstance().SetDefaultSliceId(VIEW_MAIN);
+ //注册长按重启或关机事件
+ RebootModel::GetInstance()->RegisterLongPressEvents();
}
void NativeLauncher::InitAllNativeSlices(void)
* Create: 2022-04-28
*/
-#include "RebootModel.h"
+#include "rebootdevice/include/RebootModel.h"
+#include "wearable_log.h"
+#include "NativeAbility.h"
+#include "errcode.h"
+namespace OHOS
+{
+ RebootModel::RebootModel() {}
-namespace OHOS {
-RebootModel::RebootModel() {}
+ RebootModel::~RebootModel() {}
-RebootModel::~RebootModel() {}
+ RebootModel *RebootModel::GetInstance(void)
+ {
+ static RebootModel instance;
+ return &instance;
+ }
-RebootModel *RebootModel::GetInstance(void)
-{
- static RebootModel instance;
- return &instance;
-}
+ int16_t RebootModel::GetSelectView(void)
+ {
+ return selectView;
+ }
-int16_t RebootModel::GetSelectView(void)
-{
- return selectView;
-}
+ void RebootModel::SetSelectViewId(int16_t value)
+ {
+ selectView = value;
+ }
-void RebootModel::SetSelectViewId(int16_t value)
-{
- selectView = value;
-}
+ bool RebootModel::GetExitsView(void)
+ {
+ return exitsView;
+ }
-bool RebootModel::GetExitsView(void)
-{
- return exitsView;
-}
+ void RebootModel::SetExitsView(bool value)
+ {
+ exitsView = value;
+ }
-void RebootModel::SetExitsView(bool value)
-{
- exitsView = value;
-}
+#ifdef __cplusplus
+ extern "C"
+ {
+#endif
+
+#include "input_app.h"
+#ifdef __cplusplus
+ }
+#endif
+#include <NativeAbility.h>
+#include <AppViewIDs.h>
+#include "power_display_service.h"
+ /*
+ * @brief 长按四秒关机回调函数
+ */
+ static void OnKeyLongPress4s_Callback(void)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnKeyLongPress4s_Callback");
+ const power_display_svr_api_t *display_api = power_display_svr_get_api();
+ if (display_api->get_screen_state() != SCREEN_ON)
+ {
+ display_api->turn_on_screen();
+ }
+ //切换到关机/重启卡片
+ NativeAbility::GetInstance().ChangeSlice(VIEW_SHUTDOWN_OR_REBOOT);
+
+ return;
+ }
+
+ /*
+ * @brief 注册长按监听事件
+ * @return 注册成功返回true,反之返回false
+ */
+ bool RebootModel::RegisterLongPressEvents(void)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootModel::RegisterLongPressEvents");
+ int32_t ret = uapi_button_register_event_cb(OnKeyLongPress4s_Callback, BUTTON_PWR_LONGPRESS_4S);
+ if (ret != ERRCODE_SUCC)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Register LongPress Events err,ret = %d", ret);
+ return false;
+ }
+ return true;
+ }
}
\ No newline at end of file