Skip to content

Refactor LoginActivity code for better readability #2690

@madhurgupta10

Description

@madhurgupta10

Summary:
Refactor LoginActivity code for better readability, for example, this can be replaced with a switch statement.

private void handleOtherResults(String result) {
        if (result.equals("NetworkFailure")) {
            // Matches NetworkFailure which is created by the doInBackground method
            showMessageAndCancelDialog(R.string.login_failed_network);
        } else if (result.toLowerCase(Locale.getDefault()).contains("nosuchuser".toLowerCase()) || 
            result.toLowerCase().contains("noname".toLowerCase())) {
            // Matches nosuchuser, nosuchusershort, noname
            showMessageAndCancelDialog(R.string.login_failed_wrong_credentials);
            emptySensitiveEditFields();
        } else if (result.toLowerCase(Locale.getDefault()).contains("wrongpassword".toLowerCase())) {
            // Matches wrongpassword, wrongpasswordempty
            showMessageAndCancelDialog(R.string.login_failed_wrong_credentials);
            emptySensitiveEditFields();
        } else if (result.toLowerCase(Locale.getDefault()).contains("throttle".toLowerCase())) {
            // Matches unknown throttle error codes
            showMessageAndCancelDialog(R.string.login_failed_throttled);
        } else if (result.toLowerCase(Locale.getDefault()).contains("userblocked".toLowerCase())) {
            // Matches login-userblocked
            showMessageAndCancelDialog(R.string.login_failed_blocked);
        } else if (result.equals("2FA")) {
            askUserForTwoFactorAuth();
        } else {
            // Occurs with unhandled login failure codes
            Timber.d("Login failed with reason: %s", result);
            showMessageAndCancelDialog(R.string.login_failed_generic);
        }
    }

also there are many elements which still uses setOnClickListener instead of @OnClick these are small changes but it will surely make the code more maintainable and readable :)

Commons app version:
latest betaDebug

Would you like to work on the issue?
Yes

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions