From 12ebe828fd822be0d4a239457f4fb31648977292 Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh <40482367+khanhduytran0@users.noreply.github.com> Date: Wed, 24 Feb 2021 11:44:23 +0700 Subject: [PATCH] Attempt fix the v.mouse not shown after grab=false --- .../net/kdt/pojavlaunch/BaseMainActivity.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java index 5f6f9f5f2..2b5cd418f 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java @@ -69,6 +69,7 @@ public class BaseMainActivity extends LoggableActivity { public boolean hiddenTextIgnoreUpdate = true; public String hiddenTextContents = initText; + private boolean isVirtualMouseEnabled; private LinearLayout touchPad; private ImageView mousePointer; //private EditText hiddenEditor; @@ -239,14 +240,12 @@ public class BaseMainActivity extends LoggableActivity { @Override public void run() { - if (!CallbackBridge.isGrabbing() && lastEnabled) { + if (!CallbackBridge.isGrabbing() && isVirtualMouseEnabled) { touchPad.setVisibility(View.VISIBLE); placeMouseAt(displayMetrics.widthPixels / 2, displayMetrics.heightPixels / 2); } - if (!CallbackBridge.isGrabbing()) { - lastEnabled = touchPad.getVisibility() == View.VISIBLE; - } else if (touchPad.getVisibility() != View.GONE) { + if (CallbackBridge.isGrabbing() && touchPad.getVisibility() != View.GONE) { touchPad.setVisibility(View.GONE); } /* @@ -271,7 +270,7 @@ public class BaseMainActivity extends LoggableActivity { // } catch (Throwable th) {} } } - }).start(); + }, "VirtualMouseGrabThread").start(); if (isAndroid8OrHigher()) { @@ -1066,9 +1065,9 @@ public class BaseMainActivity extends LoggableActivity { public void toggleMouse(View view) { if (CallbackBridge.isGrabbing()) return; - boolean isVis = touchPad.getVisibility() == View.VISIBLE; - touchPad.setVisibility(isVis ? View.GONE : View.VISIBLE); - ((Button) view).setText(isVis ? R.string.control_mouseoff: R.string.control_mouseon); + isVirtualMouseEnabled = !isVirtualMouseEnabled; + touchPad.setVisibility(isVirtualMouseEnabled ? View.VISIBLE : View.GONE); + ((Button) view).setText(isVirtualMouseEnabled ? R.string.control_mouseon: R.string.control_mouseoff); } public static void dialogForceClose(Context ctx) {