86 lines
2.8 KiB
C++
86 lines
2.8 KiB
C++
#include "TjdUiAppCameraToC.h"
|
|
#include "NativeAbility.h"
|
|
#include "TjdUiAppCameraModel.h"
|
|
#include "TjdUiAppCameraView.h"
|
|
#include "TjdUiAppOtaView.h"
|
|
#include "TjdUiMsgCenter.h"
|
|
#include "broadcast_feature.h"
|
|
#include <stdio.h>
|
|
#include <thread>
|
|
#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 |