// Returns true if the VrInputMethod APK is at least as high as MIN_VERSION_VRINPUTMETHOD. private bool IsVrInputMethodAppMinVersion(GvrKeyboard.KeyboardCallback keyboardEvent) { #if UNITY_ANDROID && !UNITY_EDITOR // Running on Android device. AndroidJavaObject activity = GvrActivityHelper.GetActivity(); if (activity == null) { Debug.Log("Failed to get activity for keyboard."); return(false); } AndroidJavaObject packageManager = activity.Call <AndroidJavaObject>(METHOD_NAME_GET_PACKAGE_MANAGER); if (packageManager == null) { Debug.Log("Failed to get activity package manager"); return(false); } AndroidJavaObject info = packageManager.Call <AndroidJavaObject>(METHOD_NAME_GET_PACKAGE_INFO, PACKAGE_NAME_VRINPUTMETHOD, 0); if (info == null) { Debug.Log("Failed to get package info for com.google.android.apps.vr.inputmethod"); return(false); } int versionCode = info.Get <int>(FIELD_NAME_VERSION_CODE); if (versionCode < MIN_VERSION_VRINPUTMETHOD) { keyboardEvent(IntPtr.Zero, GvrKeyboardEvent.GVR_KEYBOARD_ERROR_SDK_LOAD_FAILED); return(false); } return(true); #else return(true); #endif // UNITY_ANDROID && !UNITY_EDITOR }
public bool Create(GvrKeyboard.KeyboardCallback keyboardEvent) { if (!IsVrInputMethodAppMinVersion(keyboardEvent)) { return(false); } keyboard_context = gvr_keyboard_create(IntPtr.Zero, keyboardEvent); isReady = keyboard_context != IntPtr.Zero; return(isReady); }
public bool Create(GvrKeyboard.KeyboardCallback keyboardEvent) { keyboardCallback = keyboardEvent; if (!isValid) { keyboardCallback(IntPtr.Zero, GvrKeyboardEvent.GVR_KEYBOARD_ERROR_SERVICE_NOT_CONNECTED); } return(true); }
private static extern IntPtr gvr_keyboard_create(IntPtr closure, GvrKeyboard.KeyboardCallback callback);
public bool Create(GvrKeyboard.KeyboardCallback keyboardEvent) { return(true); }
public bool Create(GvrKeyboard.KeyboardCallback keyboardEvent) { keyboard_context = gvr_keyboard_create(IntPtr.Zero, keyboardEvent); isReady = keyboard_context != IntPtr.Zero; return(isReady); }