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" applicationId "net.kdt.pojavlaunch"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 26 targetSdkVersion 26
versionCode 156233 versionCode 156234
versionName "2.4.2_preview11b2_6395b_20200414" versionName "2.4.2_preview11b3_6396b_20200415"
} }
buildTypes { buildTypes {

View File

@ -8,6 +8,8 @@ import android.support.v7.app.*;
import android.view.*; import android.view.*;
import android.widget.*; import android.widget.*;
import com.google.gson.*; import com.google.gson.*;
import com.kdt.filerapi.*;
import java.io.*;
import net.kdt.pojavlaunch.value.customcontrols.*; import net.kdt.pojavlaunch.value.customcontrols.*;
public class CustomControlsActivity extends AppCompatActivity public class CustomControlsActivity extends AppCompatActivity
@ -39,6 +41,9 @@ public class CustomControlsActivity extends AppCompatActivity
@Override @Override
public boolean onNavigationItemSelected(MenuItem menuItem) { public boolean onNavigationItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) { switch (menuItem.getItemId()) {
case R.id.menu_ctrl_load:
actionLoad();
break;
case R.id.menu_ctrl_add: case R.id.menu_ctrl_add:
ControlButton ctrlBtn = new ControlButton(); ControlButton ctrlBtn = new ControlButton();
ctrlBtn.name = "New"; ctrlBtn.name = "New";
@ -120,4 +125,25 @@ public class CustomControlsActivity extends AppCompatActivity
dialog.show(); 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(); checkUpdate();
} break; } break;
case 3:{ // Custom controls case 3:{ // Custom controls
startActivity(new Intent(MCLauncherActivity.this, CustomControlsActivity.class)); if (Tools.enableDevFeatures) {
startActivity(new Intent(MCLauncherActivity.this, CustomControlsActivity.class));
}
} break; } break;
case 4:{ // Settings case 4:{ // Settings
startActivity(new Intent(MCLauncherActivity.this, PojavPreferenceActivity.class)); startActivity(new Intent(MCLauncherActivity.this, PojavPreferenceActivity.class));
@ -919,7 +921,7 @@ public class MCLauncherActivity extends AppCompatActivity
public void openSelectMod() public void openSelectMod()
{ {
AlertDialog.Builder builder = new AlertDialog.Builder(this); 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); builder.setPositiveButton(android.R.string.cancel, null);
AlertDialog dialog = builder.create(); AlertDialog dialog = builder.create();
@ -931,7 +933,7 @@ public class MCLauncherActivity extends AppCompatActivity
private void installOptiFine() { private void installOptiFine() {
AlertDialog.Builder builder = new AlertDialog.Builder(this); 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); builder.setPositiveButton(android.R.string.cancel, null);
final AlertDialog dialog = builder.create(); final AlertDialog dialog = builder.create();

View File

@ -91,9 +91,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
private LinearLayout touchPad; private LinearLayout touchPad;
private ImageView mousePointer; private ImageView mousePointer;
//private EditText hiddenEditor; //private EditText hiddenEditor;
private ViewGroup overlayView; // private ViewGroup overlayView;
private Drawable secondaryButtonColorBackground;
private Drawable secondaryButtonDefaultBackground;
private MCProfile.Builder mProfile; private MCProfile.Builder mProfile;
private DrawerLayout drawerLayout; private DrawerLayout drawerLayout;
@ -116,6 +114,8 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
private View.OnTouchListener glTouchListener; private View.OnTouchListener glTouchListener;
private Button[] controlButtons;
/* /*
private LinearLayout contentCanvas; private LinearLayout contentCanvas;
private AWTSurfaceView contentCanvasView; private AWTSurfaceView contentCanvasView;
@ -208,7 +208,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
@Override @Override
public boolean onNavigationItemSelected(MenuItem menuItem) { public boolean onNavigationItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) { switch (menuItem.getItemId()) {
case R.id.nav_forceclose: forceCloseSure(); case R.id.nav_forceclose: dialogForceClose();
break; break;
case R.id.nav_viewlog: openLogOutput(); case R.id.nav_viewlog: openLogOutput();
break; break;
@ -239,10 +239,15 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
this.zoomButton = findButton(R.id.control_zoom); this.zoomButton = findButton(R.id.control_zoom);
this.listPlayersButton = findButton(R.id.control_listplayers); this.listPlayersButton = findButton(R.id.control_listplayers);
this.toggleControlButton = findButton(R.id.control_togglecontrol); this.toggleControlButton = findButton(R.id.control_togglecontrol);
this.overlayView = (ViewGroup) findViewById(R.id.main_control_overlay); this.controlButtons = new Button[]{
this.secondaryButtonDefaultBackground = this.secondaryButton.getBackground(); upButton, downButton, leftButton, rightButton,
this.secondaryButtonColorBackground = new ColorDrawable(-65536 /* color ??? */); 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); //this.hiddenEditor = findViewById(R.id.hiddenTextbox);
// Mouse pointer part // Mouse pointer part
@ -288,13 +293,9 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
specialButtons[1].specialButtonListener = new View.OnClickListener(){ specialButtons[1].specialButtonListener = new View.OnClickListener(){
@Override @Override
public void onClick(View p1) public void onClick(View view)
{ {
switch(overlayView.getVisibility()){ MainActivity.this.onClick(toggleControlButton);
case View.VISIBLE: overlayView.setVisibility(View.GONE);
break;
case View.GONE: overlayView.setVisibility(View.VISIBLE);
}
} }
}; };
@ -458,6 +459,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
if (!rightOverride) { if (!rightOverride) {
AndroidDisplay.mouseLeft = true; AndroidDisplay.mouseLeft = true;
} }
if (AndroidDisplay.grab) { if (AndroidDisplay.grab) {
AndroidDisplay.putMouseEventWithCoords(rightOverride ? (byte) 1 : (byte) 0, (byte) 1, x, y, 0, System.nanoTime()); AndroidDisplay.putMouseEventWithCoords(rightOverride ? (byte) 1 : (byte) 0, (byte) 1, x, y, 0, System.nanoTime());
initialX = x; initialX = x;
@ -473,7 +475,8 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
AndroidDisplay.mouseX = x; AndroidDisplay.mouseX = x;
AndroidDisplay.mouseY = y; 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) { if (!rightOverride) {
AndroidDisplay.mouseLeft = false; AndroidDisplay.mouseLeft = false;
} }
@ -509,11 +512,9 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
break; break;
} }
} }
// System.out.println("Post touch, isTouchInHotbar=" + Boolean.toString(isTouchInHotbar) + ", action=" + MotionEvent.actionToString(e.getActionMasked()));
return true; 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(){ glSurfaceView.setOnHoverListener(new View.OnHoverListener(){
@Override @Override
public boolean onHover(View p1, MotionEvent p2) { public boolean onHover(View p1, MotionEvent p2) {
if (!AndroidDisplay.grab) { if (!AndroidDisplay.grab && isResumed()) {
return glTouchListener.onTouch(p1, p2); return glTouchListener.onTouch(p1, p2);
} }
return true; return true;
@ -749,11 +750,19 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
public void onClick(View view) { public void onClick(View view) {
switch (view.getId()) { switch (view.getId()) {
case R.id.control_togglecontrol: { case R.id.control_togglecontrol: {
/*
switch(overlayView.getVisibility()){ switch(overlayView.getVisibility()){
case View.VISIBLE: overlayView.setVisibility(View.GONE); case View.VISIBLE: overlayView.setVisibility(View.GONE);
break; break;
case View.GONE: overlayView.setVisibility(View.VISIBLE); 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) { if (AndroidDisplay.grab) {
sendMouseButton(1, isDown); sendMouseButton(1, isDown);
} else { } else {
AndroidDisplay.putMouseEventWithCoords(/* right mouse */ (byte) 1, ((byte) (isDown ? 1 : 0)), AndroidDisplay.mouseX, AndroidDisplay.mouseY, 0, System.nanoTime());
setRightOverride(isDown); setRightOverride(isDown);
} break; } break;
case R.id.control_debug: sendKeyPress(Keyboard.KEY_F3, 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); ((Button) view).setText(isVis ? R.string.control_mouseoff: R.string.control_mouseon);
} }
public void forceCloseSure() public void dialogForceClose()
{ {
new AlertDialog.Builder(this) new AlertDialog.Builder(this)
.setMessage(R.string.mcn_exit_confirm) .setMessage(R.string.mcn_exit_confirm)
@ -1208,7 +1218,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
private void setRightOverride(boolean val) { private void setRightOverride(boolean val) {
this.rightOverride = 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) { public void sendKeyPress(int keyCode, boolean status) {

View File

@ -27,7 +27,7 @@ import java.awt.datatransfer.*;
public final class Tools public final class Tools
{ {
public static boolean enableDevFeatures = true; public static boolean enableDevFeatures = BuildConfig.DEBUG;
public static String APP_NAME = "null"; public static String APP_NAME = "null";
public static String MAIN_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/games/minecraft"; public static String MAIN_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/games/minecraft";

View File

@ -42,12 +42,193 @@
</LinearLayout> </LinearLayout>
<include
android:id="@+id/main_control_overlay" <Button
android:layout_width="match_parent" android:id="@+id/control_debug"
android:layout_height="fill_parent" android:background="@drawable/control_button"
android:alpha="0.7" android:layout_width="wrap_content"
layout="@layout/overlay"/> 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 <Button
android:background="@drawable/control_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"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_ctrl_load"
android:title="@string/global_load"/>
<item <item
android:id="@+id/menu_ctrl_add" android:id="@+id/menu_ctrl_add"
android:title="@string/global_add"/> android:title="@string/global_add"/>
<item <item
android:id="@+id/menu_ctrl_edit" android:id="@+id/menu_ctrl_edit"
android:title="@string/global_edit"/> android:title="@string/global_edit"/>
<item <item
android:id="@+id/menu_ctrl_remove" android:id="@+id/menu_ctrl_remove"
android:title="@string/global_remove"/> android:title="@string/global_remove"/>

View File

@ -44,6 +44,11 @@
<string name="warning_action_exit">Exit</string> <string name="warning_action_exit">Exit</string>
<string name="warning_remove_account">This account will be removed!</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 --> <!-- Error messages -->
<string name="error_checklog">Error! Please check the log below: %s</string> <string name="error_checklog">Error! Please check the log below: %s</string>
<string name="error_title">Error</string> <string name="error_title">Error</string>
@ -96,6 +101,7 @@
<!-- Global strings --> <!-- Global strings -->
<string name="global_add">Add</string> <string name="global_add">Add</string>
<string name="global_edit">Edit</string> <string name="global_edit">Edit</string>
<string name="global_load">Load</string>
<string name="global_name">Name</string> <string name="global_name">Name</string>
<string name="global_remove">Remove</string> <string name="global_remove">Remove</string>
<string name="global_save">Save</string> <string name="global_save">Save</string>