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

View File

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

View File

@ -15,7 +15,7 @@ import java.io.*;
import static net.kdt.pojavlaunch.prefs.LauncherPreferences.DEFAULT_PREF;
public class MainActivity extends BaseMainActivity {
private ControlLayout mControlLayout;
public ControlLayout mControlLayout;
private View.OnClickListener mClickListener;
private View.OnTouchListener mTouchListener;
@ -155,4 +155,15 @@ public class MainActivity extends BaseMainActivity {
// toggleGui(null);
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" />
<item
android:id="@+id/nav_customctrl"
android:title="@string/mcl_setting_title_mousespeed" />
android:title="@string/mcl_option_customcontrol" />
</menu>