From 2eac8c2cba431bae1fe12c6dd1b8881b000131d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Mon, 7 Nov 2022 01:29:37 +0100 Subject: [PATCH] Move default nick out of PeerConnectionWrapper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If the nick is not known whether "Guest" or something else needs to be shown is a responsability of the UI, so now the PeerConnectionWrapper just returns an empty string and the UI shows the default guest nick if needed. Moreover, the nick stored in the PeerConnectionWrapper was not always correct, as if no nick was received it was returned as "Guest" even if the connection belonged to a user. Now "Guest" is used only for actual guests. Signed-off-by: Daniel Calviño Sánchez --- .../com/nextcloud/talk/activities/CallActivity.java | 3 +++ .../talk/adapters/ParticipantDisplayItem.java | 10 ++++++++-- .../nextcloud/talk/webrtc/PeerConnectionWrapper.java | 8 +------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java index 22f490ef5..08d051efd 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -2277,11 +2277,14 @@ public class CallActivity extends CallBaseActivity { } } + String defaultGuestNick = getResources().getString(R.string.nc_nick_guest); + ParticipantDisplayItem participantDisplayItem = new ParticipantDisplayItem(baseUrl, userId4Usage, session, connected, nick, + defaultGuestNick, mediaStream, videoStreamType, videoStreamEnabled, diff --git a/app/src/main/java/com/nextcloud/talk/adapters/ParticipantDisplayItem.java b/app/src/main/java/com/nextcloud/talk/adapters/ParticipantDisplayItem.java index 3ed18bf76..34fa963ac 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/ParticipantDisplayItem.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/ParticipantDisplayItem.java @@ -13,6 +13,7 @@ public class ParticipantDisplayItem { private String session; private boolean connected; private String nick; + private final String defaultGuestNick; private String urlForAvatar; private MediaStream mediaStream; private String streamType; @@ -20,12 +21,13 @@ public class ParticipantDisplayItem { private EglBase rootEglBase; private boolean isAudioEnabled; - public ParticipantDisplayItem(String baseUrl, String userId, String session, boolean connected, String nick, MediaStream mediaStream, String streamType, boolean streamEnabled, EglBase rootEglBase) { + public ParticipantDisplayItem(String baseUrl, String userId, String session, boolean connected, String nick, String defaultGuestNick, MediaStream mediaStream, String streamType, boolean streamEnabled, EglBase rootEglBase) { this.baseUrl = baseUrl; this.userId = userId; this.session = session; this.connected = connected; this.nick = nick; + this.defaultGuestNick = defaultGuestNick; this.mediaStream = mediaStream; this.streamType = streamType; this.streamEnabled = streamEnabled; @@ -61,6 +63,10 @@ public class ParticipantDisplayItem { } public String getNick() { + if (TextUtils.isEmpty(userId) && TextUtils.isEmpty(nick)) { + return defaultGuestNick; + } + return nick; } @@ -78,7 +84,7 @@ public class ParticipantDisplayItem { if (!TextUtils.isEmpty(userId)) { urlForAvatar = ApiUtils.getUrlForAvatar(baseUrl, userId, true); } else { - urlForAvatar = ApiUtils.getUrlForGuestAvatar(baseUrl, nick, true); + urlForAvatar = ApiUtils.getUrlForGuestAvatar(baseUrl, getNick(), true); } } diff --git a/app/src/main/java/com/nextcloud/talk/webrtc/PeerConnectionWrapper.java b/app/src/main/java/com/nextcloud/talk/webrtc/PeerConnectionWrapper.java index d55b85d24..c91c8b222 100644 --- a/app/src/main/java/com/nextcloud/talk/webrtc/PeerConnectionWrapper.java +++ b/app/src/main/java/com/nextcloud/talk/webrtc/PeerConnectionWrapper.java @@ -24,11 +24,9 @@ package com.nextcloud.talk.webrtc; import android.content.Context; -import android.text.TextUtils; import android.util.Log; import com.bluelinelabs.logansquare.LoganSquare; -import com.nextcloud.talk.R; import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.events.MediaStreamEvent; import com.nextcloud.talk.events.PeerConnectionEvent; @@ -223,11 +221,7 @@ public class PeerConnectionWrapper { } public String getNick() { - if (!TextUtils.isEmpty(nick)) { - return nick; - } else { - return Objects.requireNonNull(NextcloudTalkApplication.Companion.getSharedApplication()).getString(R.string.nc_nick_guest); - } + return nick; } private void setNick(String nick) {