From 0d5d1f4cb201d607ae571bd0d0f49ff4060ab986 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Tue, 20 Mar 2018 15:22:58 +0000 Subject: [PATCH] Adjust layout weights when resizing QR code view. --- .../keyagreement/ShowQrCodeFragment.java | 25 +++++++++++++------ .../layout-land/fragment_keyagreement_qr.xml | 1 - .../res/layout/fragment_keyagreement_qr.xml | 1 - 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ShowQrCodeFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ShowQrCodeFragment.java index c648a0b739..459109c1b4 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ShowQrCodeFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ShowQrCodeFragment.java @@ -14,6 +14,7 @@ import android.view.View; import android.view.ViewGroup; import android.view.animation.AlphaAnimation; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams; import android.widget.TextView; import android.widget.Toast; @@ -54,6 +55,7 @@ import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_NOSENSOR; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; +import static android.widget.LinearLayout.HORIZONTAL; import static android.widget.Toast.LENGTH_LONG; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; @@ -133,20 +135,29 @@ public class ShowQrCodeFragment extends BaseEventFragment ImageView fullscreenButton = view.findViewById(R.id.fullscreen_button); fullscreenButton.setOnClickListener(v -> { View qrCodeContainer = view.findViewById(R.id.qr_code_container); + LinearLayout cameraOverlay = view.findViewById(R.id.camera_overlay); + LayoutParams statusParams, qrCodeParams; if (fullscreen) { - // Shrink the QR code container - qrCodeContainer.setLayoutParams( - new LayoutParams(MATCH_PARENT, 0, 1f)); + // Shrink the QR code container to fill half its parent + if (cameraOverlay.getOrientation() == HORIZONTAL) { + statusParams = new LayoutParams(0, MATCH_PARENT, 1f); + qrCodeParams = new LayoutParams(0, MATCH_PARENT, 1f); + } else { + statusParams = new LayoutParams(MATCH_PARENT, 0, 1f); + qrCodeParams = new LayoutParams(MATCH_PARENT, 0, 1f); + } fullscreenButton.setBackgroundResource( R.drawable.ic_fullscreen_black_48dp); } else { - // Grow the QR code container - qrCodeContainer.setLayoutParams( - new LayoutParams(MATCH_PARENT, MATCH_PARENT, 1f)); + // Grow the QR code container to fill its parent + statusParams = new LayoutParams(0, 0, 0f); + qrCodeParams = new LayoutParams(MATCH_PARENT, MATCH_PARENT, 1f); fullscreenButton.setBackgroundResource( R.drawable.ic_fullscreen_exit_black_48dp); } - view.findViewById(R.id.camera_overlay).invalidate(); + statusView.setLayoutParams(statusParams); + qrCodeContainer.setLayoutParams(qrCodeParams); + cameraOverlay.invalidate(); fullscreen = !fullscreen; }); } diff --git a/briar-android/src/main/res/layout-land/fragment_keyagreement_qr.xml b/briar-android/src/main/res/layout-land/fragment_keyagreement_qr.xml index c811b58c8b..ba6b4421ea 100644 --- a/briar-android/src/main/res/layout-land/fragment_keyagreement_qr.xml +++ b/briar-android/src/main/res/layout-land/fragment_keyagreement_qr.xml @@ -15,7 +15,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" - android:weightSum="2" android:baselineAligned="false"> <LinearLayout diff --git a/briar-android/src/main/res/layout/fragment_keyagreement_qr.xml b/briar-android/src/main/res/layout/fragment_keyagreement_qr.xml index 456ffbca12..dedb8dde93 100644 --- a/briar-android/src/main/res/layout/fragment_keyagreement_qr.xml +++ b/briar-android/src/main/res/layout/fragment_keyagreement_qr.xml @@ -15,7 +15,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:weightSum="2" android:baselineAligned="false"> <LinearLayout -- GitLab