|
|
|
@ -165,6 +165,7 @@ CPhoneDevice::CPhoneDevice(JavaVM* vm, jobject service, const std::string& appPa
|
|
|
|
|
mCamera = NULL;
|
|
|
|
|
m_listener = NULL;
|
|
|
|
|
m_pRecognizationCfg = NULL;
|
|
|
|
|
mAIInitialized = false;
|
|
|
|
|
mHeartbeatStartTime = 0;
|
|
|
|
|
mHeartbeatDuration = 0;
|
|
|
|
|
m_javaService = NULL;
|
|
|
|
@ -249,7 +250,10 @@ CPhoneDevice::~CPhoneDevice()
|
|
|
|
|
|
|
|
|
|
if (m_pRecognizationCfg != NULL)
|
|
|
|
|
{
|
|
|
|
|
ncnn_uninit();
|
|
|
|
|
if (mAIInitialized)
|
|
|
|
|
{
|
|
|
|
|
ncnn_uninit();
|
|
|
|
|
}
|
|
|
|
|
m_pRecognizationCfg = NULL;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -265,17 +269,26 @@ void CPhoneDevice::SetRecognizationCfg(const IDevice::CFG_RECOGNIZATION* pRecogn
|
|
|
|
|
{
|
|
|
|
|
// TODO
|
|
|
|
|
XYLOG(XYLOG_SEVERITY_INFO, "AI Enabled");
|
|
|
|
|
ncnn_init();
|
|
|
|
|
|
|
|
|
|
std::string paramFile = m_appPath + (APP_PATH_RECOG_PARAM);
|
|
|
|
|
std::string binFile = m_appPath + (APP_PATH_RECOG_BIN);
|
|
|
|
|
bool res = YoloV5Ncnn_Init(paramFile, binFile);
|
|
|
|
|
if (res)
|
|
|
|
|
if (existsFile(paramFile) || !existsFile(binFile))
|
|
|
|
|
{
|
|
|
|
|
XYLOG(XYLOG_SEVERITY_INFO, "Succeeded to Init NCNN");
|
|
|
|
|
XYLOG(XYLOG_SEVERITY_WARNING, "AI Config Files are invalid");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
XYLOG(XYLOG_SEVERITY_ERROR, "Failed to Init NCNN");
|
|
|
|
|
ncnn_init();
|
|
|
|
|
mAIInitialized = true;
|
|
|
|
|
bool res = YoloV5Ncnn_Init(paramFile, binFile);
|
|
|
|
|
if (res)
|
|
|
|
|
{
|
|
|
|
|
XYLOG(XYLOG_SEVERITY_INFO, "Succeeded to Init NCNN");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
XYLOG(XYLOG_SEVERITY_ERROR, "Failed to Init NCNN");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|