From 2679eed629917d672d688cf853a141889a69154a Mon Sep 17 00:00:00 2001 From: Chloe Date: Mon, 19 Oct 2026 03:12:42 -0500 Subject: [PATCH] scientists discover the geometry --- .../geode/launcher/utils/GamePackageUtils.kt | 1 + .../org/cocos2dx/lib/Cocos2dxGLSurfaceView.kt | 28 ++++++++++--------- .../cocos2dx/lib/Cocos2dxTextInputWrapper.kt | 14 +++++++--- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/geode/launcher/utils/GamePackageUtils.kt b/app/src/main/java/com/geode/launcher/utils/GamePackageUtils.kt index 6b60b83..0fbf074 100644 --- a/app/src/main/java/com/geode/launcher/utils/GamePackageUtils.kt +++ b/app/src/main/java/com/geode/launcher/utils/GamePackageUtils.kt @@ -54,6 +54,7 @@ object GamePackageUtils { 40L to "2.2074", // ok 41L to "2.2081", 42L to "2.209", + 43L to "2.2091", ) /** diff --git a/app/src/main/java/org/cocos2dx/lib/Cocos2dxGLSurfaceView.kt b/app/src/main/java/org/cocos2dx/lib/Cocos2dxGLSurfaceView.kt index a44ac93..76edbed 100644 --- a/app/src/main/java/org/cocos2dx/lib/Cocos2dxGLSurfaceView.kt +++ b/app/src/main/java/org/cocos2dx/lib/Cocos2dxGLSurfaceView.kt @@ -43,19 +43,6 @@ fun inputTypeForFlags(i: Int): Int { return InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS or InputType.TYPE_CLASS_TEXT } -fun usesInlineKeyboard(): Boolean { - return Build.VERSION.SDK_INT >= 30 -} - -fun imeOptionsForFlags(i: Int): Int { - val i2 = if ((i and BaseRobTopActivity.KEYBOARD_INPUT_MULTILINE) == 0 || !usesInlineKeyboard()) - EditorInfo.IME_ACTION_DONE else EditorInfo.IME_ACTION_NONE - - return if (usesInlineKeyboard()) - EditorInfo.IME_FLAG_NO_FULLSCREEN or EditorInfo.IME_FLAG_NO_EXTRACT_UI or i2 - else i2 -} - class Cocos2dxGLSurfaceView(context: Context) : GLSurfaceView(context) { companion object { lateinit var cocos2dxGLSurfaceView: Cocos2dxGLSurfaceView @@ -144,6 +131,21 @@ class Cocos2dxGLSurfaceView(context: Context) : GLSurfaceView(context) { requestFocus() } + fun usesInlineKeyboard(): Boolean { + if (!sendNewCocosEvents) return false + + return Build.VERSION.SDK_INT >= 30 + } + + fun imeOptionsForFlags(i: Int): Int { + val i2 = if ((i and BaseRobTopActivity.KEYBOARD_INPUT_MULTILINE) == 0 || !usesInlineKeyboard()) + EditorInfo.IME_ACTION_DONE else EditorInfo.IME_ACTION_NONE + + return if (usesInlineKeyboard()) + EditorInfo.IME_FLAG_NO_FULLSCREEN or EditorInfo.IME_FLAG_NO_EXTRACT_UI or i2 + else i2 + } + fun initView() { setEGLContextClientVersion(2) isFocusableInTouchMode = true diff --git a/app/src/main/java/org/cocos2dx/lib/Cocos2dxTextInputWrapper.kt b/app/src/main/java/org/cocos2dx/lib/Cocos2dxTextInputWrapper.kt index e15643c..4df7380 100644 --- a/app/src/main/java/org/cocos2dx/lib/Cocos2dxTextInputWrapper.kt +++ b/app/src/main/java/org/cocos2dx/lib/Cocos2dxTextInputWrapper.kt @@ -14,15 +14,21 @@ class Cocos2dxTextInputWrapper(private val cocos2dxGLSurfaceView: Cocos2dxGLSurf private var originText: String? = null private var text: String? = null - private val isFullScreenEdit: Boolean - get() = (cocos2dxGLSurfaceView.cocos2dxEditText?.context?.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager).isFullscreenMode + private fun isFullScreenEdit(): Boolean { + if (cocos2dxGLSurfaceView.usesInlineKeyboard()) { + return false + } + + val inputMethodManager = cocos2dxGLSurfaceView.cocos2dxEditText?.context?.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager + return inputMethodManager.isFullscreenMode + } fun setOriginText(originText: String?) { this.originText = originText } override fun afterTextChanged(editable: Editable) { - if (isFullScreenEdit) { + if (isFullScreenEdit()) { return } @@ -61,7 +67,7 @@ class Cocos2dxTextInputWrapper(private val cocos2dxGLSurfaceView: Cocos2dxGLSurf override fun onTextChanged(pCharSequence: CharSequence, start: Int, before: Int, count: Int) {} override fun onEditorAction(textView: TextView, actionID: Int, keyEvent: KeyEvent?): Boolean { - val fullscreenIme = cocos2dxGLSurfaceView.cocos2dxEditText == textView && isFullScreenEdit + val fullscreenIme = cocos2dxGLSurfaceView.cocos2dxEditText == textView && isFullScreenEdit() if (fullscreenIme) { var text = textView.text.toString() if (originText != text || !cocos2dxGLSurfaceView.sendNewCocosEvents) {