427 lines
20 KiB
C++
427 lines
20 KiB
C++
/*----------------------------------------------------------------------------
|
||
* Copyright (c) TJD Technologies Co., Ltd. 2024. All rights reserved.
|
||
*
|
||
* Description: TjdUiAppPlayDialPresenter.cpp
|
||
*
|
||
* Author: liuguanwu
|
||
*
|
||
* Create: 2024-10
|
||
*--------------------------------------------------------------------------*/
|
||
#include "NativeAbility.h"
|
||
#include "ble_api.h"
|
||
#include "dock/input_device.h"
|
||
#include "graphic_service.h"
|
||
#include "sys_config.h"
|
||
|
||
|
||
#include "TjdUiAppPlayDialAiView.h"
|
||
#include "TjdUiAppPlayDialDrawView.h"
|
||
#include "TjdUiAppPlayDialModel.h"
|
||
#include "TjdUiAppPlayDialPresenter.h"
|
||
#include "TjdUiAppPlayDialView.h"
|
||
#include "TjdUiOnKeyListener.h"
|
||
#include "common/key_code.h"
|
||
#include "TjdUiRegisterManager.h"
|
||
|
||
|
||
namespace TJD {
|
||
|
||
TJD_REGIST_NATIVE_MENU(TJD_APP_VIEW_PLAY_DIAL, TjdUiAppPlayDialView, TjdUiAppPlayDialPresenter, IMG_MENU_LIST_MENU_WATCHFACE, STR_ID_34);
|
||
|
||
// clang-format off
|
||
#define DRAG_EXIT_DISTANCE 170
|
||
// clang-format on
|
||
|
||
#define ENABLE_PRINT_INFO 0
|
||
#if ENABLE_PRINT_INFO
|
||
#define static_print_info(...) sys_ui_log_i(__VA_ARGS__) // 一般信息打印宏控制
|
||
#define static_print_warn(...) sys_ui_log_w(__VA_ARGS__) // 警告信息打印一般常开
|
||
#define static_print_error(...) sys_ui_log_e(__VA_ARGS__) // 错误信息打印一般常开
|
||
#define static_print_debug(...) sys_ui_log_d(__VA_ARGS__) // 调试信息打印一般常开
|
||
#else
|
||
#define static_print_info(...)
|
||
#define static_print_warn(...)
|
||
#define static_print_error(...)
|
||
#define static_print_debug(...)
|
||
#endif
|
||
|
||
static TjdUiAppPlayDialPresenter *g_pv_PlayDialPresenter = nullptr;
|
||
|
||
void PlayDialInterruptListener::OnInterrupt(int32_t type, int32_t hint)
|
||
{
|
||
static_print_info("PlayDial CaptureInterruptListener OnInterrupt, type:%d, hint:%d", type, hint);
|
||
|
||
if (type == INTERRUPT_TYPE_BEGIN && hint == INTERRUPT_HINT_PAUSE) {
|
||
static_print_info("PlayDial OnInterrupt pause not supported");
|
||
}
|
||
if (type == INTERRUPT_TYPE_END && hint == INTERRUPT_HINT_RESUME) {
|
||
static_print_info("PlayDial OnInterrupt resume not supported");
|
||
}
|
||
if (type == INTERRUPT_TYPE_BEGIN && hint == INTERRUPT_HINT_STOP) {
|
||
}
|
||
if (type == INTERRUPT_TYPE_END && hint == INTERRUPT_HINT_STOP) {
|
||
static_print_info("PlayDial OnInterrupt stop not supported");
|
||
}
|
||
}
|
||
|
||
TjdUiAppPlayDialPresenter::TjdUiAppPlayDialPresenter()
|
||
{
|
||
g_pv_PlayDialPresenter = this;
|
||
TjdUiAppPlayDialModel::GetInstance().RegisterLefunAiDataCallback(TjdUiAppPlayDialModel::lefun_ai_data_callback);
|
||
TjdUiAppPlayDialModel::GetInstance().RegisterLefunAiDataEndCallback(
|
||
TjdUiAppPlayDialModel::lefun_ai_data_end_callback);
|
||
TjdUiAppPlayDialModel::GetInstance().RegisterAppImageReadyCallback(
|
||
TjdUiAppPlayDialModel::play_dial_app_ready_callback);
|
||
TjdUiAppPlayDialModel::GetInstance().RegisterOriginalImageEndCallback(
|
||
TjdUiAppPlayDialModel::play_dial_original_end_callback);
|
||
}
|
||
|
||
TjdUiAppPlayDialPresenter::~TjdUiAppPlayDialPresenter()
|
||
{
|
||
TjdUiAppPlayDialModel::GetInstance().UnregisterLefunAiDataCallback();
|
||
TjdUiAppPlayDialModel::GetInstance().UnregisterLefunAiDataEndCallback();
|
||
TjdUiAppPlayDialModel::GetInstance().UnregisterAppImageReadyCallback();
|
||
TjdUiAppPlayDialModel::GetInstance().UnregisterOriginalImageEndCallback();
|
||
g_pv_PlayDialPresenter = nullptr;
|
||
}
|
||
|
||
TjdUiAppPlayDialPresenter &TjdUiAppPlayDialPresenter::GetInstance(void) { return *g_pv_PlayDialPresenter; }
|
||
|
||
void TjdUiAppPlayDialPresenter::OnStart()
|
||
{
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
TjdUiCommonOnKeyListener::GetInstance()->SetOnKeyActListener(this, KeyModelType::APP_KEY_TYPE);
|
||
}
|
||
|
||
void TjdUiAppPlayDialPresenter::OnResume()
|
||
{
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
Presenter::OnResume();
|
||
}
|
||
|
||
void TjdUiAppPlayDialPresenter::OnPause()
|
||
{
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
Presenter::OnPause();
|
||
}
|
||
|
||
void TjdUiAppPlayDialPresenter::OnStop()
|
||
{
|
||
TjdUiCommonOnKeyListener::GetInstance()->ClearOnKeyActListener(KeyModelType::APP_KEY_TYPE);
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
}
|
||
|
||
bool TjdUiAppPlayDialPresenter::OnClick(OHOS::UIView &view, const OHOS::ClickEvent &event)
|
||
{
|
||
std::string viewId = view.GetViewId();
|
||
static_print_info("[%s][%d]: %s:%s", __FILE__, __LINE__, __func__, viewId.c_str());
|
||
if (viewId.empty()) {
|
||
return false;
|
||
}
|
||
|
||
// PLAYDIAL_HOME_VIEW
|
||
if (viewId == PLAYDIAL_HOME_VIEW_BTN_LEFT_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
TjdUiAppPlayDialView::selectType_ = DialSelectType::SELECT_TYPE_DRAW;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_DRAW_HINT);
|
||
}
|
||
if (viewId == PLAYDIAL_HOME_VIEW_BTN_RIGHT_ID) {
|
||
if (tjd_get_ble_is_connect()) {
|
||
TjdUiAppPlayDialView::selectType_ = DialSelectType::SELECT_TYPE_AI;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_STYLE);
|
||
} else {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_TIPS_NO_CONNECT);
|
||
// TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_STYLE);
|
||
}
|
||
}
|
||
if (viewId == PLAYDIAL_HOME_VIEW_BTN_RECORD_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_LOG_LIST);
|
||
}
|
||
if (viewId == PLAYDIAL_AI_STYLE_VIEW_ITEM_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
TjdUiAppPlayDialModel::GetInstance().dialStyle_ = view.GetViewIndex();
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_LISTEN;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_LISTEN);
|
||
}
|
||
// PLAYDIAL_AI_LISTEN_VIEW
|
||
if (viewId == PLAYDIAL_AI_LISTEN_VIEW_BTN_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_LOADING_TXT;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_MAKING_TXT);
|
||
}
|
||
// PLAYDIAL_AI_MAKING_VIEW
|
||
if (viewId == PLAYDIAL_AI_MAKING_VIEW_BTN_LEFT_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_LISTEN;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_LISTEN);
|
||
}
|
||
if (viewId == PLAYDIAL_AI_MAKING_VIEW_BTN_RIGHT_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
if (TjdUiAppPlayDialView::GetInstance().Result_ == AI_RESULT_SELECT_TXT) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_APP_MAKING;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_MAKING_IMG);
|
||
}
|
||
// else if(TjdUiAppPlayDialView::GetInstance().Result_ == AI_RESULT_APP_DONE) {
|
||
// TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_MAKING_IMG);
|
||
// }
|
||
}
|
||
// PLAYDIAL_AI_PREVIEW_VIEW
|
||
if (viewId == PLAYDIAL_AI_PREVIEW_VIEW_BTN_LEFT_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
if (TjdUiAppPlayDialView::GetInstance().previousViewIndex_ == PLAYDIAL_LOG_SINGLE) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_INVALID;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_LOG_SINGLE);
|
||
} else if (TjdUiAppPlayDialView::GetInstance().previousViewIndex_ == PLAYDIAL_DRAW_MAKING_IMG) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_INVALID;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_DRAW_MAIN);
|
||
} else {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_HOME);
|
||
}
|
||
}
|
||
if (viewId == PLAYDIAL_AI_PREVIEW_VIEW_BTN_RIGHT_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
if (TjdUiAppPlayDialView::GetInstance().previousViewIndex_ == PLAYDIAL_LOG_SINGLE) {
|
||
TjdUiAppPlayDialView::GetInstance().TipsIndex_ = PLAYDIAL_TIPS_SET_SUCCESS;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_TIPSV_SUCCESS);
|
||
} else if (TjdUiAppPlayDialView::GetInstance().previousViewIndex_ == PLAYDIAL_DRAW_MAKING_IMG) {
|
||
TjdUiAppPlayDialView::GetInstance().TipsIndex_ = PLAYDIAL_TIPS_SET_SUCCESS;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_TIPSV_SUCCESS);
|
||
} else {
|
||
if (TjdUiAppPlayDialView::GetInstance().Result_ == AI_RESULT_SELECT_IMG) {
|
||
TjdUiAppPlayDialView::GetInstance().TipsIndex_ = PLAYDIAL_TIPS_SET_SUCCESS;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_TIPSV_SUCCESS);
|
||
} else {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_LISTEN;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_LISTEN);
|
||
}
|
||
}
|
||
}
|
||
// PLAYDIAL_DRAW_MAIN_VIEW
|
||
if (viewId == PLAYDIAL_DRAW_MAIN_VIEW_BTN_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
#if 0
|
||
OHOS::UIImageView *logoClick = dynamic_cast<OHOS::UIImageView *>(&view);
|
||
PlayDialDrawMainView *item = dynamic_cast<PlayDialDrawMainView *>(logoClick->GetParent());
|
||
item->PersisCanvas();
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_DRAW_PREVIEW);
|
||
#else
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_DRAW_MAKING_IMG);
|
||
#endif
|
||
}
|
||
// PLAYDIAL_DRAW_PREVIEW_VIEW
|
||
if (viewId == PLAYDIAL_DRAW_PREVIEW_VIEW_BTN_LEFT_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_HOME);
|
||
}
|
||
if (viewId == PLAYDIAL_DRAW_PREVIEW_VIEW_BTN_RIGHT_ID) {
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
|
||
OHOS::UIImageView *logoClick = dynamic_cast<OHOS::UIImageView *>(&view);
|
||
PlayDialDrawPreviewView *item = dynamic_cast<PlayDialDrawPreviewView *>(logoClick->GetParent());
|
||
item->PersisImage();
|
||
|
||
TjdUiAppPlayDialView::GetInstance().TipsIndex_ = PLAYDIAL_TIPS_SET_SUCCESS;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_TIPSV_SUCCESS);
|
||
}
|
||
// PLAYDIAL_LOG_LIST
|
||
if (viewId == PLAYDIAL_LOG_LIST_VIEW_IMAGE_ID) {
|
||
PlayDialHistoryView::GetInstance()->clickCallBackImage(view.GetParent()->GetViewIndex());
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_LOG_SINGLE);
|
||
}
|
||
if (viewId == PLAYDIAL_LOG_LIST_VIEW_DELETE_ID) {
|
||
PlayDialHistoryView::GetInstance()->clickCallBackDelete(view.GetParent()->GetViewIndex());
|
||
}
|
||
// PLAYDIAL_LOG_SINGLE
|
||
if (viewId == PLAYDIAL_LOG_SINGLE_VIEW_BTN_ID) {
|
||
TjdUiAppPlayDialView::GetInstance().TipsIndex_ = PLAYDIAL_TIPS_SUCCESS;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_PREVIEW);
|
||
}
|
||
// keep adding...
|
||
|
||
return false;
|
||
}
|
||
|
||
bool TjdUiAppPlayDialPresenter::OnDragStart(OHOS::UIView &view, const OHOS::DragEvent &event)
|
||
{
|
||
std::string viewId = view.GetViewId();
|
||
static_print_info("[%s][%d]: %s-%s", __FILE__, __LINE__, __func__, viewId.c_str());
|
||
// 如果在0-80的距离内开始滑动,并且拖动的距离大于设定值,则认为是退出标志
|
||
dragStartX_ = event.GetStartPoint().x;
|
||
if (viewId.empty()) {
|
||
return false;
|
||
}
|
||
|
||
// PLAYDIAL_DRAW_MAIN_VIEW
|
||
if (viewId == PLAYDIAL_DRAW_MAIN_VIEW_CANVAS_ID) {
|
||
PlayDialDrawMainView *item = dynamic_cast<PlayDialDrawMainView *>(&view);
|
||
item->ClearPoint();
|
||
item->UpdatePoint(event.GetCurrentPos());
|
||
return true;
|
||
}
|
||
|
||
if (viewId == PLAYDIAL_LOG_LIST_VIEW_ITEM_ID) {
|
||
static_print_info("event.GetDeltaX-Y:%d-%d", event.GetDeltaX(), event.GetDeltaY());
|
||
uint8_t direction = event.GetDragDirection();
|
||
if (direction == OHOS::DragEvent::DIRECTION_LEFT_TO_RIGHT ||
|
||
direction == OHOS::DragEvent::DIRECTION_RIGHT_TO_LEFT) {
|
||
// view.SetIntercept(true);
|
||
PlayDialHistoryView::GetInstance()->styleList_->ItemViewbackButOne(view.GetViewIndex());
|
||
} else {
|
||
// TjdHistoryScrollView &castView = dynamic_cast<TjdHistoryScrollView &>(view);
|
||
// castView.SetHorizontalScrollState(false);
|
||
PlayDialHistoryView::GetInstance()->styleList_->ItemViewbackAll();
|
||
}
|
||
}
|
||
|
||
return view.IsIntercept();
|
||
}
|
||
|
||
bool TjdUiAppPlayDialPresenter::OnDrag(OHOS::UIView &view, const OHOS::DragEvent &event)
|
||
{
|
||
std::string viewId = view.GetViewId();
|
||
static_print_info("[%s][%d]: %s [%s-%d]", __FILE__, __LINE__, __func__, viewId.c_str(), view.IsIntercept());
|
||
if (viewId.empty()) {
|
||
return false;
|
||
}
|
||
|
||
// PLAYDIAL_DRAW_MAIN_VIEW
|
||
if (viewId == PLAYDIAL_DRAW_MAIN_VIEW_CANVAS_ID) {
|
||
PlayDialDrawMainView *item = dynamic_cast<PlayDialDrawMainView *>(&view);
|
||
item->UpdatePoint(event.GetCurrentPos());
|
||
return true;
|
||
}
|
||
|
||
if (viewId == PLAYDIAL_LOG_LIST_VIEW_ITEM_ID) {
|
||
return view.IsIntercept();
|
||
}
|
||
|
||
dragDistance_ = dragCurrentX_ - dragStartX_;
|
||
if (dragDistance_ >= DRAG_EXIT_DISTANCE && dragStartX_ < 80) {
|
||
isExit_ = true;
|
||
} else {
|
||
isExit_ = false;
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
bool TjdUiAppPlayDialPresenter::OnDragEnd(OHOS::UIView &view, const OHOS::DragEvent &event)
|
||
{
|
||
bool tempRet = false;
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
std::string viewId = view.GetViewId();
|
||
if (viewId.empty()) {
|
||
return false;
|
||
}
|
||
|
||
// PLAYDIAL_DRAW_MAIN_VIEW
|
||
if (viewId == PLAYDIAL_DRAW_MAIN_VIEW_CANVAS_ID) {
|
||
PlayDialDrawMainView *item = dynamic_cast<PlayDialDrawMainView *>(&view);
|
||
item->UpdatePoint(event.GetCurrentPos());
|
||
return true;
|
||
}
|
||
|
||
if (viewId == PLAYDIAL_LOG_LIST_VIEW_ITEM_ID) {
|
||
tempRet = view.IsIntercept();
|
||
// view.SetIntercept(false);
|
||
TjdHistoryScrollView &castView = dynamic_cast<TjdHistoryScrollView &>(view);
|
||
// castView.SetHorizontalScrollState(true);
|
||
castView.StartAnimatorOnDragEnd();
|
||
}
|
||
|
||
if (event.GetDragDirection() == OHOS::DragEvent::DIRECTION_LEFT_TO_RIGHT && dragStartX_ < 80) {
|
||
if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_HOME) {
|
||
OHOS::NativeAbility::GetInstance().ChangePreSlice();
|
||
// ExitCurrentView();
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_AI_STYLE) {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_HOME);
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_AI_LISTEN) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_INVALID;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_STYLE);
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_AI_MAKING_TXT) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_LISTEN;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_LISTEN);
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_AI_MAKING_IMG) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_LISTEN;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_LISTEN);
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_AI_PREVIEW) {
|
||
if (TjdUiAppPlayDialView::GetInstance().previousViewIndex_ == PLAYDIAL_LOG_SINGLE) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_INVALID;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_LOG_SINGLE);
|
||
} else if (TjdUiAppPlayDialView::GetInstance().previousViewIndex_ == PLAYDIAL_DRAW_MAKING_IMG) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_INVALID;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_DRAW_MAIN);
|
||
} else {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_HOME);
|
||
}
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_LOG_SINGLE) {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_LOG_LIST);
|
||
} else {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_HOME);
|
||
}
|
||
tempRet = true;
|
||
}
|
||
|
||
return tempRet;
|
||
}
|
||
|
||
bool TjdUiAppPlayDialPresenter::OnKeyAct(OHOS::UIView &view, const OHOS::KeyEvent &event)
|
||
{
|
||
static_print_info("[%s][%d]: %s", __FILE__, __LINE__, __func__);
|
||
if (event.GetKeyId() == (uint16_t)(OHOS::ZliteKeyCode::ZLITE_KEY_TJD_RIGHTUP) &&
|
||
event.GetState() == OHOS::InputDevice::STATE_RELEASE) {
|
||
if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_HOME) {
|
||
OHOS::NativeAbility::GetInstance().ChangePreSlice();
|
||
// ExitCurrentView();
|
||
return true;
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_AI_STYLE) {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_HOME);
|
||
return true;
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_AI_LISTEN) {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_STYLE);
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_INVALID;
|
||
return true;
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_AI_MAKING_TXT) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_LISTEN;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_LISTEN);
|
||
return true;
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_AI_MAKING_IMG) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_LISTEN;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_AI_LISTEN);
|
||
return true;
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_AI_PREVIEW) {
|
||
if (TjdUiAppPlayDialView::GetInstance().previousViewIndex_ == PLAYDIAL_LOG_SINGLE) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_INVALID;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_LOG_SINGLE);
|
||
} else if (TjdUiAppPlayDialView::GetInstance().previousViewIndex_ == PLAYDIAL_DRAW_MAKING_IMG) {
|
||
TjdUiAppPlayDialView::GetInstance().Result_ = AI_RESULT_INVALID;
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_DRAW_MAIN);
|
||
} else {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_HOME);
|
||
}
|
||
return true;
|
||
} else if (TjdUiAppPlayDialView::GetInstance().currentViewIndex_ == PLAYDIAL_LOG_SINGLE) {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_LOG_LIST);
|
||
return true;
|
||
} else {
|
||
TjdUiAppPlayDialView::GetInstance().ShowView(PlayDialViewIndex::PLAYDIAL_HOME);
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
|
||
bool TjdUiAppPlayDialPresenter::OnRotateStart(OHOS::UIView &view, const OHOS::RotateEvent &event)
|
||
{
|
||
std::string viewId = view.GetViewId();
|
||
if (viewId == PLAYDIAL_LOG_LIST_VIEW_LIST_ID) {
|
||
PlayDialHistoryView::GetInstance()->styleList_->ItemViewbackAll();
|
||
}
|
||
return view.IsIntercept();
|
||
}
|
||
|
||
void TjdUiAppPlayDialPresenter::OnClickTrans(OHOS::UIView &view) {}
|
||
|
||
} // namespace TJD
|