diff --git a/app/build.gradle b/app/build.gradle
index ecbe35bbb..d2e9832be 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,8 +8,8 @@ android {
applicationId "net.kdt.pojavlaunch"
minSdkVersion 21
targetSdkVersion 26
- versionCode 156233
- versionName "2.4.2_preview11b2_6395b_20200414"
+ versionCode 156234
+ versionName "2.4.2_preview11b3_6396b_20200415"
}
buildTypes {
diff --git a/app/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java b/app/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java
index 38490cb4e..2fd3efe83 100644
--- a/app/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java
+++ b/app/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java
@@ -8,6 +8,8 @@ import android.support.v7.app.*;
import android.view.*;
import android.widget.*;
import com.google.gson.*;
+import com.kdt.filerapi.*;
+import java.io.*;
import net.kdt.pojavlaunch.value.customcontrols.*;
public class CustomControlsActivity extends AppCompatActivity
@@ -39,6 +41,9 @@ public class CustomControlsActivity extends AppCompatActivity
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
+ case R.id.menu_ctrl_load:
+ actionLoad();
+ break;
case R.id.menu_ctrl_add:
ControlButton ctrlBtn = new ControlButton();
ctrlBtn.name = "New";
@@ -120,4 +125,25 @@ public class CustomControlsActivity extends AppCompatActivity
dialog.show();
}
+
+ private void actionLoad() {
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setTitle("Select OptiFine jar file");
+ builder.setPositiveButton(android.R.string.cancel, null);
+
+ final AlertDialog dialog = builder.create();
+ FileListView flv = new FileListView(this);
+ flv.setFileSelectedListener(new FileSelectedListener(){
+
+ @Override
+ public void onFileSelected(File file, String path, String name) {
+ if (name.endsWith(".json")) {
+ // doInstallOptiFine(file);
+ dialog.dismiss();
+ }
+ }
+ });
+ dialog.setView(flv);
+ dialog.show();
+ }
}
diff --git a/app/src/main/java/net/kdt/pojavlaunch/MCLauncherActivity.java b/app/src/main/java/net/kdt/pojavlaunch/MCLauncherActivity.java
index 23faef940..806b9f918 100644
--- a/app/src/main/java/net/kdt/pojavlaunch/MCLauncherActivity.java
+++ b/app/src/main/java/net/kdt/pojavlaunch/MCLauncherActivity.java
@@ -843,7 +843,9 @@ public class MCLauncherActivity extends AppCompatActivity
checkUpdate();
} break;
case 3:{ // Custom controls
- startActivity(new Intent(MCLauncherActivity.this, CustomControlsActivity.class));
+ if (Tools.enableDevFeatures) {
+ startActivity(new Intent(MCLauncherActivity.this, CustomControlsActivity.class));
+ }
} break;
case 4:{ // Settings
startActivity(new Intent(MCLauncherActivity.this, PojavPreferenceActivity.class));
@@ -919,7 +921,7 @@ public class MCLauncherActivity extends AppCompatActivity
public void openSelectMod()
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle("Select a mod to add");
+ builder.setTitle(R.string.alerttitle_installmod);
builder.setPositiveButton(android.R.string.cancel, null);
AlertDialog dialog = builder.create();
@@ -931,7 +933,7 @@ public class MCLauncherActivity extends AppCompatActivity
private void installOptiFine() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle("Select OptiFine jar file");
+ builder.setTitle(R.string.alerttitle_installoptifine);
builder.setPositiveButton(android.R.string.cancel, null);
final AlertDialog dialog = builder.create();
diff --git a/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java b/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java
index f946a96f5..ba0c01728 100644
--- a/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java
+++ b/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java
@@ -91,9 +91,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
private LinearLayout touchPad;
private ImageView mousePointer;
//private EditText hiddenEditor;
- private ViewGroup overlayView;
- private Drawable secondaryButtonColorBackground;
- private Drawable secondaryButtonDefaultBackground;
+ // private ViewGroup overlayView;
private MCProfile.Builder mProfile;
private DrawerLayout drawerLayout;
@@ -116,6 +114,8 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
private View.OnTouchListener glTouchListener;
+ private Button[] controlButtons;
+
/*
private LinearLayout contentCanvas;
private AWTSurfaceView contentCanvasView;
@@ -208,7 +208,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
- case R.id.nav_forceclose: forceCloseSure();
+ case R.id.nav_forceclose: dialogForceClose();
break;
case R.id.nav_viewlog: openLogOutput();
break;
@@ -239,10 +239,15 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
this.zoomButton = findButton(R.id.control_zoom);
this.listPlayersButton = findButton(R.id.control_listplayers);
this.toggleControlButton = findButton(R.id.control_togglecontrol);
- this.overlayView = (ViewGroup) findViewById(R.id.main_control_overlay);
- this.secondaryButtonDefaultBackground = this.secondaryButton.getBackground();
- this.secondaryButtonColorBackground = new ColorDrawable(-65536 /* color ??? */);
-
+ this.controlButtons = new Button[]{
+ upButton, downButton, leftButton, rightButton,
+ jumpButton, primaryButton, secondaryButton,
+ debugButton, shiftButton, keyboardButton,
+ inventoryButton, talkButton, thirdPersonButton,
+ listPlayersButton
+ };
+ // this.overlayView = (ViewGroup) findViewById(R.id.main_control_overlay);
+
//this.hiddenEditor = findViewById(R.id.hiddenTextbox);
// Mouse pointer part
@@ -288,13 +293,9 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
specialButtons[1].specialButtonListener = new View.OnClickListener(){
@Override
- public void onClick(View p1)
+ public void onClick(View view)
{
- switch(overlayView.getVisibility()){
- case View.VISIBLE: overlayView.setVisibility(View.GONE);
- break;
- case View.GONE: overlayView.setVisibility(View.VISIBLE);
- }
+ MainActivity.this.onClick(toggleControlButton);
}
};
@@ -458,6 +459,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
if (!rightOverride) {
AndroidDisplay.mouseLeft = true;
}
+
if (AndroidDisplay.grab) {
AndroidDisplay.putMouseEventWithCoords(rightOverride ? (byte) 1 : (byte) 0, (byte) 1, x, y, 0, System.nanoTime());
initialX = x;
@@ -473,7 +475,8 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
AndroidDisplay.mouseX = x;
AndroidDisplay.mouseY = y;
- AndroidDisplay.putMouseEventWithCoords(rightOverride ? (byte) 1 : (byte) 0, (byte) 0, x, y, 0, System.nanoTime());
+ // TODO uncomment after fix wrong trigger
+ // AndroidDisplay.putMouseEventWithCoords(rightOverride ? (byte) 1 : (byte) 0, (byte) 0, x, y, 0, System.nanoTime());
if (!rightOverride) {
AndroidDisplay.mouseLeft = false;
}
@@ -509,11 +512,9 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
break;
}
}
-
- // System.out.println("Post touch, isTouchInHotbar=" + Boolean.toString(isTouchInHotbar) + ", action=" + MotionEvent.actionToString(e.getActionMasked()));
return true;
- // If onClick fail with false, change back to true
+ // return !AndroidDisplay.grab;
}
};
@@ -613,7 +614,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
glSurfaceView.setOnHoverListener(new View.OnHoverListener(){
@Override
public boolean onHover(View p1, MotionEvent p2) {
- if (!AndroidDisplay.grab) {
+ if (!AndroidDisplay.grab && isResumed()) {
return glTouchListener.onTouch(p1, p2);
}
return true;
@@ -749,11 +750,19 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
public void onClick(View view) {
switch (view.getId()) {
case R.id.control_togglecontrol: {
+ /*
switch(overlayView.getVisibility()){
case View.VISIBLE: overlayView.setVisibility(View.GONE);
break;
case View.GONE: overlayView.setVisibility(View.VISIBLE);
}
+ */
+
+ for (Button button : controlButtons) {
+ button.setVisibility(button.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
+ }
+
+ zoomButton.setVisibility((zoomButton.getVisibility() == View.GONE && mVersionInfo.optifineLib != null) ? View.VISIBLE : View.GONE);
}
}
}
@@ -785,6 +794,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
if (AndroidDisplay.grab) {
sendMouseButton(1, isDown);
} else {
+ AndroidDisplay.putMouseEventWithCoords(/* right mouse */ (byte) 1, ((byte) (isDown ? 1 : 0)), AndroidDisplay.mouseX, AndroidDisplay.mouseY, 0, System.nanoTime());
setRightOverride(isDown);
} break;
case R.id.control_debug: sendKeyPress(Keyboard.KEY_F3, isDown); break;
@@ -1152,7 +1162,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
((Button) view).setText(isVis ? R.string.control_mouseoff: R.string.control_mouseon);
}
- public void forceCloseSure()
+ public void dialogForceClose()
{
new AlertDialog.Builder(this)
.setMessage(R.string.mcn_exit_confirm)
@@ -1208,7 +1218,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
private void setRightOverride(boolean val) {
this.rightOverride = val;
- this.secondaryButton.setBackgroundDrawable(this.rightOverride ? this.secondaryButtonColorBackground : this.secondaryButtonDefaultBackground);
+ // this.secondaryButton.setBackgroundDrawable(this.rightOverride ? this.secondaryButtonColorBackground : this.secondaryButtonDefaultBackground);
}
public void sendKeyPress(int keyCode, boolean status) {
diff --git a/app/src/main/java/net/kdt/pojavlaunch/Tools.java b/app/src/main/java/net/kdt/pojavlaunch/Tools.java
index 0f665f5ac..a06cc787c 100644
--- a/app/src/main/java/net/kdt/pojavlaunch/Tools.java
+++ b/app/src/main/java/net/kdt/pojavlaunch/Tools.java
@@ -27,7 +27,7 @@ import java.awt.datatransfer.*;
public final class Tools
{
- public static boolean enableDevFeatures = true;
+ public static boolean enableDevFeatures = BuildConfig.DEBUG;
public static String APP_NAME = "null";
public static String MAIN_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/games/minecraft";
diff --git a/app/src/main/res/layout/main.xml b/app/src/main/res/layout/main.xml
index 3f607bbfb..a1ec0b1a4 100644
--- a/app/src/main/res/layout/main.xml
+++ b/app/src/main/res/layout/main.xml
@@ -42,12 +42,193 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+