From 648b346a6f12c2bea6ea79c763857dc6fcc2de3c Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Mon, 5 Oct 2020 14:14:30 +0700 Subject: [PATCH] Try to fix delete last chars while typing some texts; Little working on UI --- .../kdt/pojavlaunch/AndroidLWJGLKeycode.java | 4 +- .../java/net/kdt/pojavlaunch/JREUtils.java | 4 +- .../pojavlaunch/PojavLauncherActivity.java | 51 ++++++++++++------- .../kdt/pojavlaunch/PojavLoginActivity.java | 8 ++- 4 files changed, 41 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/net/kdt/pojavlaunch/AndroidLWJGLKeycode.java b/app/src/main/java/net/kdt/pojavlaunch/AndroidLWJGLKeycode.java index ea05c1996..eaabba5da 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/AndroidLWJGLKeycode.java +++ b/app/src/main/java/net/kdt/pojavlaunch/AndroidLWJGLKeycode.java @@ -188,14 +188,14 @@ public class AndroidLWJGLKeycode { } try { - if (/* (int) keyEvent.getDisplayLabel() != KeyEvent.KEYCODE_UNKNOWN || */ !CallbackBridge.isGrabbing()) { + if ((int) keyEvent.getDisplayLabel() != KeyEvent.KEYCODE_UNKNOWN && !CallbackBridge.isGrabbing()) { mainActivity.sendKeyPress(0, (char) keyEvent.getUnicodeChar(), keyEvent.getModifiers(), isDown); } } catch (Throwable th) { th.printStackTrace(); } - if (isBackspaceAfterChar && !CallbackBridge.isGrabbing() && i != KeyEvent.KEYCODE_DEL) { + if (isBackspaceAfterChar && (int) keyEvent.getDisplayLabel() != KeyEvent.KEYCODE_UNKNOWN && !CallbackBridge.isGrabbing() && i != KeyEvent.KEYCODE_DEL) { mainActivity.sendKeyPress(LWJGLGLFWKeycode.GLFW_KEY_BACKSPACE, keyEvent.getModifiers(), isDown); } } diff --git a/app/src/main/java/net/kdt/pojavlaunch/JREUtils.java b/app/src/main/java/net/kdt/pojavlaunch/JREUtils.java index c06d0d447..9ec91378c 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/JREUtils.java +++ b/app/src/main/java/net/kdt/pojavlaunch/JREUtils.java @@ -150,10 +150,12 @@ public class JREUtils public static native void setLdLibraryPath(String ldLibraryPath); public static native void setupBridgeWindow(Object surface); + // TODO AWT Android port public static native void setupBridgeSurfaceAWT(long surface); // BEFORE Load and execute PIE binary using dlopen and dlsym("main") - // AFTER: Execute a binary in forked process + // AFTER: [Deprecated] + @Deprecated public static native int executeBinary(String[] args); static { diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavLauncherActivity.java b/app/src/main/java/net/kdt/pojavlaunch/PojavLauncherActivity.java index a63af81e0..ca39f583f 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/PojavLauncherActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/PojavLauncherActivity.java @@ -43,7 +43,7 @@ public class PojavLauncherActivity extends AppCompatActivity private VerticalTabLayout tabLayout; private TextView tvVersion, tvUsernameView; - private Spinner versionSelector; + private Spinner accountSelector, versionSelector; private String[] availableVersions = Tools.versionList; private MCProfile.Builder profile; private String profilePath = null; @@ -115,8 +115,8 @@ public class PojavLauncherActivity extends AppCompatActivity viewPager.setAdapter(viewPageAdapter); tabLayout.setupWithViewPager(viewPager); - tvUsernameView = (TextView) findId(R.id.launcherMainUsernameView); - tvVersion = (TextView) findId(R.id.launcherMainVersionView); + tvUsernameView = (TextView) findViewById(R.id.launcherMainUsernameView); + tvVersion = (TextView) findViewById(R.id.launcherMainVersionView); try { profilePath = PojavProfile.getCurrentProfilePath(this); @@ -152,6 +152,25 @@ public class PojavLauncherActivity extends AppCompatActivity //showProfileInfo(); + final String[] accountList = new File(Tools.mpProfiles).list(); + + ArrayAdapter adapterAcc = new ArrayAdapter(this, android.R.layout.simple_spinner_item, accountList); + adapterAcc.setDropDownViewResource(android.R.layout.simple_list_item_single_choice); + accountSelector = (Spinner) findViewById(R.id.launcherMainSelectVersion); + accountSelector.setAdapter(adapterAcc); + accountSelector.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){ + + @Override + public void onItemSelected(AdapterView p1, View p2, int position, long p4) { + PojavProfile.setCurrentProfile(PojavLauncherActivity.this, accountList[position]); + } + + @Override + public void onNothingSelected(AdapterView p1) { + // TODO: Implement this method + } + }); + List versions = new ArrayList(); final File fVers = new File(Tools.versnDir); @@ -174,20 +193,20 @@ public class PojavLauncherActivity extends AppCompatActivity //availableVersions; - ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, availableVersions); - adapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice); - versionSelector = (Spinner) findId(R.id.launcherMainSelectVersion); - versionSelector.setAdapter(adapter); + ArrayAdapter adapterVer = new ArrayAdapter(this, android.R.layout.simple_spinner_item, availableVersions); + adapterVer.setDropDownViewResource(android.R.layout.simple_list_item_single_choice); + versionSelector = (Spinner) findViewById(R.id.launcherMainSelectVersion); + versionSelector.setAdapter(adapterVer); - launchProgress = (ProgressBar) findId(R.id.progressDownloadBar); - launchTextStatus = (TextView) findId(R.id.progressDownloadText); - LinearLayout exitLayout = (LinearLayout) findId(R.id.launcherMainExitbtns); + launchProgress = (ProgressBar) findViewById(R.id.progressDownloadBar); + launchTextStatus = (TextView) findViewById(R.id.progressDownloadText); + LinearLayout exitLayout = (LinearLayout) findViewById(R.id.launcherMainExitbtns); switchUsrBtn = (Button) exitLayout.getChildAt(0); logoutBtn = (Button) exitLayout.getChildAt(1); - leftView = (LinearLayout) findId(R.id.launcherMainLeftLayout); - playButton = (Button) findId(R.id.launcherMainPlayButton); - rightView = (ViewGroup) findId(R.id.launcherMainRightLayout); + leftView = (LinearLayout) findViewById(R.id.launcherMainLeftLayout); + playButton = (Button) findViewById(R.id.launcherMainPlayButton); + rightView = (ViewGroup) findViewById(R.id.launcherMainRightLayout); statusIsLaunching(false); } @@ -748,11 +767,7 @@ public class PojavLauncherActivity extends AppCompatActivity } } } - public View findId(int id) - { - return findViewById(id); - } - + public void launcherMenu(View view) { AlertDialog.Builder builder = new AlertDialog.Builder(this); diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 547525b37..3d4956090 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -552,11 +552,9 @@ public class PojavLoginActivity extends AppCompatActivity builder2.show(); } @Override - public void onFileSelected(File file, final String path, String nane, String extension) - { - try - { - if(MCProfile.load(path).isMojangAccount()){ + public void onFileSelected(File file, final String path, String nane, String extension) { + try { + if (MCProfile.load(path).isMojangAccount()){ MCProfile.updateTokens(PojavLoginActivity.this, path, new RefreshListener(){ @Override