737 lines
25 KiB
C++
737 lines
25 KiB
C++
/**
|
|
@file JSConchConfig.cpp
|
|
@brief
|
|
@author hugao
|
|
@version 1.0
|
|
@date 2016_5_18
|
|
*/
|
|
|
|
//包含头文件
|
|
#include "JSConchConfig.h"
|
|
#include "JSInput.h"
|
|
#include "resource/JCFileResManager.h"
|
|
#include "../../JCScriptRuntime.h"
|
|
#include "../../../Conch/source/conch/JCConch.h"
|
|
#ifdef ANDROID
|
|
#include "../../CToJavaBridge.h"
|
|
#elif WIN32
|
|
#include <Windows.h>
|
|
#elif __APPLE__
|
|
#include "../../CToObjectC.h"
|
|
#elif OHOS
|
|
#include "aki/jsbind.h"
|
|
#include <string>
|
|
#include "helper/NapiHelper.h"
|
|
#endif
|
|
#include "downloadMgr/JCDownloadMgr.h"
|
|
#include "util/Log.h"
|
|
#include "../../JCSystemConfig.h"
|
|
#include "../../JCConchRender.h"
|
|
#include "../../JCConch.h"
|
|
#include "../../WebSocket/WebSocket.h"
|
|
#include <resource/Audio/JCAudioWavPlayer.h>
|
|
#include "../../Audio/JCAudioManager.h"
|
|
#include <LayaGL/JCLayaGL.h>
|
|
#include <LayaGL/JCLayaGLDispatch.h>
|
|
extern int g_nDebugLevel;
|
|
extern int g_nInnerWidth;
|
|
extern int g_nInnerHeight;
|
|
extern bool g_bGLCanvasSizeChanged;
|
|
|
|
#ifdef WIN32
|
|
extern HWND g_hWnd;
|
|
#endif
|
|
extern int s_nGLCaps;
|
|
namespace laya
|
|
{
|
|
|
|
ADDJSCLSINFO(JSConchConfig, JSObjNode);
|
|
JSConchConfig* JSConchConfig::ms_pInstance = NULL;
|
|
|
|
JSConchConfig* JSConchConfig::getInstance()
|
|
{
|
|
if (ms_pInstance == NULL)
|
|
{
|
|
ms_pInstance = new JSConchConfig();
|
|
}
|
|
return ms_pInstance;
|
|
}
|
|
JSConchConfig::JSConchConfig()
|
|
{
|
|
m_fScreenScaleW = m_fScreenScaleH = 1;
|
|
m_fScreenTx = m_fScreenTy = 0;
|
|
m_sGUID = "unknow";
|
|
m_sDeviceModel = "unknow";
|
|
m_sDeviceInfo = "{\"resolution\":\"unknow\", \"guid\":\"unknow\",\"imei\":[\"unknow\"],\"imsi\":[\"unknow\"],\"os\":\"unknow\",\"osversion\":\"unknow\",\"phonemodel\":\"unknow\" }";
|
|
//AdjustAmountOfExternalAllocatedMemory( 128 ); 可能还没有js环境
|
|
JCMemorySurvey::GetInstance()->newClass("conchConfig", 128, this);
|
|
}
|
|
|
|
JSConchConfig::~JSConchConfig()
|
|
{
|
|
ms_pInstance = NULL;
|
|
JCMemorySurvey::GetInstance()->releaseClass("conchConfig", this);
|
|
}
|
|
|
|
const char* JSConchConfig::getLocalStoragePath()
|
|
{
|
|
if (JCConch::s_pConch)
|
|
return JCConch::s_pConch->getLocalStoragePath();
|
|
return "";
|
|
}
|
|
float JSConchConfig::getTotalMem()
|
|
{
|
|
#ifdef ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
if (CToJavaBridge::GetInstance()->callMethod("layaair.game.utility.ProcessInfo", "getTotalMem", kRet, CToJavaBridge::JavaRet::RT_Float))
|
|
{
|
|
return kRet.floatRet;
|
|
}
|
|
return 0;
|
|
#elif WIN32
|
|
MEMORYSTATUSEX statex;
|
|
statex.dwLength = sizeof(statex);
|
|
GlobalMemoryStatusEx(&statex);
|
|
return (float)(statex.ullTotalPhys / 1024);
|
|
#elif __APPLE__
|
|
return CToObjectCGetTotalMem();
|
|
#endif
|
|
return 0;
|
|
}
|
|
int JSConchConfig::getUsedMem()
|
|
{
|
|
#ifdef ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
if (CToJavaBridge::GetInstance()->callMethod("layaair.game.utility.ProcessInfo", "getUsedMem", kRet, CToJavaBridge::JavaRet::RT_Float))
|
|
{
|
|
return (int)(kRet.floatRet);
|
|
}
|
|
return 0;
|
|
#elif __APPLE__
|
|
return CToObjectCGetUsedMem();
|
|
#elif WIN32
|
|
return getAppUsedMem();
|
|
#elif OHOS
|
|
return NapiHelper::GetInstance()->getUsedMem();
|
|
#endif
|
|
return 0;
|
|
}
|
|
int JSConchConfig::getAvalidMem()
|
|
{
|
|
#ifdef ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
if (CToJavaBridge::GetInstance()->callMethod("layaair.game.utility.ProcessInfo", "getAvalidMem", kRet, CToJavaBridge::JavaRet::RT_Float))
|
|
{
|
|
return (int)(kRet.floatRet);
|
|
}
|
|
return 0;
|
|
#elif OHOS
|
|
return NapiHelper::GetInstance()->getAvalidMem();
|
|
#elif WIN32
|
|
MEMORYSTATUSEX statex;
|
|
statex.dwLength = sizeof(statex);
|
|
GlobalMemoryStatusEx(&statex);
|
|
return (int)(statex.ullAvailPhys / 1024);
|
|
#elif __APPLE__
|
|
return CToObjectCGetAvalidMem();
|
|
#endif
|
|
return 0;
|
|
}
|
|
float JSConchConfig::getScreenInch()
|
|
{
|
|
#ifdef ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
if (CToJavaBridge::GetInstance()->callMethod("layaair.game.utility.ProcessInfo", "getScreenInch", kRet, CToJavaBridge::JavaRet::RT_Float))
|
|
{
|
|
return kRet.floatRet;
|
|
}
|
|
return 0;
|
|
#elif OHOS
|
|
return NapiHelper::GetInstance()->getScreenInch();
|
|
#elif WIN32
|
|
return 0;
|
|
#elif __APPLE__
|
|
return CToObjectCGetScreenInch();
|
|
#endif
|
|
return 0;
|
|
}
|
|
void JSConchConfig::setTouchMoveRange(float p_fMM)
|
|
{
|
|
#ifdef ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
CToJavaBridge::GetInstance()->callMethod(CToJavaBridge::JavaClass.c_str(), "setTouchMoveRange", p_fMM,kRet);
|
|
#elif WIN32
|
|
|
|
#endif
|
|
}
|
|
|
|
void JSConchConfig::setScreenOrientation(int p_nOrientation)
|
|
{
|
|
enum ori {
|
|
landscape = 0,
|
|
portrait = 1,
|
|
user = 2,
|
|
behind = 3,
|
|
sensor = 4,
|
|
nosensor = 5,
|
|
sensor_landscape = 6,
|
|
sensor_portrait = 7,
|
|
reverse_landscape = 8,
|
|
reverse_portrait = 9,
|
|
full_sensor = 10,
|
|
num
|
|
};
|
|
bool vbLandscapes[] = { true,false,false,false,false,false,true,false,true,false,false };
|
|
if (p_nOrientation >= num) {
|
|
return;
|
|
}
|
|
int w = g_nInnerWidth > g_nInnerHeight ? g_nInnerWidth : g_nInnerHeight;
|
|
int h = g_nInnerWidth > g_nInnerHeight ? g_nInnerHeight : g_nInnerWidth;
|
|
if (vbLandscapes[p_nOrientation]) {
|
|
g_nInnerWidth = w;
|
|
g_nInnerHeight = h;
|
|
}
|
|
else {
|
|
g_nInnerWidth = h;
|
|
g_nInnerHeight = w;
|
|
}
|
|
g_bGLCanvasSizeChanged = true;
|
|
#ifdef ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
CToJavaBridge::GetInstance()->callMethod(CToJavaBridge::JavaClass.c_str(), "setScreenOrientation", p_nOrientation, kRet);
|
|
#elif WIN32
|
|
MoveWindow(g_hWnd, 0, 0, g_nInnerWidth, g_nInnerHeight, true);
|
|
#elif __APPLE__
|
|
CToObjectCSetScreenOrientation(p_nOrientation);
|
|
#elif OHOS
|
|
int orientation = 0;
|
|
if(p_nOrientation == landscape) {
|
|
orientation = 2;
|
|
} else if(p_nOrientation == portrait) {
|
|
orientation = 1;
|
|
} else if(p_nOrientation == user) {
|
|
orientation = 0;
|
|
} else if(p_nOrientation == behind) {
|
|
orientation = 5;
|
|
} else if(p_nOrientation == nosensor) {
|
|
orientation = 11;
|
|
} else if(p_nOrientation == sensor_landscape) {
|
|
orientation = 7;
|
|
} else if(p_nOrientation == sensor_portrait) {
|
|
orientation = 6;
|
|
} else if(p_nOrientation == reverse_landscape) {
|
|
orientation = 4;
|
|
} else if(p_nOrientation == reverse_portrait) {
|
|
orientation = 3;
|
|
} else if(p_nOrientation == sensor || p_nOrientation == full_sensor) {
|
|
orientation = 3;
|
|
}
|
|
NapiHelper::GetInstance()->setPreferredOrientation(orientation);
|
|
#endif
|
|
|
|
}
|
|
|
|
void JSConchConfig::setUrlIgnoreCase(bool b) {
|
|
JCScriptRuntime::s_JSRT->m_pFileResMgr->m_bUrlToLowerCase = b;
|
|
}
|
|
|
|
bool JSConchConfig::getUrlIgnoreCase() {
|
|
return JCScriptRuntime::s_JSRT->m_pFileResMgr->m_bUrlToLowerCase;
|
|
}
|
|
|
|
int JSConchConfig::getNetworkType()
|
|
{
|
|
#ifdef ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
if (CToJavaBridge::GetInstance()->callMethod(CToJavaBridge::JavaClass.c_str(), "getContextedType", kRet, CToJavaBridge::JavaRet::RT_Int))
|
|
{
|
|
return kRet.intRet;
|
|
}
|
|
return 1;
|
|
#elif WIN32
|
|
return 1;
|
|
#elif __APPLE__
|
|
return CToObjectCGetNetworkType();
|
|
#elif OHOS
|
|
return NapiHelper::GetInstance()->getNetworkType();
|
|
#endif
|
|
return 0;
|
|
}
|
|
|
|
void JSConchConfig::setDownloadTryNum(int p_nOptTry, int p_nConnTry) {
|
|
JCDownloadMgr* pDmgr = JCDownloadMgr::getInstance();
|
|
if (pDmgr) {
|
|
pDmgr->setOpt_tryNumOnTimeout(p_nOptTry, p_nConnTry);
|
|
}
|
|
}
|
|
|
|
void JSConchConfig::setDownloadPathReplace(const char* p_pszPath, const char* p_pszReplace) {
|
|
JCDownloadMgr* pDmgr = JCDownloadMgr::getInstance();
|
|
if (pDmgr) {
|
|
pDmgr->setFinalReplacePath(p_pszPath, p_pszReplace);
|
|
}
|
|
}
|
|
|
|
void JSConchConfig::setDownloadTail(int type, const char* p_strTail) {
|
|
JCDownloadMgr* pDmgr = JCDownloadMgr::getInstance();
|
|
if (pDmgr) {
|
|
pDmgr->setDownloadTail(type, p_strTail);
|
|
}
|
|
}
|
|
|
|
void JSConchConfig::setDownloadReplaceExt(const char* p_pszOrigin, const char* p_pszNew) {
|
|
|
|
}
|
|
|
|
void JSConchConfig::setDownloadIgnoreCRLR(bool b) {
|
|
|
|
}
|
|
|
|
void JSConchConfig::resetDownloadIgnoreCRLR() {
|
|
|
|
}
|
|
|
|
void JSConchConfig::addChkIgnoreChksumExt(const char* p_pszExt) {
|
|
|
|
}
|
|
|
|
void JSConchConfig::clearChkIgnoreChksumExt() {
|
|
|
|
}
|
|
|
|
void JSConchConfig::setDownloadUnmask(const char* p_pszExt, unsigned int p_nKey, int p_nLen) {
|
|
JCDownloadMgr* pdmgr = JCDownloadMgr::getInstance();
|
|
if (pdmgr) {
|
|
pdmgr->setDownloadUnmask(p_pszExt, p_nKey, p_nLen);
|
|
}
|
|
}
|
|
|
|
void JSConchConfig::resetDownloadUnmask() {
|
|
JCDownloadMgr* pdmgr = JCDownloadMgr::getInstance();
|
|
if (pdmgr) {
|
|
pdmgr->resetDownloadUnmask();
|
|
}
|
|
}
|
|
|
|
void JSConchConfig::setDownloadNoResponseTimeout(int p_nDuration) {
|
|
JCDownloadMgr::s_nNoResponseTimeout = p_nDuration;
|
|
}
|
|
|
|
void JSConchConfig::resetDownloadNoResponseTimeout() {
|
|
JCDownloadMgr::s_nNoResponseTimeout = 15000;
|
|
}
|
|
|
|
void JSConchConfig::setDownloadVersionString(const char* p_pszVersion) {
|
|
if (p_pszVersion && strlen(p_pszVersion) > 0) {
|
|
JCFileRes::s_strExtVersion = p_pszVersion;
|
|
JCFileRes::s_strExtVersion += "=";
|
|
}
|
|
else
|
|
JCFileRes::s_strExtVersion = "";
|
|
}
|
|
|
|
const char* JSConchConfig::getOS()
|
|
{
|
|
#ifdef __APPLE__
|
|
return "Conch-ios";
|
|
#elif ANDROID
|
|
return "Conch-android";
|
|
#elif WIN32
|
|
return "Conch-window";
|
|
#elif OHOS
|
|
return "Conch-ohos";
|
|
#endif
|
|
}
|
|
const char* JSConchConfig::getBrowserInfo()
|
|
{
|
|
#ifdef __APPLE__
|
|
return "Conch-ios";
|
|
#elif ANDROID
|
|
return "Conch-android";
|
|
#elif WIN32
|
|
return "Conch-window";
|
|
#elif OHOS
|
|
return "Conch-ohos";
|
|
#endif
|
|
}
|
|
const char* JSConchConfig::getGuid()
|
|
{
|
|
#ifdef __APPLE__
|
|
m_sGUID = CToObjectCGetGUID();
|
|
return m_sGUID.c_str();
|
|
#elif ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
if (CToJavaBridge::GetInstance()->callMethod(CToJavaBridge::JavaClass.c_str(), "getWifiMac", kRet))
|
|
{
|
|
m_sGUID = CToJavaBridge::GetInstance()->getJavaString(kRet.pJNI, kRet.strRet);
|
|
}
|
|
LOGI("getGuid::get_Value=%s", m_sGUID.c_str());
|
|
return m_sGUID.c_str();
|
|
#elif WIN32
|
|
return "window";
|
|
#endif
|
|
}
|
|
const char* JSConchConfig::getRuntimeVersion()
|
|
{
|
|
#ifdef __APPLE__
|
|
return "ios-conch6-release-2.13.9.1";
|
|
#elif ANDROID
|
|
return "android-conch6-release-2.13.9.1";
|
|
#elif OHOS
|
|
return "ohos-conch6-release-2.13.9.1";
|
|
#elif WIN32
|
|
return "window-conch6-release-2.13.9.1";
|
|
#endif
|
|
}
|
|
const char* JSConchConfig::getAppVersion()
|
|
{
|
|
#ifdef __APPLE__
|
|
m_sAppVersion = CToObjectCGetAppVersion();
|
|
return m_sAppVersion.c_str();
|
|
#elif ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
if (CToJavaBridge::GetInstance()->callMethod(CToJavaBridge::JavaClass.c_str(), "getAppVersion", kRet))
|
|
{
|
|
m_sAppVersion = CToJavaBridge::GetInstance()->getJavaString(kRet.pJNI, kRet.strRet);
|
|
return m_sAppVersion.c_str();
|
|
}
|
|
return "";
|
|
#elif OHOS
|
|
m_sAppVersion = NapiHelper::GetInstance()->getAppVersion();
|
|
return m_sAppVersion.c_str();
|
|
#elif WIN32
|
|
return "2.0";
|
|
#endif
|
|
}
|
|
const char* JSConchConfig::getAppLocalVersion()
|
|
{
|
|
#ifdef __APPLE__
|
|
m_sAppLocalVersion = CToObjectCGetAppLocalVersion();
|
|
return m_sAppLocalVersion.c_str();
|
|
#elif ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
if (CToJavaBridge::GetInstance()->callMethod(CToJavaBridge::JavaClass.c_str(), "getAppLocalVersion", kRet))
|
|
{
|
|
m_sAppLocalVersion = CToJavaBridge::GetInstance()->getJavaString(kRet.pJNI, kRet.strRet);
|
|
return m_sAppLocalVersion.c_str();
|
|
}
|
|
return "";
|
|
#elif OHOS
|
|
m_sAppLocalVersion = NapiHelper::GetInstance()->getAppLocalVersion();
|
|
return m_sAppLocalVersion.c_str();
|
|
#elif WIN32
|
|
return "2.0";
|
|
#endif
|
|
}
|
|
bool JSConchConfig::getIsPlug()
|
|
{
|
|
return JCSystemConfig::s_bIsPlug != 0;
|
|
}
|
|
|
|
const char* JSConchConfig::getJsonparamExt()
|
|
{
|
|
return g_kSystemConfig.m_jsonparamExt.c_str();
|
|
}
|
|
int JSConchConfig::getGLCaps()
|
|
{
|
|
return s_nGLCaps;
|
|
}
|
|
const char* JSConchConfig::getDeviceInfo()
|
|
{
|
|
#ifdef __APPLE__
|
|
m_sDeviceInfo = CToObjectCGetDeviceInfo();
|
|
return m_sDeviceInfo.c_str();
|
|
#elif ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
if (CToJavaBridge::GetInstance()->callMethod(CToJavaBridge::JavaClass.c_str(), "GetDeviceInfo", kRet))
|
|
{
|
|
m_sDeviceInfo = CToJavaBridge::GetInstance()->getJavaString(kRet.pJNI, kRet.strRet);
|
|
}
|
|
LOGI("getDeviceInfo::get_Value=%s", m_sDeviceInfo.c_str());
|
|
return m_sDeviceInfo.c_str();
|
|
#elif OHOS
|
|
m_sDeviceInfo = NapiHelper::GetInstance()->getDeviceInfo();
|
|
return m_sDeviceInfo.c_str();
|
|
#elif WIN32
|
|
return "{\"resolution\":\"1920*1080\", \"guid\":\"xxxxxxxxx\",\"imei\":[\"imeixxx\"],\"imsi\":[\"imsixxx\"],\"os\":\"windows\",\"osversion\":\"windows7 64\",\"phonemodel\":\"Wintel\" }";
|
|
#endif
|
|
}
|
|
float JSConchConfig::getCurrentDeviceSystemVersion()
|
|
{
|
|
#ifdef __APPLE__
|
|
return CToObjectCGetDeviceSystemVersion();
|
|
#else
|
|
return 0.0f;
|
|
#endif
|
|
}
|
|
void JSConchConfig::setScreenScale(float fScaleW, float fScaleH, float ftx, float fty)
|
|
{
|
|
m_fScreenTx = ftx;
|
|
m_fScreenTy = fty;
|
|
m_fScreenScaleW = fScaleW;
|
|
m_fScreenScaleH = fScaleH;
|
|
JCLayaGL::s_fMainCanvasScaleX = fScaleW;
|
|
JCLayaGL::s_fMainCanvasScaleY = fScaleH;
|
|
JCLayaGL::s_fMainCanvasTX = ftx;
|
|
JCLayaGL::s_fMainCanvasTY = fty;
|
|
}
|
|
float JSConchConfig::getScreenScaleW()
|
|
{
|
|
return m_fScreenScaleW;
|
|
}
|
|
float JSConchConfig::getScreenScaleH()
|
|
{
|
|
return m_fScreenScaleH;
|
|
}
|
|
bool JSConchConfig::getLocalable()
|
|
{
|
|
return JCSystemConfig::s_bLocalizable;
|
|
}
|
|
void JSConchConfig::setLocalable(bool isLocalPackage)
|
|
{
|
|
JCSystemConfig::s_bLocalizable = isLocalPackage;
|
|
}
|
|
void JSConchConfig::setMouseFrame(double thredholdms)
|
|
{
|
|
g_kSystemConfig.m_nFrameType = FT_MOUSE;
|
|
g_kSystemConfig.m_nFrameThreshold = thredholdms;
|
|
g_kSystemConfig.m_nSleepTime = 32;
|
|
}
|
|
void JSConchConfig::setSlowFrame(bool p_bIsSlow)
|
|
{
|
|
g_kSystemConfig.m_nFrameType = p_bIsSlow ? FT_SLOW : FT_FAST;
|
|
g_kSystemConfig.m_nSleepTime = 32;
|
|
}
|
|
void JSConchConfig::setLimitFPS(int nFpsNum)
|
|
{
|
|
if( nFpsNum >= 60 )
|
|
{
|
|
g_kSystemConfig.m_nFrameType = FT_FAST;
|
|
}
|
|
else
|
|
{
|
|
g_kSystemConfig.m_nFrameType = FT_SLOW;
|
|
g_kSystemConfig.m_nSleepTime = 1000 / nFpsNum - 1;
|
|
}
|
|
}
|
|
void JSConchConfig::setCurlProxy(const char* pProxy) {
|
|
if (pProxy) {
|
|
LOGI("setCurlProxy %s", pProxy);
|
|
JCDownloadMgr::s_curlProxyString = pProxy;
|
|
JCDownloadMgr::getInstance()->setProxyString(pProxy);
|
|
}
|
|
}
|
|
|
|
void JSConchConfig::setWebsocketProxy(const char* pProxy) {
|
|
if (pProxy) {
|
|
WebSocket::s_strProxy = pProxy;
|
|
LOGI("setWebsocketProxy:%s", pProxy);
|
|
}
|
|
}
|
|
void JSConchConfig::setTouchMode(bool bMode)
|
|
{
|
|
JSInput::getInstance()->setTouchMode(bMode);
|
|
}
|
|
bool JSConchConfig::getTouchMode()
|
|
{
|
|
return JSInput::getInstance()->getTouchMode();
|
|
}
|
|
void JSConchConfig::setDebugLevel(int nLevel)
|
|
{
|
|
g_nDebugLevel = nLevel;
|
|
}
|
|
void JSConchConfig::setImageReleaseSpaceTime(int nSpaceTime)
|
|
{
|
|
if (g_kSystemConfig.m_nThreadMODE == THREAD_MODE_DOUBLE)
|
|
{
|
|
JCScriptRuntime::s_JSRT->flushSharedCmdBuffer();
|
|
JCCommandEncoderBuffer* pCmd = JCScriptRuntime::s_JSRT->m_pRenderCmd;
|
|
pCmd->append(LAYA_SET_IMAGE_RELEASE_SPACE_TIME);
|
|
pCmd->append(nSpaceTime);
|
|
}
|
|
else
|
|
{
|
|
JCConch::s_pConchRender->m_pImageManager->setReleaseSpaceTime(nSpaceTime);
|
|
}
|
|
}
|
|
void JSConchConfig::enableMemorySurvey(bool bEnable)
|
|
{
|
|
JCMemorySurvey::GetInstance()->setEnable(bEnable);
|
|
}
|
|
void JSConchConfig::showInternalPerfBar(int b, float scale)
|
|
{
|
|
if (scale == 0.0f)scale = 10.0f;
|
|
|
|
if (b > 0) {
|
|
g_kSystemConfig.m_bShowInternalPerBar = true;
|
|
|
|
JCPerfHUD::addData(new perfBarData(JCPerfHUD::PHUD_BAR_JS_ONDRAW, 0x6600ff00, "jsbar", scale));
|
|
JCPerfHUD::addData(new perfBarData(JCPerfHUD::PHUD_BAR_RENDER, 0x66ff0000, "renderbar", scale));
|
|
JCPerfHUD::addData(new perfBarData(JCPerfHUD::PHUD_BAR_JSWAIT, 0x66003300, "jswait", scale));
|
|
JCPerfHUD::addData(new perfBarData(JCPerfHUD::PHUD_BAR_GLWAIT, 0x66330000, "glwait", scale));
|
|
}
|
|
else {
|
|
g_kSystemConfig.m_bShowInternalPerBar = false;
|
|
JCPerfHUD::delData(JCPerfHUD::PHUD_BAR_JS_ONDRAW);
|
|
JCPerfHUD::delData(JCPerfHUD::PHUD_BAR_RENDER);
|
|
JCPerfHUD::delData(JCPerfHUD::PHUD_BAR_JSWAIT);
|
|
JCPerfHUD::delData(JCPerfHUD::PHUD_BAR_GLWAIT);
|
|
}
|
|
}
|
|
void JSConchConfig::useChoreographer(int b) {
|
|
#ifdef ANDROID
|
|
#else
|
|
b = 0;
|
|
#endif
|
|
g_kSystemConfig.m_bUseChoreographer = b > 0;
|
|
#ifdef ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
CToJavaBridge::GetInstance()->callMethod(CToJavaBridge::JavaClass.c_str(), "useChoreographer", b ,kRet);
|
|
#endif
|
|
if (!b)
|
|
{
|
|
if (JCScriptRuntime::s_JSRT)
|
|
{
|
|
JCScriptRuntime::s_JSRT->m_pScriptThread->post(std::bind(&JCScriptRuntime::onUpdate, JCScriptRuntime::s_JSRT));
|
|
}
|
|
}
|
|
}
|
|
void JSConchConfig::testSleep(int tm)
|
|
{
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(tm));
|
|
}
|
|
void JSConchConfig::setDownloadConnTimeout(int tm)
|
|
{
|
|
JCDownloadMgr::s_nConnTimeout = tm;
|
|
}
|
|
void JSConchConfig::setDownloadOptTimeout(int tm)
|
|
{
|
|
JCDownloadMgr::s_nOptTimeout = tm;
|
|
}
|
|
void JSConchConfig::setResolution(int w, int h) {
|
|
#ifdef ANDROID
|
|
CToJavaBridge::JavaRet kRet;
|
|
CToJavaBridge::GetInstance()->callMethod(CToJavaBridge::JavaClass.c_str(), "setResolution", w, h, kRet);
|
|
#else
|
|
#endif
|
|
}
|
|
bool JSConchConfig::getUseAndroidSystemFont() {
|
|
return g_kSystemConfig.m_bUseAndroidSystemFont;
|
|
}
|
|
void JSConchConfig::setUseAndroidSystemFont(bool b) {
|
|
g_kSystemConfig.m_bUseAndroidSystemFont = b;
|
|
}
|
|
void JSConchConfig::printAllMemorySurvey(char* sPath)
|
|
{
|
|
string sWritePath = "";
|
|
if (sPath == NULL || strlen(sPath) <= 0)
|
|
{
|
|
sWritePath = JCConch::s_pConch->m_sCachePath.c_str();
|
|
}
|
|
else
|
|
{
|
|
sWritePath = sPath;
|
|
}
|
|
JCMemorySurvey::GetInstance()->printAll(sWritePath.c_str());
|
|
}
|
|
void JSConchConfig::enableEncodeURI(bool b)
|
|
{
|
|
JCDownloadMgr::s_bEncodeURI = b;
|
|
}
|
|
void JSConchConfig::setJSDebugMode(int nMode)
|
|
{
|
|
JCConch::s_pConch->m_nJSDebugMode = (JS_DEBUG_MODE)nMode;
|
|
}
|
|
int JSConchConfig::getJSDebugMode()
|
|
{
|
|
return JCConch::s_pConch->m_nJSDebugMode;
|
|
}
|
|
void JSConchConfig::setJSDebugPort(int nPort)
|
|
{
|
|
JCConch::s_pConch->m_nJSDebugPort = nPort;
|
|
}
|
|
int JSConchConfig::getJSDebugPort()
|
|
{
|
|
return JCConch::s_pConch->m_nJSDebugPort;
|
|
}
|
|
void JSConchConfig::setSoundGarbageCollectionTime(int nTime)
|
|
{
|
|
JCAudioWavPlayer::s_nGarbageCollectionTime = nTime;
|
|
}
|
|
int JSConchConfig::getThreadMode()
|
|
{
|
|
return g_kSystemConfig.m_nThreadMODE;
|
|
}
|
|
void JSConchConfig::exportJS()
|
|
{
|
|
JSP_GLOBAL_CLASS("conchConfig", JSConchConfig, this);
|
|
JSP_GLOBAL_ADD_PROPERTY_RO(threadMode, JSConchConfig, getThreadMode);
|
|
JSP_GLOBAL_ADD_PROPERTY_RO(glCaps, JSConchConfig, getGLCaps);
|
|
JSP_GLOBAL_ADD_PROPERTY_RO(paramExt, JSConchConfig, getJsonparamExt);
|
|
JSP_GLOBAL_ADD_PROPERTY(urlIgnoreCase, JSConchConfig, getUrlIgnoreCase, setUrlIgnoreCase);
|
|
JSP_GLOBAL_ADD_PROPERTY(localizable, JSConchConfig, getLocalable, setLocalable);
|
|
JSP_GLOBAL_ADD_PROPERTY(useAndroidSystemFont, JSConchConfig, getUseAndroidSystemFont, setUseAndroidSystemFont);
|
|
JSP_GLOBAL_ADD_METHOD("getStoragePath", JSConchConfig::getLocalStoragePath);
|
|
JSP_GLOBAL_ADD_METHOD("getTotalMem", JSConchConfig::getTotalMem);
|
|
JSP_GLOBAL_ADD_METHOD("getUsedMem", JSConchConfig::getUsedMem);
|
|
JSP_GLOBAL_ADD_METHOD("getAvalidMem", JSConchConfig::getAvalidMem);
|
|
JSP_GLOBAL_ADD_METHOD("getScreenInch", JSConchConfig::getScreenInch);
|
|
JSP_GLOBAL_ADD_METHOD("setTouchMoveRange", JSConchConfig::setTouchMoveRange);
|
|
JSP_GLOBAL_ADD_METHOD("setScreenOrientation", JSConchConfig::setScreenOrientation);
|
|
JSP_GLOBAL_ADD_METHOD("setScreenScale", JSConchConfig::setScreenScale);
|
|
JSP_GLOBAL_ADD_METHOD("getScreenScaleW", JSConchConfig::getScreenScaleW);
|
|
JSP_GLOBAL_ADD_METHOD("getScreenScaleH", JSConchConfig::getScreenScaleH);
|
|
JSP_GLOBAL_ADD_METHOD("setUrlIgnoreCase", JSConchConfig::setUrlIgnoreCase);
|
|
JSP_GLOBAL_ADD_METHOD("getUrlIgnoreCase", JSConchConfig::getUrlIgnoreCase);
|
|
JSP_GLOBAL_ADD_METHOD("getNetworkType", JSConchConfig::getNetworkType);
|
|
JSP_GLOBAL_ADD_METHOD("getRuntimeVersion", JSConchConfig::getRuntimeVersion);
|
|
JSP_GLOBAL_ADD_METHOD("setDownloadTryNum", JSConchConfig::setDownloadTryNum);
|
|
JSP_GLOBAL_ADD_METHOD("setDownloadPathReplace", JSConchConfig::setDownloadPathReplace);
|
|
JSP_GLOBAL_ADD_METHOD("setDownloadTail", JSConchConfig::setDownloadTail);
|
|
JSP_GLOBAL_ADD_METHOD("setDownloadNoResponseTimeout", JSConchConfig::setDownloadNoResponseTimeout);
|
|
JSP_GLOBAL_ADD_METHOD("setDownloadReplaceExt", JSConchConfig::setDownloadReplaceExt);
|
|
JSP_GLOBAL_ADD_METHOD("setDownloadIgnoreCRLR", JSConchConfig::setDownloadIgnoreCRLR);
|
|
JSP_GLOBAL_ADD_METHOD("addChkIgnoreChksumExt", JSConchConfig::addChkIgnoreChksumExt);
|
|
JSP_GLOBAL_ADD_METHOD("clearChkIgnoreChksumExt", JSConchConfig::clearChkIgnoreChksumExt);
|
|
JSP_GLOBAL_ADD_METHOD("setDownloadUnmask", JSConchConfig::setDownloadUnmask);
|
|
JSP_GLOBAL_ADD_METHOD("resetDownloadUnmask", JSConchConfig::resetDownloadUnmask);
|
|
JSP_GLOBAL_ADD_METHOD("setDownloadVersionString", JSConchConfig::setDownloadVersionString);
|
|
JSP_GLOBAL_ADD_METHOD("getOS", JSConchConfig::getOS);
|
|
JSP_GLOBAL_ADD_METHOD("getAppVersion", JSConchConfig::getAppVersion);
|
|
JSP_GLOBAL_ADD_METHOD("getAppLocalVersion", JSConchConfig::getAppLocalVersion);
|
|
JSP_GLOBAL_ADD_METHOD("getBrowserInfo", JSConchConfig::getBrowserInfo);
|
|
JSP_GLOBAL_ADD_METHOD("getGuid", JSConchConfig::getGuid);
|
|
JSP_GLOBAL_ADD_METHOD("getDeviceInfo", JSConchConfig::getDeviceInfo);
|
|
JSP_GLOBAL_ADD_METHOD("getIsPlug", JSConchConfig::getIsPlug);
|
|
JSP_GLOBAL_ADD_METHOD("setLimitFPS", JSConchConfig::setLimitFPS);
|
|
JSP_GLOBAL_ADD_METHOD("setMouseFrame", JSConchConfig::setMouseFrame);
|
|
JSP_GLOBAL_ADD_METHOD("setSlowFrame", JSConchConfig::setSlowFrame);
|
|
JSP_GLOBAL_ADD_METHOD("setCurlProxy", JSConchConfig::setCurlProxy);
|
|
JSP_GLOBAL_ADD_METHOD("setWebsocketProxy", JSConchConfig::setWebsocketProxy);
|
|
JSP_GLOBAL_ADD_METHOD("setTouchMode", JSConchConfig::setTouchMode);
|
|
JSP_GLOBAL_ADD_METHOD("getTouchMode", JSConchConfig::getTouchMode);
|
|
JSP_GLOBAL_ADD_METHOD("setDebugLevel", JSConchConfig::setDebugLevel);
|
|
JSP_GLOBAL_ADD_METHOD("setImageReleaseSpaceTime", JSConchConfig::setImageReleaseSpaceTime);
|
|
JSP_GLOBAL_ADD_METHOD("enableMemorySurvey", JSConchConfig::enableMemorySurvey);
|
|
JSP_GLOBAL_ADD_METHOD("showInternalPerfBar", JSConchConfig::showInternalPerfBar);
|
|
JSP_GLOBAL_ADD_METHOD("useChoreographer", JSConchConfig::useChoreographer);
|
|
#ifdef ANDROID
|
|
//目前只有android实现了这个函数,所以ios等就不往外导了,这样判断方便。
|
|
JSP_GLOBAL_ADD_METHOD("setResolution", JSConchConfig::setResolution);
|
|
#endif
|
|
JSP_GLOBAL_ADD_METHOD("test_sleep", JSConchConfig::testSleep);
|
|
JSP_GLOBAL_ADD_METHOD("setDownloadConnTimeout", JSConchConfig::setDownloadConnTimeout);
|
|
JSP_GLOBAL_ADD_METHOD("setDownloadOptTimeout", JSConchConfig::setDownloadOptTimeout);
|
|
JSP_GLOBAL_ADD_METHOD("printAllMemorySurvey", JSConchConfig::printAllMemorySurvey);
|
|
JSP_GLOBAL_ADD_METHOD("enableEncodeURI", JSConchConfig::enableEncodeURI);
|
|
JSP_GLOBAL_ADD_PROPERTY(JSDebugMode, JSConchConfig, getJSDebugMode, setJSDebugMode);
|
|
JSP_GLOBAL_ADD_PROPERTY(JSDebugPort, JSConchConfig, getJSDebugPort, setJSDebugPort);
|
|
JSP_GLOBAL_ADD_METHOD("setSoundGarbageCollectionTime", JSConchConfig::setSoundGarbageCollectionTime);
|
|
JSP_INSTALL_GLOBAL_CLASS("conchConfig", JSConchConfig, this);
|
|
}
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
//-----------------------------END FILE--------------------------------
|