#include "CCApplication.h" #include "jni/JniHelper.h" #include "CCDirector.h" #include "CCEGLView.h" #include "android/jni/SystemInfoJni.h" #include #include #include #define LOG_TAG "CCApplication_android Debug" #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__) NS_CC_BEGIN // sharedApplication pointer CCApplication * CCApplication::sm_pSharedApplication = 0; CCApplication::CCApplication() { CC_ASSERT(! sm_pSharedApplication); sm_pSharedApplication = this; } CCApplication::~CCApplication() { CC_ASSERT(this == sm_pSharedApplication); sm_pSharedApplication = NULL; } int CCApplication::run() { // Initialize instance and cocos2d. if (! initInstance() || ! applicationDidFinishLaunching()) { return 0; } return -1; } void CCApplication::setAnimationInterval(double interval) { JniMethodInfo methodInfo; if (! JniHelper::getStaticMethodInfo(methodInfo, "org/cocos2dx/lib/Cocos2dxRenderer", "setAnimationInterval", "(D)V")) { CCLOG("%s %d: error to get methodInfo", __FILE__, __LINE__); } else { methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, interval); } } CCApplication::Orientation CCApplication::setOrientation(Orientation orientation) { return orientation; } void CCApplication::statusBarFrame(CCRect * rect) { if (rect) { // android doesn't have status bar. *rect = CCRectMake(0, 0, 0, 0); } } ////////////////////////////////////////////////////////////////////////// // static member function ////////////////////////////////////////////////////////////////////////// CCApplication& CCApplication::sharedApplication() { CC_ASSERT(sm_pSharedApplication); return *sm_pSharedApplication; } ccLanguageType CCApplication::getCurrentLanguage() { const char *pLanguageName = getCurrentLanguageJNI(); ccLanguageType ret = kLanguageEnglish; if (0 == strcmp("zh", pLanguageName)) { ret = kLanguageChinese; } else if (0 == strcmp("en", pLanguageName)) { ret = kLanguageEnglish; } else if (0 == strcmp("fr", pLanguageName)) { ret = kLanguageFrench; } else if (0 == strcmp("it", pLanguageName)) { ret = kLanguageItalian; } else if (0 == strcmp("de", pLanguageName)) { ret = kLanguageGerman; } else if (0 == strcmp("es", pLanguageName)) { ret = kLanguageSpanish; } else if (0 == strcmp("ru", pLanguageName)) { ret = kLanguageRussian; } return ret; } NS_CC_END