mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 12:09:45 +01:00
Fix room name empty in some ocassions
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
01348f07ea
commit
2f733c1431
@ -71,6 +71,7 @@ import com.nextcloud.talk.models.json.chat.ChatOverall;
|
|||||||
import com.nextcloud.talk.models.json.generic.GenericOverall;
|
import com.nextcloud.talk.models.json.generic.GenericOverall;
|
||||||
import com.nextcloud.talk.models.json.mention.Mention;
|
import com.nextcloud.talk.models.json.mention.Mention;
|
||||||
import com.nextcloud.talk.models.json.rooms.Room;
|
import com.nextcloud.talk.models.json.rooms.Room;
|
||||||
|
import com.nextcloud.talk.models.json.rooms.RoomOverall;
|
||||||
import com.nextcloud.talk.models.json.rooms.RoomsOverall;
|
import com.nextcloud.talk.models.json.rooms.RoomsOverall;
|
||||||
import com.nextcloud.talk.presenters.MentionAutocompletePresenter;
|
import com.nextcloud.talk.presenters.MentionAutocompletePresenter;
|
||||||
import com.nextcloud.talk.utils.ApiUtils;
|
import com.nextcloud.talk.utils.ApiUtils;
|
||||||
@ -202,6 +203,38 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||||||
this.startCallFromNotification = args.getBoolean(BundleKeys.KEY_FROM_NOTIFICATION_START_CALL);
|
this.startCallFromNotification = args.getBoolean(BundleKeys.KEY_FROM_NOTIFICATION_START_CALL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void getRoomInfo() {
|
||||||
|
ncApi.getRoom(credentials, ApiUtils.getRoom(baseUrl, roomToken))
|
||||||
|
.subscribeOn(Schedulers.newThread())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Observer<RoomOverall>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(RoomOverall roomOverall) {
|
||||||
|
conversationName = roomOverall.getOcs().getData().getDisplayName();
|
||||||
|
setTitle();
|
||||||
|
|
||||||
|
setupMentionAutocomplete();
|
||||||
|
joinRoomWithPassword();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void handleFromNotification() {
|
private void handleFromNotification() {
|
||||||
ncApi.getRooms(credentials, ApiUtils.getUrlForGetRooms(baseUrl))
|
ncApi.getRooms(credentials, ApiUtils.getUrlForGetRooms(baseUrl))
|
||||||
.subscribeOn(Schedulers.newThread())
|
.subscribeOn(Schedulers.newThread())
|
||||||
@ -217,14 +250,18 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||||||
for (Room room : roomsOverall.getOcs().getData()) {
|
for (Room room : roomsOverall.getOcs().getData()) {
|
||||||
if (roomId.equals(room.getRoomId())) {
|
if (roomId.equals(room.getRoomId())) {
|
||||||
roomToken = room.getToken();
|
roomToken = room.getToken();
|
||||||
conversationName = room.getDisplayName();
|
|
||||||
setTitle();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setupMentionAutocomplete();
|
if (!TextUtils.isEmpty(roomToken)) {
|
||||||
joinRoomWithPassword();
|
if (TextUtils.isEmpty(conversationName)) {
|
||||||
|
getRoomInfo();
|
||||||
|
} else {
|
||||||
|
setupMentionAutocomplete();
|
||||||
|
joinRoomWithPassword();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -345,8 +382,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (adapterWasNull && startCallFromNotification == null) {
|
if (adapterWasNull && startCallFromNotification == null) {
|
||||||
setupMentionAutocomplete();
|
getRoomInfo();
|
||||||
joinRoomWithPassword();
|
|
||||||
} else {
|
} else {
|
||||||
handleFromNotification();
|
handleFromNotification();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user