From 0a60407853ff1fd51a0f72b48f52a50569a9703a Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Wed, 15 Apr 2020 06:48:30 +0700 Subject: [PATCH] Preview11b3 --- app/build.gradle | 4 +- .../pojavlaunch/CustomControlsActivity.java | 26 +++ .../kdt/pojavlaunch/MCLauncherActivity.java | 8 +- .../net/kdt/pojavlaunch/MainActivity.java | 52 +++-- .../main/java/net/kdt/pojavlaunch/Tools.java | 2 +- app/src/main/res/layout/main.xml | 193 +++++++++++++++- app/src/main/res/layout/overlay.xml | 206 ------------------ app/src/main/res/menu/menu_customctrl.xml | 6 + app/src/main/res/values/strings.xml | 6 + 9 files changed, 264 insertions(+), 239 deletions(-) delete mode 100644 app/src/main/res/layout/overlay.xml 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 @@ - + +