[WIP] Ingame custom controls

This commit is contained in:
Duy Tran Khanh 2021-02-24 19:49:25 +07:00
parent aa426268ee
commit 3911e8ef11
4 changed files with 21 additions and 3 deletions

View File

@ -17,6 +17,7 @@ import java.lang.reflect.*;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import java.util.*; import java.util.*;
import net.kdt.pojavlaunch.customcontrols.*;
import net.kdt.pojavlaunch.prefs.*; import net.kdt.pojavlaunch.prefs.*;
import net.kdt.pojavlaunch.utils.*; import net.kdt.pojavlaunch.utils.*;
import net.kdt.pojavlaunch.value.*; import net.kdt.pojavlaunch.value.*;
@ -986,9 +987,12 @@ public class BaseMainActivity extends LoggableActivity {
} }
private void openCustomControls() { private void openCustomControls() {
if (this instanceof MainActivity) {
((MainActivity) this).mControlLayout.loadLayout((CustomControls) null);
}
Intent intent = new Intent(this, CustomControlsActivity.class); Intent intent = new Intent(this, CustomControlsActivity.class);
intent.putExtra("fromMainActivity", true); intent.putExtra("fromMainActivity", true);
startActivity(intent); startActivityForResult(intent, 1);
} }
private void openLogOutput() { private void openLogOutput() {

View File

@ -28,6 +28,7 @@ public class CustomControlsActivity extends BaseActivity
private SharedPreferences mPref; private SharedPreferences mPref;
public boolean isModified = false; public boolean isModified = false;
public boolean isFromMainActivity = false;
private String selectedName = "new_control"; private String selectedName = "new_control";
@Override @Override
@ -83,6 +84,7 @@ public class CustomControlsActivity extends BaseActivity
@Override @Override
public void onBackPressed() { public void onBackPressed() {
if (!isModified) { if (!isModified) {
setResult(Activity.RESULT_OK, new Intent());
super.onBackPressed(); super.onBackPressed();
return; return;
} }
@ -142,6 +144,7 @@ public class CustomControlsActivity extends BaseActivity
builder.setNeutralButton(R.string.mcn_exit_call, new AlertDialog.OnClickListener(){ builder.setNeutralButton(R.string.mcn_exit_call, new AlertDialog.OnClickListener(){
@Override @Override
public void onClick(DialogInterface p1, int p2) { public void onClick(DialogInterface p1, int p2) {
setResult(Activity.RESULT_OK, new Intent());
CustomControlsActivity.super.onBackPressed(); CustomControlsActivity.super.onBackPressed();
} }
}); });

View File

@ -15,7 +15,7 @@ import java.io.*;
import static net.kdt.pojavlaunch.prefs.LauncherPreferences.DEFAULT_PREF; import static net.kdt.pojavlaunch.prefs.LauncherPreferences.DEFAULT_PREF;
public class MainActivity extends BaseMainActivity { public class MainActivity extends BaseMainActivity {
private ControlLayout mControlLayout; public ControlLayout mControlLayout;
private View.OnClickListener mClickListener; private View.OnClickListener mClickListener;
private View.OnTouchListener mTouchListener; private View.OnTouchListener mTouchListener;
@ -155,4 +155,15 @@ public class MainActivity extends BaseMainActivity {
// toggleGui(null); // toggleGui(null);
mControlLayout.toggleControlVisible(); mControlLayout.toggleControlVisible();
} }
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
// Reload PREF_DEFAULTCTRL_PATH
LauncherPreferences.loadPreferences();
mControlLayout.loadLayout(LauncherPreferences.PREF_DEFAULTCTRL_PATH);
}
}
} }

View File

@ -17,5 +17,5 @@
android:title="@string/mcl_setting_title_mousespeed" /> android:title="@string/mcl_setting_title_mousespeed" />
<item <item
android:id="@+id/nav_customctrl" android:id="@+id/nav_customctrl"
android:title="@string/mcl_setting_title_mousespeed" /> android:title="@string/mcl_option_customcontrol" />
</menu> </menu>