From 67b590d9d08e2a65eaba36014af9b6b84155051b Mon Sep 17 00:00:00 2001 From: Mario Danic Date: Tue, 9 Apr 2019 13:27:50 +0200 Subject: [PATCH] Fix #389 Signed-off-by: Mario Danic --- .../talk/controllers/CallController.java | 29 +++++++++++++++---- app/src/main/res/layout/controller_call.xml | 5 ++-- app/src/main/res/values/dimens.xml | 1 + 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/CallController.java b/app/src/main/java/com/nextcloud/talk/controllers/CallController.java index 968046319..d03f8bea1 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/CallController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/CallController.java @@ -35,10 +35,7 @@ import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.RelativeLayout; -import android.widget.TextView; +import android.widget.*; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; @@ -98,6 +95,7 @@ import pub.devrel.easypermissions.AfterPermissionGranted; import javax.inject.Inject; import java.io.IOException; +import java.lang.reflect.Field; import java.util.*; import java.util.concurrent.TimeUnit; @@ -268,6 +266,8 @@ public class CallController extends BaseController { .setRepeatCount(PulseAnimation.INFINITE) .setRepeatMode(PulseAnimation.REVERSE); + setPipVideoViewDimensions(); + try { cache.evictAll(); } catch (IOException e) { @@ -540,7 +540,6 @@ public class CallController extends BaseController { if (enumerator.isFrontFacing(deviceName)) { Logging.d(TAG, "Creating front facing camera capturer."); VideoCapturer videoCapturer = enumerator.createCapturer(deviceName, null); - if (videoCapturer != null) { pipVideoView.setMirror(true); return videoCapturer; @@ -1431,7 +1430,7 @@ public class CallController extends BaseController { videoCapturer.startCapture(1280, 720, 30); } } - + private void processUsersInRoom(List> users) { List newSessions = new ArrayList<>(); Set oldSesssions = new HashSet<>(); @@ -1608,13 +1607,31 @@ public class CallController extends BaseController { public void onMessageEvent(ConfigurationChangeEvent configurationChangeEvent) { powerManagerUtils.setOrientation(Objects.requireNonNull(getResources()).getConfiguration().orientation); + if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { remoteRenderersLayout.setOrientation(LinearLayout.HORIZONTAL); } else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { remoteRenderersLayout.setOrientation(LinearLayout.VERTICAL); } + + setPipVideoViewDimensions(); } + private void setPipVideoViewDimensions() { + FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) pipVideoView.getLayoutParams(); + + if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { + remoteRenderersLayout.setOrientation(LinearLayout.HORIZONTAL); + layoutParams.height = (int) getResources().getDimension(R.dimen.large_preview_dimension); + layoutParams.width = FrameLayout.LayoutParams.WRAP_CONTENT; + pipVideoView.setLayoutParams(layoutParams); + } else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { + remoteRenderersLayout.setOrientation(LinearLayout.VERTICAL); + layoutParams.height = FrameLayout.LayoutParams.WRAP_CONTENT; + layoutParams.width = (int) getResources().getDimension(R.dimen.large_preview_dimension); + pipVideoView.setLayoutParams(layoutParams); + } + } @Subscribe(threadMode = ThreadMode.MAIN) public void onMessageEvent(PeerConnectionEvent peerConnectionEvent) { if (peerConnectionEvent.getPeerConnectionEventType().equals(PeerConnectionEvent.PeerConnectionEventType diff --git a/app/src/main/res/layout/controller_call.xml b/app/src/main/res/layout/controller_call.xml index a9ccbe67d..1522b1352 100644 --- a/app/src/main/res/layout/controller_call.xml +++ b/app/src/main/res/layout/controller_call.xml @@ -82,8 +82,8 @@ @@ -94,7 +94,6 @@ android:layout_height="40dp" android:layout_gravity="center_horizontal|bottom" android:layout_marginBottom="20dp" - app:checked="false" app:enableInitialAnimation="false" app:frontBackgroundColor="@color/colorPrimary" diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 357f6c3e6..f4c32781f 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -16,4 +16,5 @@ 14sp 6dp 8dp + 120dp