diff --git a/app/src/main/assets/about_en.txt b/app/src/main/assets/about_en.txt
index 2e306d78e..9dbef45da 100644
--- a/app/src/main/assets/about_en.txt
+++ b/app/src/main/assets/about_en.txt
@@ -6,12 +6,8 @@ Using libraries:
• LegacyLauncher: Open source Minecraft LaunchWrapper by Mojang.
• LWJGL %s.
• openal_soft: OpenAL port for Android devices by apportable.
- • PojavDX (dx 1.16): tool to convert java bytecode to dex.
• Android HandleView of EditText for easy resize for custom controls.
- • Java AWT Implementation includes:
- - Boardwalk's makeshift.
- - OpenJDK 7 codes implementation.
- - Developer codes (copy text, open browser,...)
+ • OpenJDK Mobile 9.
* Notes:
- This app is under development and will not be stable.
- This app only use LWJGL2 and didn't have a JRE8 desugar so 1.13 or above versions will not supported.
diff --git a/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java b/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java
index bf1114ec4..720aa0b66 100644
--- a/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java
+++ b/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java
@@ -34,7 +34,7 @@ import sun.security.jca.*;
import android.app.AlertDialog;
-public class MainActivity extends AppCompatActivity implements OnTouchListener, OnClickListener, ToggleButton.OnCheckedChangeListener
+public class MainActivity extends AppCompatActivity implements OnTouchListener, OnClickListener
{
public static final String initText = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ";
@@ -120,6 +120,8 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
private boolean lastEnabled = false;
private boolean lastGrab = false;
private boolean isExited = false;
+ private boolean isShiftModeClick = false;
+ private boolean isShiftDown = false;
private boolean isLogAllow = false;
private int navBarHeight = 40;
@@ -252,6 +254,12 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
case R.id.nav_debug: toggleDebug();
break;
case R.id.nav_customkey: dialogSendCustomKey();
+ break;
+ case R.id.nav_shiftmodechg:
+ isShiftModeClick = !isShiftModeClick;
+ // shiftButton.setOnTouchListener(isShiftModeClick ? null : MainActivity.this);
+ Toast.makeText(MainActivity.this, getString(R.string.toast_shiftmode) + " " + getString(isShiftModeClick ? R.string.toast_shiftmode_toggle : R.string.toast_shiftmode_hold), Toast.LENGTH_SHORT).show();
+ break;
}
//Toast.makeText(MainActivity.this, menuItem.getTitle() + ":" + menuItem.getItemId(), Toast.LENGTH_SHORT).show();
@@ -301,6 +309,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
this.textLogBehindGL.setTypeface(Typeface.MONOSPACE);
this.textLog.setTypeface(Typeface.MONOSPACE);
+ this.shiftButton.setOnClickListener(this);
this.toggleLog.setOnCheckedChangeListener(new ToggleButton.OnCheckedChangeListener(){
@Override
@@ -818,14 +827,12 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
zoomButton.setVisibility((zoomButton.getVisibility() == View.GONE && mVersionInfo.optifineLib != null) ? View.VISIBLE : View.GONE);
}
- }
- }
-
- @Override
- public void onCheckedChanged(CompoundButton btn, boolean checked) {
- switch (btn.getId()) {
+ break;
case R.id.control_shift:
- sendKeyPress(Keyboard.KEY_LSHIFT, checked);
+ if (isShiftModeClick) {
+ isShiftDown = !isShiftDown;
+ sendKeyPress(Keyboard.KEY_LSHIFT, isShiftDown);
+ }
break;
}
}
@@ -864,7 +871,10 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
setRightOverride(isDown);
} break;
case R.id.control_debug: sendKeyPress(Keyboard.KEY_F3, isDown); break;
- // case R.id.control_shift: sendKeyPress(Keyboard.KEY_LSHIFT, isDown); break;
+ case R.id.control_shift:
+ if (!isShiftModeClick)
+ sendKeyPress(Keyboard.KEY_LSHIFT, isDown);
+ break;
case R.id.control_inventory: sendKeyPress(Keyboard.KEY_E, isDown); break;
case R.id.control_talk: sendKeyPress(Keyboard.KEY_T, isDown); break;
case R.id.control_keyboard: showKeyboard(); break;
@@ -1445,9 +1455,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
Button button = (Button) findViewById(id);
button.setWidth((int) Tools.dpToPx(this, Tools.pxToDp(this, button.getWidth()) * PojavPreferenceActivity.PREF_BUTTONSIZE));
button.setHeight((int) Tools.dpToPx(this, Tools.pxToDp(this, button.getHeight()) * PojavPreferenceActivity.PREF_BUTTONSIZE));
- if (button instanceof ToggleButton) {
- ((ToggleButton) button).setOnCheckedChangeListener(this);
- } else button.setOnTouchListener(this);
+ button.setOnTouchListener(this);
return button;
}
diff --git a/app/src/main/res/layout/main.xml b/app/src/main/res/layout/main.xml
index 5229bd287..9818270f9 100644
--- a/app/src/main/res/layout/main.xml
+++ b/app/src/main/res/layout/main.xml
@@ -193,7 +193,7 @@
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
-
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 773012528..7095a71e1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -65,6 +65,9 @@
The read/write to storage permission is required!
Something went wrong after login. Please feedback to the developer.\nError: %s
Install successful
+ Shift (sneak) button mode changed to
+ Hold mode
+ Click toggle mode
@@ -126,7 +129,6 @@
%1$s BETA (Minecraft Java launcher for Android), version " + PathTools.usingVerName + "\n" +
" - by Khanh Duy Tran (based from \"Boardwalk\" app)\n" +
- //"© 2019 Khanh Duy Tran\n" +
"Using libraries:\n" +
" • LWJGL " + org.lwjgl.Sys.getVersion() + "\n" +
//" • Boardwalk memory manager (not used now).\n" +
@@ -179,8 +181,8 @@
Log output
PointerCapture Debug
Send custom keycode
-
-
+ Change Shift (Sneak) mode
+
Keycode
@@ -199,5 +201,5 @@
Switch user
Version:
No crash detected
- No log.
+ No log.