Preview11b3

This commit is contained in:
khanhduytran0 2020-04-15 06:48:30 +07:00
parent 08f5897cc1
commit 0a60407853
9 changed files with 264 additions and 239 deletions

View File

@ -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 {

View File

@ -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();
}
}

View File

@ -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();

View File

@ -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) {

View File

@ -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";

View File

@ -42,12 +42,193 @@
</LinearLayout>
<include
android:id="@+id/main_control_overlay"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:alpha="0.7"
layout="@layout/overlay"/>
<Button
android:id="@+id/control_debug"
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginLeft="2.0dip"
android:layout_marginTop="2.0dip"
android:text="@string/control_debug"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginRight="2dp"/>
<Button
android:id="@+id/control_talk"
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="2.0dip"
android:text="@string/control_chat"
android:layout_toRightOf="@id/control_debug"
android:layout_alignParentTop="true"/>
<Button
android:id="@+id/control_keyboard"
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="2.0dip"
android:text="@string/control_keyboard"
android:layout_toRightOf="@id/control_talk"
android:layout_alignParentTop="true"/>
<Button
android:id="@+id/control_thirdperson"
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginLeft="2.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="2.0dip"
android:text="@string/control_thirdperson"
android:layout_below="@id/control_debug"
android:layout_alignParentLeft="true"/>
<Button
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="2.0dip"
android:text="@string/control_zoom"
android:layout_below="@id/control_talk"
android:layout_toRightOf="@id/control_thirdperson"
android:id="@+id/control_zoom"/>
<Button
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="2.0dip"
android:text="@string/control_listplayers"
android:layout_toRightOf="@id/control_keyboard"
android:id="@+id/control_listplayers"/>
<Button
android:textSize="32.0sp"
android:id="@+id/control_down"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="68.0dip"
android:layout_marginBottom="14.0dip"
android:text="@string/control_down"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="32.0sp"
android:id="@+id/control_up"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="68.0dip"
android:layout_marginBottom="122.0dip"
android:text="@string/control_up"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="32.0sp"
android:id="@+id/control_left"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="14.0dip"
android:layout_marginBottom="68.0dip"
android:text="@string/control_left"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="32.0sp"
android:id="@+id/control_right"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="122.0dip"
android:layout_marginBottom="68.0dip"
android:text="@string/control_right"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:id="@+id/control_jump"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginRight="68.0dip"
android:layout_marginBottom="68.0dip"
android:text="@string/control_jump"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"/>
<Button
android:textSize="16.0sp"
android:id="@+id/control_primary"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="14.0dip"
android:layout_marginBottom="122.0dip"
android:text="@string/control_primary"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="16.0sp"
android:id="@+id/control_secondary"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="122.0dip"
android:layout_marginBottom="122.0dip"
android:text="@string/control_secondary"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="20.0sp"
android:id="@+id/control_shift"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="68.0dip"
android:layout_marginBottom="68.0dip"
android:text="@string/control_shift"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="16.0sp"
android:id="@+id/control_inventory"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="122.0dip"
android:layout_marginBottom="14.0dip"
android:text="@string/control_inventory"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:layout_height="30dp"
android:layout_width="wrap_content"
android:text="@string/control_mouseoff"
android:layout_below="@id/control_debug"
android:layout_alignParentRight="true"
android:background="@drawable/control_button"
android:layout_marginRight="2dp"
android:layout_marginTop="2dp"
android:onClick="toggleMouse"
android:layout_alignParentTop="true"
android:id="@+id/control_mouse_toggle"/>
<Button
android:background="@drawable/control_button"

View File

@ -1,206 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/control_debug"
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginLeft="2.0dip"
android:layout_marginTop="2.0dip"
android:text="@string/control_debug"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginRight="2dp"/>
<Button
android:id="@+id/control_talk"
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="2.0dip"
android:text="@string/control_chat"
android:layout_toRightOf="@id/control_debug"
android:layout_alignParentTop="true"/>
<Button
android:id="@+id/control_keyboard"
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="2.0dip"
android:text="@string/control_keyboard"
android:layout_toRightOf="@id/control_talk"
android:layout_alignParentTop="true"/>
<Button
android:id="@+id/control_thirdperson"
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginLeft="2.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="2.0dip"
android:text="@string/control_thirdperson"
android:layout_below="@id/control_debug"
android:layout_alignParentLeft="true"/>
<Button
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="2.0dip"
android:text="@string/control_zoom"
android:layout_below="@id/control_talk"
android:layout_toRightOf="@id/control_thirdperson"
android:id="@+id/control_zoom"/>
<Button
android:background="@drawable/control_button"
android:layout_width="wrap_content"
android:layout_height="30.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="2.0dip"
android:text="@string/control_listplayers"
android:layout_toRightOf="@id/control_keyboard"
android:id="@+id/control_listplayers"/>
<Button
android:textSize="32.0sp"
android:id="@+id/control_down"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="68.0dip"
android:layout_marginBottom="14.0dip"
android:text="@string/control_down"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="32.0sp"
android:id="@+id/control_up"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="68.0dip"
android:layout_marginBottom="122.0dip"
android:text="@string/control_up"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="32.0sp"
android:id="@+id/control_left"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="14.0dip"
android:layout_marginBottom="68.0dip"
android:text="@string/control_left"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="32.0sp"
android:id="@+id/control_right"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="122.0dip"
android:layout_marginBottom="68.0dip"
android:text="@string/control_right"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:id="@+id/control_jump"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginRight="68.0dip"
android:layout_marginBottom="68.0dip"
android:text="@string/control_jump"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"/>
<Button
android:textSize="16.0sp"
android:id="@+id/control_primary"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="14.0dip"
android:layout_marginBottom="122.0dip"
android:text="@string/control_primary"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="16.0sp"
android:id="@+id/control_secondary"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="122.0dip"
android:layout_marginBottom="122.0dip"
android:text="@string/control_secondary"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="20.0sp"
android:id="@+id/control_shift"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="68.0dip"
android:layout_marginBottom="68.0dip"
android:text="@string/control_shift"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:textSize="16.0sp"
android:id="@+id/control_inventory"
android:background="@drawable/control_button"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:layout_marginLeft="122.0dip"
android:layout_marginBottom="14.0dip"
android:text="@string/control_inventory"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"/>
<Button
android:layout_height="30dp"
android:layout_width="wrap_content"
android:text="@string/control_mouseoff"
android:layout_below="@id/control_debug"
android:layout_alignParentRight="true"
android:background="@drawable/control_button"
android:layout_marginRight="2dp"
android:layout_marginTop="2dp"
android:onClick="toggleMouse"
android:layout_alignParentTop="true"
android:id="@+id/control_mouse_toggle"/>
<Button
android:layout_height="30dp"
android:layout_width="wrap_content"
android:text="More"
android:layout_alignParentRight="true"
android:layout_below="@id/control_mouse_toggle"
android:background="@drawable/control_button"
android:onClick="toggleMenu"
android:layout_marginTop="2dp"
android:layout_marginRight="2dp"/>
</RelativeLayout>

View File

@ -1,10 +1,16 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_ctrl_load"
android:title="@string/global_load"/>
<item
android:id="@+id/menu_ctrl_add"
android:title="@string/global_add"/>
<item
android:id="@+id/menu_ctrl_edit"
android:title="@string/global_edit"/>
<item
android:id="@+id/menu_ctrl_remove"
android:title="@string/global_remove"/>

View File

@ -44,6 +44,11 @@
<string name="warning_action_exit">Exit</string>
<string name="warning_remove_account">This account will be removed!</string>
<!-- AlertDialog title -->
<string name="alerttitle_selectkeymap">Select a keymap json</string>
<string name="alerttitle_installmod">Select a mod to add</string>
<string name="alerttitle_installoptifine">Select OptiFine jar file</string>
<!-- Error messages -->
<string name="error_checklog">Error! Please check the log below: %s</string>
<string name="error_title">Error</string>
@ -96,6 +101,7 @@
<!-- Global strings -->
<string name="global_add">Add</string>
<string name="global_edit">Edit</string>
<string name="global_load">Load</string>
<string name="global_name">Name</string>
<string name="global_remove">Remove</string>
<string name="global_save">Save</string>