allow pip during connecting
This commit is contained in:
parent
2f437ea845
commit
ab2681640a
|
@ -299,7 +299,11 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
private boolean shouldBePictureInPicture() {
|
private boolean shouldBePictureInPicture() {
|
||||||
try {
|
try {
|
||||||
final JingleRtpConnection rtpConnection = requireRtpConnection();
|
final JingleRtpConnection rtpConnection = requireRtpConnection();
|
||||||
return rtpConnection.getMedia().contains(Media.VIDEO) && rtpConnection.getEndUserState() == RtpEndUserState.CONNECTED;
|
return rtpConnection.getMedia().contains(Media.VIDEO) && Arrays.asList(
|
||||||
|
RtpEndUserState.ACCEPTING_CALL,
|
||||||
|
RtpEndUserState.CONNECTING,
|
||||||
|
RtpEndUserState.CONNECTED
|
||||||
|
).contains(rtpConnection.getEndUserState());
|
||||||
} catch (IllegalStateException e) {
|
} catch (IllegalStateException e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -546,8 +550,10 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
binding.pipPlaceholder.setVisibility(View.VISIBLE);
|
binding.pipPlaceholder.setVisibility(View.VISIBLE);
|
||||||
if (state == RtpEndUserState.APPLICATION_ERROR || state == RtpEndUserState.CONNECTIVITY_ERROR) {
|
if (state == RtpEndUserState.APPLICATION_ERROR || state == RtpEndUserState.CONNECTIVITY_ERROR) {
|
||||||
binding.pipWarning.setVisibility(View.VISIBLE);
|
binding.pipWarning.setVisibility(View.VISIBLE);
|
||||||
|
binding.pipWaiting.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
binding.pipWarning.setVisibility(View.GONE);
|
binding.pipWarning.setVisibility(View.GONE);
|
||||||
|
binding.pipWaiting.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
binding.appBarLayout.setVisibility(View.VISIBLE);
|
binding.appBarLayout.setVisibility(View.VISIBLE);
|
||||||
|
@ -556,6 +562,15 @@ 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)) {
|
||||||
|
binding.localVideo.setVisibility(View.GONE);
|
||||||
|
binding.remoteVideo.setVisibility(View.GONE);
|
||||||
|
binding.appBarLayout.setVisibility(View.GONE);
|
||||||
|
binding.pipPlaceholder.setVisibility(View.VISIBLE);
|
||||||
|
binding.pipWarning.setVisibility(View.GONE);
|
||||||
|
binding.pipWaiting.setVisibility(View.VISIBLE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
final Optional<VideoTrack> localVideoTrack = requireRtpConnection().geLocalVideoTrack();
|
final Optional<VideoTrack> localVideoTrack = requireRtpConnection().geLocalVideoTrack();
|
||||||
if (localVideoTrack.isPresent() && !isPictureInPicture()) {
|
if (localVideoTrack.isPresent() && !isPictureInPicture()) {
|
||||||
ensureSurfaceViewRendererIsSetup(binding.localVideo);
|
ensureSurfaceViewRendererIsSetup(binding.localVideo);
|
||||||
|
|
|
@ -17,11 +17,21 @@
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:visibility="gone">
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:id="@+id/pip_waiting"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:indeterminate="true"
|
||||||
|
android:indeterminateOnly="true"
|
||||||
|
android:indeterminateTint="@color/white"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/pip_warning"
|
android:id="@+id/pip_warning"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:src="@drawable/ic_warning_white_48dp" />
|
android:src="@drawable/ic_warning_white_48dp"
|
||||||
|
android:visibility="gone" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<android.support.design.widget.AppBarLayout
|
<android.support.design.widget.AppBarLayout
|
||||||
|
|
Loading…
Reference in New Issue