use different aspect ratio for landscape
This commit is contained in:
parent
36e117979a
commit
ec6bcec849
|
@ -304,7 +304,7 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
putScreenInCallMode();
|
putScreenInCallMode();
|
||||||
}
|
}
|
||||||
binding.with.setText(getWith().getDisplayName());
|
binding.with.setText(getWith().getDisplayName());
|
||||||
updateVideoViews();
|
updateVideoViews(currentState);
|
||||||
updateStateDisplay(currentState);
|
updateStateDisplay(currentState);
|
||||||
updateButtonConfiguration(currentState);
|
updateButtonConfiguration(currentState);
|
||||||
}
|
}
|
||||||
|
@ -508,7 +508,14 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
this.binding.inCallActionLeft.setVisibility(View.VISIBLE);
|
this.binding.inCallActionLeft.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateVideoViews() {
|
private void updateVideoViews(final RtpEndUserState state) {
|
||||||
|
if (END_CARD.contains(state) || state == RtpEndUserState.ENDING_CALL) {
|
||||||
|
binding.localVideo.setVisibility(View.GONE);
|
||||||
|
binding.remoteVideo.setVisibility(View.GONE);
|
||||||
|
binding.appBarLayout.setVisibility(View.VISIBLE);
|
||||||
|
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
|
return;
|
||||||
|
}
|
||||||
final Optional<VideoTrack> localVideoTrack = requireRtpConnection().geLocalVideoTrack();
|
final Optional<VideoTrack> localVideoTrack = requireRtpConnection().geLocalVideoTrack();
|
||||||
if (localVideoTrack.isPresent()) {
|
if (localVideoTrack.isPresent()) {
|
||||||
ensureSurfaceViewRendererIsSetup(binding.localVideo);
|
ensureSurfaceViewRendererIsSetup(binding.localVideo);
|
||||||
|
@ -523,7 +530,10 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
if (remoteVideoTrack.isPresent()) {
|
if (remoteVideoTrack.isPresent()) {
|
||||||
ensureSurfaceViewRendererIsSetup(binding.remoteVideo);
|
ensureSurfaceViewRendererIsSetup(binding.remoteVideo);
|
||||||
remoteVideoTrack.get().addSink(binding.remoteVideo);
|
remoteVideoTrack.get().addSink(binding.remoteVideo);
|
||||||
|
binding.appBarLayout.setVisibility(View.GONE);
|
||||||
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
} else {
|
} else {
|
||||||
|
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
binding.remoteVideo.setVisibility(View.GONE);
|
binding.remoteVideo.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -590,6 +600,10 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this.rtpConnectionReference == null) {
|
if (this.rtpConnectionReference == null) {
|
||||||
|
if (END_CARD.contains(state)) {
|
||||||
|
Log.d(Config.LOGTAG,"not reinitializing session");
|
||||||
|
return;
|
||||||
|
}
|
||||||
//this happens when going from proposed session to actual session
|
//this happens when going from proposed session to actual session
|
||||||
reInitializeActivityWithRunningRapSession(account, with, sessionId);
|
reInitializeActivityWithRunningRapSession(account, with, sessionId);
|
||||||
return;
|
return;
|
||||||
|
@ -607,7 +621,7 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
updateStateDisplay(state);
|
updateStateDisplay(state);
|
||||||
updateButtonConfiguration(state);
|
updateButtonConfiguration(state);
|
||||||
//TODO kill video when in final or error stages
|
//TODO kill video when in final or error stages
|
||||||
updateVideoViews();
|
updateVideoViews(state);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
Log.d(Config.LOGTAG, "received update for other rtp session");
|
Log.d(Config.LOGTAG, "received update for other rtp session");
|
||||||
|
|
|
@ -910,7 +910,6 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
|
||||||
@Override
|
@Override
|
||||||
public void onConnectionChange(final PeerConnection.PeerConnectionState newState) {
|
public void onConnectionChange(final PeerConnection.PeerConnectionState newState) {
|
||||||
Log.d(Config.LOGTAG, id.account.getJid().asBareJid() + ": PeerConnectionState changed to " + newState);
|
Log.d(Config.LOGTAG, id.account.getJid().asBareJid() + ": PeerConnectionState changed to " + newState);
|
||||||
updateEndUserState();
|
|
||||||
if (newState == PeerConnection.PeerConnectionState.CONNECTED && this.rtpConnectionStarted == 0) {
|
if (newState == PeerConnection.PeerConnectionState.CONNECTED && this.rtpConnectionStarted == 0) {
|
||||||
this.rtpConnectionStarted = SystemClock.elapsedRealtime();
|
this.rtpConnectionStarted = SystemClock.elapsedRealtime();
|
||||||
}
|
}
|
||||||
|
@ -920,6 +919,8 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sendSessionTerminate(Reason.CONNECTIVITY_ERROR);
|
sendSessionTerminate(Reason.CONNECTIVITY_ERROR);
|
||||||
|
} else {
|
||||||
|
updateEndUserState();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,8 @@
|
||||||
<android.support.design.widget.AppBarLayout
|
<android.support.design.widget.AppBarLayout
|
||||||
android:id="@+id/app_bar_layout"
|
android:id="@+id/app_bar_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="visible">
|
||||||
|
|
||||||
<android.support.v7.widget.Toolbar
|
<android.support.v7.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
|
@ -36,9 +37,10 @@
|
||||||
</android.support.design.widget.AppBarLayout>
|
</android.support.design.widget.AppBarLayout>
|
||||||
|
|
||||||
<org.webrtc.SurfaceViewRenderer
|
<org.webrtc.SurfaceViewRenderer
|
||||||
|
app:elevation="4dp"
|
||||||
android:id="@+id/local_video"
|
android:id="@+id/local_video"
|
||||||
android:layout_width="80dp"
|
android:layout_width="@dimen/local_video_preview_width"
|
||||||
android:layout_height="128dp"
|
android:layout_height="@dimen/local_video_preview_height"
|
||||||
android:layout_below="@+id/app_bar_layout"
|
android:layout_below="@+id/app_bar_layout"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
|
@ -50,7 +52,7 @@
|
||||||
<org.webrtc.SurfaceViewRenderer
|
<org.webrtc.SurfaceViewRenderer
|
||||||
android:id="@+id/remote_video"
|
android:id="@+id/remote_video"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="100dp"
|
android:layout_height="match_parent"
|
||||||
android:layout_below="@+id/app_bar_layout"
|
android:layout_below="@+id/app_bar_layout"
|
||||||
android:layout_alignParentStart="true"
|
android:layout_alignParentStart="true"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_alignParentLeft="true"
|
||||||
|
|
4
src/main/res/values-land/dimens.xml
Normal file
4
src/main/res/values-land/dimens.xml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<resources>
|
||||||
|
<dimen name="local_video_preview_height">96dp</dimen>
|
||||||
|
<dimen name="local_video_preview_width">128dp</dimen>
|
||||||
|
</resources>
|
|
@ -1,38 +1,42 @@
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Default screen margins, per the Android Design guidelines. -->
|
<!-- Default screen margins, per the Android Design guidelines. -->
|
||||||
<dimen name="activity_horizontal_margin">8dp</dimen>
|
<dimen name="activity_horizontal_margin">8dp</dimen>
|
||||||
<dimen name="activity_vertical_margin">8dp</dimen>
|
<dimen name="activity_vertical_margin">8dp</dimen>
|
||||||
<dimen name="card_padding_regular">16dp</dimen>
|
<dimen name="card_padding_regular">16dp</dimen>
|
||||||
<dimen name="card_padding_list">8dp</dimen> <!-- card_padding_regular minus list_padding -->
|
<dimen name="card_padding_list">8dp</dimen> <!-- card_padding_regular minus list_padding -->
|
||||||
<dimen name="list_padding">8dp</dimen>
|
<dimen name="list_padding">8dp</dimen>
|
||||||
<dimen name="image_button_padding">12dp</dimen>
|
<dimen name="image_button_padding">12dp</dimen>
|
||||||
<dimen name="key_action_width">48dp</dimen> <!-- icon width (24dp) + 2 * image button padding -->
|
<dimen name="key_action_width">48dp
|
||||||
<dimen name="fineprint_size">11sp</dimen>
|
</dimen> <!-- icon width (24dp) + 2 * image button padding -->
|
||||||
<dimen name="audio_player_width">224dp</dimen>
|
<dimen name="fineprint_size">11sp</dimen>
|
||||||
<dimen name="avatar_item_distance">16dp</dimen>
|
<dimen name="audio_player_width">224dp</dimen>
|
||||||
|
<dimen name="avatar_item_distance">16dp</dimen>
|
||||||
|
|
||||||
<dimen name="media_preview_size">80dp</dimen>
|
<dimen name="media_preview_size">80dp</dimen>
|
||||||
<dimen name="media_size">56dp</dimen> <!-- ideally not larger than avatar_on_details_screen -->
|
<dimen name="media_size">56dp</dimen> <!-- ideally not larger than avatar_on_details_screen -->
|
||||||
<dimen name="browser_media_size">96dp</dimen>
|
<dimen name="browser_media_size">96dp</dimen>
|
||||||
<dimen name="toolbar_elevation">4dp</dimen>
|
<dimen name="toolbar_elevation">4dp</dimen>
|
||||||
|
|
||||||
<dimen name="publish_avatar_top_margin">8dp</dimen>
|
<dimen name="publish_avatar_top_margin">8dp</dimen>
|
||||||
<dimen name="publish_avatar_size">96dp</dimen>
|
<dimen name="publish_avatar_size">96dp</dimen>
|
||||||
<dimen name="avatar_on_status_message">32dp</dimen>
|
<dimen name="avatar_on_status_message">32dp</dimen>
|
||||||
<dimen name="avatar">48dp</dimen>
|
<dimen name="avatar">48dp</dimen>
|
||||||
<dimen name="avatar_on_details_screen_size">56dp</dimen>
|
<dimen name="avatar_on_details_screen_size">56dp</dimen>
|
||||||
<dimen name="avatar_on_conversation_overview">56dp</dimen>
|
<dimen name="avatar_on_conversation_overview">56dp</dimen>
|
||||||
|
|
||||||
<dimen name="input_label_vertical_spacing">4dp</dimen>
|
<dimen name="input_label_vertical_spacing">4dp</dimen>
|
||||||
<dimen name="input_label_horizontal_spacing">4dp</dimen>
|
<dimen name="input_label_horizontal_spacing">4dp</dimen>
|
||||||
|
|
||||||
<!-- scanner -->
|
<!-- scanner -->
|
||||||
<dimen name="scan_laser_width">4dp</dimen>
|
<dimen name="scan_laser_width">4dp</dimen>
|
||||||
<dimen name="scan_dot_size">8dp</dimen>
|
<dimen name="scan_dot_size">8dp</dimen>
|
||||||
|
|
||||||
<dimen name="swipe_escape_velocity">1200dp</dimen> <!-- android default is 120dp -->
|
<dimen name="swipe_escape_velocity">1200dp</dimen> <!-- android default is 120dp -->
|
||||||
|
|
||||||
<dimen name="background_image_opacity">0.12</dimen>
|
<dimen name="background_image_opacity">0.12</dimen>
|
||||||
|
|
||||||
<dimen name="sd_label_max_width">256dp</dimen>
|
<dimen name="sd_label_max_width">256dp</dimen>
|
||||||
|
|
||||||
|
<dimen name="local_video_preview_height">128dp</dimen>
|
||||||
|
<dimen name="local_video_preview_width">96dp</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in a new issue