//-------------------------------------------------- //-------------------------------------------------- DialogueBoxJavaInterface::DialogueBoxJavaInterface() { CreateNativeInterface("com/chilliworks/chillisource/core/DialogueBoxNativeInterface"); CreateMethodReference("makeToast", "(Ljava/lang/String;)V"); CreateMethodReference("showSystemConfirmDialogue", "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"); CreateMethodReference("showSystemDialogue", "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"); }
//----------------------------------------------- /// Constructor //----------------------------------------------- AccelerometerJavaInterface::AccelerometerJavaInterface() : mbListening(false) { CreateNativeInterface("com/chilliworks/chillisource/input/AccelerometerNativeInterface"); CreateMethodReference("IsAvailable", "()Z"); CreateMethodReference("StartListening", "()V"); CreateMethodReference("StopListening", "()V"); }
//----------------------------------------------- //----------------------------------------------- TextEntryJavaInterface::TextEntryJavaInterface() { CreateNativeInterface("com/chilliworks/chillisource/input/TextEntryNativeInterface"); CreateMethodReference("activate", "()V"); CreateMethodReference("deactivate", "()V"); CreateMethodReference("setKeyboardType", "(I)V"); CreateMethodReference("setCapitalisationMethod", "(I)V"); CreateMethodReference("setTextBuffer", "(Ljava/lang/String;)V"); }
//-------------------------------------------------------------- //-------------------------------------------------------------- GooglePlayIAPJavaInterface::GooglePlayIAPJavaInterface(const std::string& in_publicKey) { CreateNativeInterface("com/chilliworks/chillisource/googleplay/networking/GooglePlayIAPNativeInterface"); CreateMethodReference("Init", "(Ljava/lang/String;)V"); CreateMethodReference("IsPurchasingEnabled", "()Z"); CreateMethodReference("RequestProductDescriptions", "([Ljava/lang/String;)V"); CreateMethodReference("CancelProductDescriptionsRequest", "()V"); CreateMethodReference("RequestProductPurchase", "(Ljava/lang/String;I)V"); CreateMethodReference("CloseTransaction", "(Ljava/lang/String;Ljava/lang/String;)V"); CreateMethodReference("RestoreManagedPurchases", "()V"); CreateMethodReference("RestorePendingUnmanagedTransactions", "()V"); CreateMethodReference("RestorePendingManagedTransactions", "([Ljava/lang/String;)V"); //initialise the system JNIEnv* env = JavaInterfaceManager::GetSingletonPtr()->GetJNIEnvironmentPtr(); jstring publicKey = JavaInterfaceUtils::CreateJStringFromSTDString(in_publicKey); env->CallVoidMethod(GetJavaObject(), GetMethodID("Init"), publicKey); env->DeleteLocalRef(publicKey); }
//-------------------------------------------------------------- //-------------------------------------------------------------- AmazonIAPJavaInterface::AmazonIAPJavaInterface(const std::string& in_privateKey, const std::string& in_udid) { CreateNativeInterface("com/chilliworks/chillisource/networking/AmazonIAPNativeInterface"); CreateMethodReference("Init", "(Ljava/lang/String;Ljava/lang/String;)V"); CreateMethodReference("IsPurchasingEnabled", "()Z"); CreateMethodReference("RequestProductDescriptions", "([Ljava/lang/String;)V"); CreateMethodReference("CancelProductDescriptionsRequest", "()V"); CreateMethodReference("RequestProductPurchase", "(Ljava/lang/String;)V"); CreateMethodReference("CloseTransaction", "(Ljava/lang/String;Ljava/lang/String;)V"); CreateMethodReference("RestoreManagedPurchases", "()V"); CreateMethodReference("StartListeningForTransactionUpdates", "()V"); CreateMethodReference("StopListeningForTransactionUpdates", "()V"); //initialise the system JNIEnv* env = JavaInterfaceManager::GetSingletonPtr()->GetJNIEnvironmentPtr(); jstring privateKey = JavaUtils::CreateJStringFromSTDString(in_privateKey); jstring udid = JavaUtils::CreateJStringFromSTDString(in_udid); env->CallVoidMethod(GetJavaObject(), GetMethodID("Init"), privateKey, udid); env->DeleteLocalRef(privateKey); env->DeleteLocalRef(udid); }
//-------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------- CoreJavaInterface::CoreJavaInterface() : m_application(nullptr), m_screenWidth(0), m_screenHeight(0), m_screenDensity(-0.1f), m_physicalScreenSize(-0.1f) { CreateNativeInterface("com/chilliworks/chillisource/core/CoreNativeInterface"); CreateMethodReference("getExternalStorageDirectory", "()Ljava/lang/String;"); CreateMethodReference("getApplicationName", "()Ljava/lang/String;"); CreateMethodReference("getApplicationVersionCode", "()I"); CreateMethodReference("getApplicationVersionName", "()Ljava/lang/String;"); CreateMethodReference("getPackageName", "()Ljava/lang/String;"); CreateMethodReference("getAPKDirectory", "()Ljava/lang/String;"); CreateMethodReference("getScreenWidth", "()I"); CreateMethodReference("getScreenHeight", "()I"); CreateMethodReference("getScreenDensity", "()F"); CreateMethodReference("forceQuit", "()V"); CreateMethodReference("getSystemTimeInMilliseconds", "()J"); CreateMethodReference("setPreferredFPS", "(I)V"); CreateMethodReference("getActivity", "()Landroid/app/Activity;"); }
//-------------------------------------------------------------- /// Constructor //-------------------------------------------------------------- EmailComposerJavaInterface::EmailComposerJavaInterface() { CreateNativeInterface("com/chilliworks/chillisource/social/EmailComposerNativeInterface"); CreateMethodReference("Present", "([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)V"); }