From b0ecb36120c510981ac0df161d8493c00ca064a1 Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh <40482367+khanhduytran0@users.noreply.github.com> Date: Sun, 30 May 2021 12:33:28 +0700 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20let=20an=20offline=20account=20?= =?UTF-8?q?with=20password=20login?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Users may be confusing about account, when they input Mojang account but enable offline, it may leak the email. This added a sanity check to prevent it. Later may add email detection and prevent further. --- .../kdt/pojavlaunch/PojavLoginActivity.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 81ed390fe..4f49cc295 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -646,7 +646,6 @@ public class PojavLoginActivity extends BaseActivity LinearLayout accountListLayout = accountDialog.findViewById(R.id.accountListLayout); LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE); - for (int accountIndex = 0; accountIndex < accountArr.length; accountIndex++) { String s = accountArr[accountIndex]; View child = inflater.inflate(R.layout.simple_account_list_item, null); @@ -669,6 +668,7 @@ public class PojavLoginActivity extends BaseActivity accountName.setOnClickListener(new View.OnClickListener() { final String selectedAccName = accountName.getText().toString(); + final int accountIndex_final = accountIndex; @Override public void onClick(View v) { try { @@ -702,9 +702,6 @@ public class PojavLoginActivity extends BaseActivity } }); - // Tiny trick to avoid 'const' field - final int accountIndex_final = accountIndex; - removeButton.setOnClickListener(new View.OnClickListener() { final String selectedAccName = accountName.getText().toString(); @Override @@ -742,13 +739,15 @@ public class PojavLoginActivity extends BaseActivity new File(Tools.DIR_ACCOUNT_OLD).mkdir(); String text = edit2.getText().toString(); - if(text.isEmpty()){ - edit2.setError(getResources().getString(R.string.global_error_field_empty)); - } else if(text.length() <= 2){ - edit2.setError(getResources().getString(R.string.login_error_short_username)); - } else if(new File(Tools.DIR_ACCOUNT_NEW + "/" + text + ".json").exists()){ - edit2.setError(getResources().getString(R.string.login_error_exist_username)); - } else{ + if (text.isEmpty()) { + edit2.setError(getString(R.string.global_error_field_empty)); + } else if (text.length() <= 2) { + edit2.setError(getString(R.string.login_error_short_username)); + } else if (new File(Tools.DIR_ACCOUNT_NEW + "/" + text + ".json").exists()) { + edit2.setError(getString(R.string.login_error_exist_username)); + } else if (edit3.getText().toString().isEmpty()) { + edit2.setError(getString(R.string.login_error_offline_password)); + } else { MinecraftAccount builder = new MinecraftAccount(); builder.isMicrosoft = false; builder.username = text;