Always leave room

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2018-12-17 21:13:44 +01:00
parent da779190ed
commit 192c435b2b

View File

@ -173,7 +173,6 @@ public class ChatController extends BaseController implements MessagesListAdapte
private static final byte CONTENT_TYPE_SYSTEM_MESSAGE = 1; private static final byte CONTENT_TYPE_SYSTEM_MESSAGE = 1;
private boolean wasDetached; private boolean wasDetached;
private boolean isStartingACall;
public ChatController(Bundle args) { public ChatController(Bundle args) {
super(args); super(args);
@ -512,8 +511,6 @@ public class ChatController extends BaseController implements MessagesListAdapte
joinRoomWithPassword(); joinRoomWithPassword();
} }
} }
isStartingACall = false;
} }
@Override @Override
@ -522,9 +519,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
if (conversationUser.hasSpreedCapabilityWithName("no-ping") if (conversationUser.hasSpreedCapabilityWithName("no-ping")
&& getActivity() != null && !getActivity().isChangingConfigurations()) { && getActivity() != null && !getActivity().isChangingConfigurations()) {
wasDetached = true; wasDetached = true;
if (!isStartingACall) { leaveRoom();
leaveRoom();
}
} }
} }
@ -658,6 +653,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
@Override @Override
public void onNext(GenericOverall genericOverall) { public void onNext(GenericOverall genericOverall) {
dispose(); dispose();
currentCall = null;
if (!isDestroyed() && !isBeingDestroyed() && !wasDetached) { if (!isDestroyed() && !isBeingDestroyed() && !wasDetached) {
getRouter().popCurrentController(); getRouter().popCurrentController();
} }
@ -1020,13 +1016,11 @@ public class ChatController extends BaseController implements MessagesListAdapte
if (!isVoiceOnlyCall) { if (!isVoiceOnlyCall) {
Intent videoCallIntent = getIntentForCall(false); Intent videoCallIntent = getIntentForCall(false);
if (videoCallIntent != null) { if (videoCallIntent != null) {
isStartingACall = true;
startActivity(videoCallIntent); startActivity(videoCallIntent);
} }
} else { } else {
Intent voiceCallIntent = getIntentForCall(true); Intent voiceCallIntent = getIntentForCall(true);
if (voiceCallIntent != null) { if (voiceCallIntent != null) {
isStartingACall = true;
startActivity(voiceCallIntent); startActivity(voiceCallIntent);
} }
} }