#include "TjdUiAppCameraToC.h" #include "NativeAbility.h" #include "TjdUiAppCameraModel.h" #include "TjdUiAppCameraView.h" #include "TjdUiAppOtaView.h" #include "TjdUiMsgCenter.h" #include "broadcast_feature.h" #include #include #ifdef __cplusplus extern "C" { #endif #include "power_display_service.h" #include "rtc_api.h" #include "service_ancillary.h" void tjd_into_photo(void) { printf("tjd_into_photo\n"); TJD::TjdUiAppCameraModel::GetInstance().CloseAutoScreenOff(); int camera; // TjdUiMsgEventPublish(TJDUI_TOPIC_EVENT_CAMERA, &camera, sizeof(camera)) OHOS::NativeAbility::GetInstance().ChangeSlice(TJD_APP_VIEW_CAMERA);; } void tjd_into_ota_view(void) { 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(); } OHOS::NativeAbility::GetInstance().ChangeSlice(TJD_APP_VIEW_OTA, OHOS::TransitionType::TRANSITION_INVALID, TJD_UI_PRIO_0); } void tjd_show_ota_interrupt_view(void) { if (TJD::TjdUiAppOtaView::GetInstance() == nullptr) return; TJD::TjdUiAppOtaView::GetInstance()->ShowView(TJD::OTA_UPGRADE_VIEW, TJD::OTA_INTERRUPT_VIEW); } void tjd_into_msgame_view(void) { 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(); } OHOS::NativeAbility::GetInstance().ChangeSlice(TJD_APP_VIEW_MS_GAME); } void tjd_exit_app_view(void) { 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(); } uint16_t cur_slice_id = OHOS::NativeAbility::GetInstance().GetCurSliceId(); if (cur_slice_id == TJD_APP_VIEW_CAMERA) { display_api->set_screen_set_keepon_timeout(5000); } printf("tjd_exit_app_view cur_slice_id:%d\n", cur_slice_id); if (cur_slice_id == TJD_APP_VIEW_MS_GAME || cur_slice_id == TJD_APP_VIEW_CAMERA) OHOS::NativeAbility::GetInstance().ChangePreSlice(); else TJD::gatts_send_to_app(); } void tjd_into_app_view(uint16_t targetSliceId) { OHOS::NativeAbility::GetInstance().ChangeSlice(targetSliceId); } void tjd_restart_device(void) { std::thread resetThread([]() { printf("ResetSystem thread run\n"); const power_display_svr_api_t *displayApi = power_display_svr_get_api(); uint32_t ret = displayApi->turn_off_screen(); if (ret != ERRCODE_SUCC) { printf("turn_off_screen failed %x\n", ret); } osDelay(1000); OHOS::NativeAbility::GetInstance().StopAbility(); tjd_driver_rtc_save_time(); tjd_service_ancillary_device_restart(); }); resetThread.detach(); } #ifdef __cplusplus } #endif