// 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);
Esempio n. 5
0
 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);
 }