video calls: leave full screen mode during reconnect
This commit is contained in:
parent
0a18c8613f
commit
1bf2d5dd8f
|
@ -103,6 +103,11 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
RtpEndUserState.CONNECTED,
|
RtpEndUserState.CONNECTED,
|
||||||
RtpEndUserState.RECONNECTING
|
RtpEndUserState.RECONNECTING
|
||||||
);
|
);
|
||||||
|
private static final List<RtpEndUserState> STATES_SHOWING_PIP_PLACEHOLDER = Arrays.asList(
|
||||||
|
RtpEndUserState.ACCEPTING_CALL,
|
||||||
|
RtpEndUserState.CONNECTING,
|
||||||
|
RtpEndUserState.RECONNECTING
|
||||||
|
);
|
||||||
private static final String PROXIMITY_WAKE_LOCK_TAG = "conversations:in-rtp-session";
|
private static final String PROXIMITY_WAKE_LOCK_TAG = "conversations:in-rtp-session";
|
||||||
private static final int REQUEST_ACCEPT_CALL = 0x1111;
|
private static final int REQUEST_ACCEPT_CALL = 0x1111;
|
||||||
private WeakReference<JingleRtpConnection> rtpConnectionReference;
|
private WeakReference<JingleRtpConnection> rtpConnectionReference;
|
||||||
|
@ -640,8 +645,8 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
surfaceViewRenderer.setVisibility(View.VISIBLE);
|
surfaceViewRenderer.setVisibility(View.VISIBLE);
|
||||||
try {
|
try {
|
||||||
surfaceViewRenderer.init(requireRtpConnection().getEglBaseContext(), null);
|
surfaceViewRenderer.init(requireRtpConnection().getEglBaseContext(), null);
|
||||||
} catch (IllegalStateException e) {
|
} catch (final IllegalStateException e) {
|
||||||
Log.d(Config.LOGTAG, "SurfaceViewRenderer was already initialized");
|
//Log.d(Config.LOGTAG, "SurfaceViewRenderer was already initialized");
|
||||||
}
|
}
|
||||||
surfaceViewRenderer.setEnableHardwareScaler(true);
|
surfaceViewRenderer.setEnableHardwareScaler(true);
|
||||||
}
|
}
|
||||||
|
@ -975,7 +980,7 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (isPictureInPicture() && (state == RtpEndUserState.CONNECTING || state == RtpEndUserState.ACCEPTING_CALL)) {
|
if (isPictureInPicture() && STATES_SHOWING_PIP_PLACEHOLDER.contains(state)) {
|
||||||
binding.localVideo.setVisibility(View.GONE);
|
binding.localVideo.setVisibility(View.GONE);
|
||||||
binding.remoteVideoWrapper.setVisibility(View.GONE);
|
binding.remoteVideoWrapper.setVisibility(View.GONE);
|
||||||
binding.appBarLayout.setVisibility(View.GONE);
|
binding.appBarLayout.setVisibility(View.GONE);
|
||||||
|
@ -1003,12 +1008,12 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
RendererCommon.ScalingType.SCALE_ASPECT_FILL,
|
RendererCommon.ScalingType.SCALE_ASPECT_FILL,
|
||||||
RendererCommon.ScalingType.SCALE_ASPECT_FIT
|
RendererCommon.ScalingType.SCALE_ASPECT_FIT
|
||||||
);
|
);
|
||||||
//TODO this should probably only be 'connected'
|
if (state == RtpEndUserState.CONNECTED) {
|
||||||
if (STATES_CONSIDERED_CONNECTED.contains(state)) {
|
|
||||||
binding.appBarLayout.setVisibility(View.GONE);
|
binding.appBarLayout.setVisibility(View.GONE);
|
||||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
binding.remoteVideoWrapper.setVisibility(View.VISIBLE);
|
binding.remoteVideoWrapper.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
|
binding.appBarLayout.setVisibility(View.VISIBLE);
|
||||||
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
binding.remoteVideoWrapper.setVisibility(View.GONE);
|
binding.remoteVideoWrapper.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue