From 98f8a29eaed6faf4d21bd50a910cff83a991e6ca Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Thu, 1 Jul 2021 21:57:08 +0200 Subject: [PATCH] set constants for min item height and call controls height Signed-off-by: Marcel Hibbe --- .../talk/adapters/ParticipantsAdapter.java | 17 ++++++++--------- .../talk/controllers/CallController.java | 13 +++---------- app/src/main/res/layout/controller_call.xml | 1 - 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/ParticipantsAdapter.java b/app/src/main/java/com/nextcloud/talk/adapters/ParticipantsAdapter.java index eb14d8cc0..254776519 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/ParticipantsAdapter.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/ParticipantsAdapter.java @@ -15,6 +15,7 @@ import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.view.SimpleDraweeView; import com.nextcloud.talk.R; +import com.nextcloud.talk.controllers.CallController; import com.nextcloud.talk.utils.DisplayUtils; import org.webrtc.MediaStream; @@ -28,12 +29,12 @@ import java.util.Map; public class ParticipantsAdapter extends BaseAdapter { private static final String TAG = "ParticipantsAdapter"; + private static final int ITEM_MIN_HEIGHT = 500; private final Context mContext; private final ArrayList participantDisplayItems; private final RelativeLayout gridViewWrapper; private final LinearLayout callInfosLinearLayout; - private final LinearLayout callControlsLinearLayout; private final int columns; private final boolean isVoiceOnlyCall; @@ -41,13 +42,11 @@ public class ParticipantsAdapter extends BaseAdapter { Map participantDisplayItems, RelativeLayout gridViewWrapper, LinearLayout callInfosLinearLayout, - LinearLayout callControlsLinearLayout, int columns, boolean isVoiceOnlyCall) { this.mContext = mContext; this.gridViewWrapper = gridViewWrapper; this.callInfosLinearLayout = callInfosLinearLayout; - this.callControlsLinearLayout = callControlsLinearLayout; this.columns = columns; this.isVoiceOnlyCall = isVoiceOnlyCall; @@ -143,14 +142,14 @@ public class ParticipantsAdapter extends BaseAdapter { if (callInfosLinearLayout.getVisibility() == View.VISIBLE && isVoiceOnlyCall) { headerHeight = callInfosLinearLayout.getHeight(); } - if (callControlsLinearLayout.getVisibility() == View.VISIBLE && isVoiceOnlyCall) { - callControlsHeight = callControlsLinearLayout.getHeight(); + if (isVoiceOnlyCall) { + callControlsHeight = CallController.CALL_CONTROLS_HEIGHT; } int itemHeight = (gridViewWrapper.getHeight() - headerHeight - callControlsHeight) / getRowsCount(getCount()); -// if (itemHeight < 9000) { -// itemHeight = 9000; -// } - return itemHeight + 10; + if (itemHeight < ITEM_MIN_HEIGHT) { + itemHeight = ITEM_MIN_HEIGHT; + } + return itemHeight; } private int getRowsCount(int items) { 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 10f67e371..72736a15b 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/CallController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/CallController.java @@ -163,6 +163,8 @@ public class CallController extends BaseController { private static final String TAG = "CallController"; + public static final int CALL_CONTROLS_HEIGHT = 300; + private static final String[] PERMISSIONS_CALL = { android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO, @@ -486,7 +488,7 @@ public class CallController extends BaseController { RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.BELOW, R.id.callInfosLinearLayout); - params.setMargins(0,0,0,400); + params.setMargins(0,0,0, CALL_CONTROLS_HEIGHT); gridView.setLayoutParams(params); } else { callControlEnableSpeaker.setVisibility(View.GONE); @@ -562,20 +564,11 @@ public class CallController extends BaseController { } }); - LinearLayout callControlsLinearLayout = controllerCallLayout.findViewById(R.id.callControlsLinearLayout); - callControlsLinearLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - callControlsLinearLayout.getViewTreeObserver().removeOnGlobalLayoutListener(this); - } - }); - participantsAdapter = new ParticipantsAdapter( this.getActivity(), participantDisplayItems, gridViewWrapper, callInfosLinearLayout, - callControlsLinearLayout, columns, isVoiceOnlyCall); gridView.setAdapter(participantsAdapter); diff --git a/app/src/main/res/layout/controller_call.xml b/app/src/main/res/layout/controller_call.xml index 0da8af1f5..bef06e1c8 100644 --- a/app/src/main/res/layout/controller_call.xml +++ b/app/src/main/res/layout/controller_call.xml @@ -53,7 +53,6 @@ android:stretchMode="columnWidth" android:numColumns="2" android:scrollbars="vertical" - android:background="#fff000" />