From 18f8b04ec3fe74207b29554857aa4fe995bf1c66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D0=BB=D0=BE=D1=86=D0=BA=D0=B8=D0=B9=20=D0=90?= =?UTF-8?q?=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=A1=D0=B5=D1=80=D0=B3=D0=B5?= =?UTF-8?q?=D0=B5=D0=B2=D0=B8=D1=87?= Date: Mon, 10 Jun 2024 00:14:54 +0300 Subject: [PATCH] fix: handle case if user has no main photo --- .../ru/hse/goodtrip/ui/authentication/AuthViewModel.java | 4 +--- .../ui/profile/followers/AddFollowingViewModel.java | 6 +++++- .../goodtrip/ui/profile/followers/FollowingViewModel.java | 6 +++++- .../ui/profile/followers/ProfileFollowingViewModel.java | 6 +++++- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/ru/hse/goodtrip/ui/authentication/AuthViewModel.java b/app/src/main/java/ru/hse/goodtrip/ui/authentication/AuthViewModel.java index 9b3c00c..5b5534a 100644 --- a/app/src/main/java/ru/hse/goodtrip/ui/authentication/AuthViewModel.java +++ b/app/src/main/java/ru/hse/goodtrip/ui/authentication/AuthViewModel.java @@ -23,7 +23,6 @@ import java.nio.charset.StandardCharsets; import java.util.concurrent.CompletableFuture; import lombok.Getter; -import org.mindrot.jbcrypt.BCrypt; import ru.hse.goodtrip.MainActivity; import ru.hse.goodtrip.R; import ru.hse.goodtrip.data.TripRepository; @@ -52,8 +51,7 @@ public class AuthViewModel extends ViewModel { */ public void login(String username, String password) { - String hashedPassword = BCrypt.hashpw(password, BCrypt.gensalt()); - + String hashedPassword = String.valueOf(sha256().hashString(password, StandardCharsets.UTF_8)); CompletableFuture> result = usersRepository.login(username, hashedPassword); runExecutorToWaitResult(result, diff --git a/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/AddFollowingViewModel.java b/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/AddFollowingViewModel.java index 2c37c55..0c7b992 100644 --- a/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/AddFollowingViewModel.java +++ b/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/AddFollowingViewModel.java @@ -29,9 +29,13 @@ public void findUser(String handleToFind, Consumer workAfter) { ru.hse.goodtrip.network.social.entities.User networkUser = ((Result.Success) result).getData(); try { + URL linkToPhoto = null; + if (networkUser.getImageLink() != null) { + linkToPhoto = new URL(networkUser.getImageLink()); + } return new User(networkUser.getId(), networkUser.getHandle(), networkUser.getName() + " " + networkUser.getSurname(), - new URL(networkUser.getImageLink()), ""); + linkToPhoto, ""); } catch (MalformedURLException e) { Log.d(getClass().getSimpleName(), Objects.requireNonNull(e.getLocalizedMessage())); diff --git a/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/FollowingViewModel.java b/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/FollowingViewModel.java index 90aef20..68f6975 100644 --- a/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/FollowingViewModel.java +++ b/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/FollowingViewModel.java @@ -45,9 +45,13 @@ private void updateUsers(Result { try { + URL linkToPhoto = null; + if (networkUser.getImageLink() != null) { + linkToPhoto = new URL(networkUser.getImageLink()); + } return new User(networkUser.getId(), networkUser.getHandle(), networkUser.getName() + " " + networkUser.getSurname(), - new URL(networkUser.getImageLink()), ""); + linkToPhoto, ""); } catch (MalformedURLException e) { Log.d(this.getClass().getSimpleName(), Objects.requireNonNull(e.getLocalizedMessage())); diff --git a/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/ProfileFollowingViewModel.java b/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/ProfileFollowingViewModel.java index d63231d..b1fbf90 100644 --- a/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/ProfileFollowingViewModel.java +++ b/app/src/main/java/ru/hse/goodtrip/ui/profile/followers/ProfileFollowingViewModel.java @@ -55,9 +55,13 @@ private static ArrayList getResult( Success> newUsers) { return newUsers.getData().stream().map(networkUser -> { try { + URL linkToPhoto = null; + if (networkUser.getImageLink() != null) { + linkToPhoto = new URL(networkUser.getImageLink()); + } return new User(networkUser.getId(), networkUser.getHandle(), networkUser.getName() + " " + networkUser.getSurname(), - new URL(networkUser.getImageLink()), ""); + linkToPhoto, ""); } catch (MalformedURLException e) { Log.e(ProfileFollowingViewModel.class.getSimpleName(), Objects.requireNonNull(e.getLocalizedMessage()));