mirror of
https://github.com/nextcloud/talk-android.git
synced 2024-11-26 23:25:20 +03:00
Fix lobby check crash, fix user related crash, fix infinite lobby progress bar
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
8fd9208b9e
commit
86974a8437
5 changed files with 23 additions and 31 deletions
1
app/gplay/release/output.json
Normal file
1
app/gplay/release/output.json
Normal file
|
@ -0,0 +1 @@
|
|||
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":109,"versionName":"7.0.0beta1","enabled":true,"outputFile":"app-gplay-release.apk","fullName":"gplayRelease","baseName":"gplay-release"},"path":"app-gplay-release.apk","properties":{}}]
|
|
@ -42,7 +42,6 @@ import android.view.MenuItem;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AbsListView;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.RelativeLayout;
|
||||
|
@ -266,18 +265,14 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||
|
||||
currentConversation = roomOverall.getOcs().getData();
|
||||
|
||||
if (oldConversation == null) {
|
||||
conversationName = currentConversation.getDisplayName();
|
||||
setTitle();
|
||||
setupMentionAutocomplete();
|
||||
}
|
||||
|
||||
checkReadOnlyState();
|
||||
if (oldConversation == null || (!oldConversation.getLobbyState().equals(currentConversation.getLobbyState()) || !oldConversation.getLobbyTimer().equals(currentConversation.getLobbyTimer()))) {
|
||||
checkLobbyState(oldConversation != null && (!oldConversation.getLobbyState().equals(currentConversation.getLobbyState())));
|
||||
}
|
||||
checkLobbyState();
|
||||
|
||||
if (oldConversation == null) {
|
||||
if (oldConversation == null || oldConversation.getRoomId() == null) {
|
||||
joinRoomWithPassword();
|
||||
}
|
||||
|
||||
|
@ -317,7 +312,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||
if (roomId.equals(conversation.getRoomId())) {
|
||||
roomToken = conversation.getToken();
|
||||
currentConversation = conversation;
|
||||
checkLobbyState(false);
|
||||
checkLobbyState();
|
||||
checkReadOnlyState();
|
||||
conversationName = conversation.getDisplayName();
|
||||
setTitle();
|
||||
|
@ -488,7 +483,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||
}
|
||||
|
||||
if (currentConversation != null) {
|
||||
checkLobbyState(false);
|
||||
checkLobbyState();
|
||||
}
|
||||
|
||||
if (adapterWasNull) {
|
||||
|
@ -535,8 +530,8 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||
}
|
||||
}
|
||||
|
||||
private void checkLobbyState(boolean lobbyStateChanged) {
|
||||
if (currentConversation != null) {
|
||||
private void checkLobbyState() {
|
||||
if (currentConversation != null && currentConversation.isLobbyViewApplicable(conversationUser)) {
|
||||
|
||||
if (!checkingLobbyStatus) {
|
||||
getRoomInfo();
|
||||
|
@ -548,7 +543,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||
messageInputView.setVisibility(View.GONE);
|
||||
loadingProgressBar.setVisibility(View.GONE);
|
||||
|
||||
if (currentConversation.getLobbyTimer() != null && currentConversation.getLobbyTimer() != 0) {
|
||||
if (currentConversation.getLobbyTimer() != null && currentConversation.getLobbyTimer() != 0L) {
|
||||
conversationLobbyText.setText(String.format(getResources().getString(R.string.nc_lobby_waiting_with_date), DateUtils.INSTANCE.getLocalDateStringFromTimestampForLobby(currentConversation.getLobbyTimer())));
|
||||
} else {
|
||||
conversationLobbyText.setText(R.string.nc_lobby_waiting);
|
||||
|
@ -557,15 +552,16 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||
lobbyView.setVisibility(View.GONE);
|
||||
messagesListView.setVisibility(View.VISIBLE);
|
||||
messageInput.setVisibility(View.VISIBLE);
|
||||
if (lobbyStateChanged) {
|
||||
loadingProgressBar.setVisibility(View.VISIBLE);
|
||||
if (isFirstMessagesProcessing) {
|
||||
pullChatMessages(0);
|
||||
} else {
|
||||
pullChatMessages(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
lobbyView.setVisibility(View.GONE);
|
||||
messagesListView.setVisibility(View.VISIBLE);
|
||||
messageInput.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -764,7 +760,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||
ApplicationWideCurrentRoomHolder.getInstance().setSession(currentCall.getSessionId());
|
||||
startPing();
|
||||
|
||||
checkLobbyState(false);
|
||||
checkLobbyState();
|
||||
|
||||
setupWebsocket();
|
||||
|
||||
|
@ -988,7 +984,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
if (currentConversation.shouldShowLobby(conversationUser)) {
|
||||
if (!currentConversation.shouldShowLobby(conversationUser)) {
|
||||
pullChatMessages(1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -114,7 +114,7 @@ public class Conversation {
|
|||
}
|
||||
|
||||
public boolean shouldShowLobby(UserEntity conversationUser) {
|
||||
return getLobbyState().equals(LobbyState.LOBBY_STATE_MODERATORS_ONLY) && !canModerate(conversationUser);
|
||||
return LobbyState.LOBBY_STATE_MODERATORS_ONLY.equals(getLobbyState()) && !canModerate(conversationUser);
|
||||
}
|
||||
|
||||
public boolean isLobbyViewApplicable(UserEntity conversationUser) {
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
android:tint="@color/colorPrimary"
|
||||
android:visibility="gone" />
|
||||
|
||||
<EmojiTextView
|
||||
<androidx.emoji.widget.EmojiTextView
|
||||
android:id="@+id/name_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
|
|
@ -273,8 +273,6 @@
|
|||
<string name="nc_guest">Guest</string>
|
||||
<string name="nc_following_link">User following a public link</string>
|
||||
|
||||
<string name="nc_readonly_hint">This conversation is locked</string>
|
||||
|
||||
<!-- Browser component -->
|
||||
<string name="nc_file_browser">File browser"</string>
|
||||
<string name="nc_select_files">Select files</string>
|
||||
|
@ -291,7 +289,4 @@
|
|||
<string name="nc_lobby_waiting_with_date">You are currently waiting in the lobby.\n This
|
||||
meeting is scheduled for %1$s.</string>
|
||||
<string name="nc_manual">Manual</string>
|
||||
<string name="nc_at">at</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
Loading…
Reference in a new issue