diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java index 2b5cd418f..2c7fd67be 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java @@ -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() { diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java index 3097f06db..f9410e75b 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java @@ -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(); } }); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java index 501553c8f..c7bf7e5cd 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java @@ -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); + } + } } diff --git a/app_pojavlauncher/src/main/res/menu/menu_runopt.xml b/app_pojavlauncher/src/main/res/menu/menu_runopt.xml index 3642c6eff..7530b7ff9 100644 --- a/app_pojavlauncher/src/main/res/menu/menu_runopt.xml +++ b/app_pojavlauncher/src/main/res/menu/menu_runopt.xml @@ -17,5 +17,5 @@ android:title="@string/mcl_setting_title_mousespeed" /> + android:title="@string/mcl_option_customcontrol" />