Android Studio очередность выполнения методов

Взял LoginActivity которая стандартно есть в Android. Есть метод, в котором происходит проверка авторизации пользователя. то Есть ,я передаю логин и пароль, в метод checkAuth, который по сокету проверяет совпадение в базе данных и возвращает значение gui для конкретного пользователя. Но у меня каждый раз срабатывает else, т.к. проверка if(gui.equals("admin")) происходит еще до того, как от сервера пришел ответ. Как такое может быть? разве не должна программа дождаться результата gui, прежде чем идти дальше?

 public Result<LoggedInUser> login(String username, String password) {

 String gui = checkAuth(username, password);


 if(gui.equals("admin")) {
try {
    // TODO: handle loggedInUser authentication


    LoggedInUser fakeUser =
            new LoggedInUser(
                    java.util.UUID.randomUUID().toString(),
                    "Jane Doe");

    return new Result.Success<>(fakeUser);

} catch (Exception e) {
    return new Result.Error(new IOException("Error logging in", e));
}
 } else {
        return new Result.Error(new IOException("Error logging in"));
    }
}

Ответы (0 шт):