Don’t let an offline account with password login

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.
This commit is contained in:
Duy Tran Khanh 2021-05-30 12:33:28 +07:00 committed by GitHub
parent c4a743be4d
commit b0ecb36120
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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
@ -743,11 +740,13 @@ public class PojavLoginActivity extends BaseActivity
String text = edit2.getText().toString();
if (text.isEmpty()) {
edit2.setError(getResources().getString(R.string.global_error_field_empty));
edit2.setError(getString(R.string.global_error_field_empty));
} else if (text.length() <= 2) {
edit2.setError(getResources().getString(R.string.login_error_short_username));
edit2.setError(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));
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;