mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-22 21:19:31 +01:00
set constants for min item height and call controls height
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
64d98aefb4
commit
98f8a29eae
@ -15,6 +15,7 @@ import com.facebook.drawee.backends.pipeline.Fresco;
|
|||||||
import com.facebook.drawee.interfaces.DraweeController;
|
import com.facebook.drawee.interfaces.DraweeController;
|
||||||
import com.facebook.drawee.view.SimpleDraweeView;
|
import com.facebook.drawee.view.SimpleDraweeView;
|
||||||
import com.nextcloud.talk.R;
|
import com.nextcloud.talk.R;
|
||||||
|
import com.nextcloud.talk.controllers.CallController;
|
||||||
import com.nextcloud.talk.utils.DisplayUtils;
|
import com.nextcloud.talk.utils.DisplayUtils;
|
||||||
|
|
||||||
import org.webrtc.MediaStream;
|
import org.webrtc.MediaStream;
|
||||||
@ -28,12 +29,12 @@ import java.util.Map;
|
|||||||
public class ParticipantsAdapter extends BaseAdapter {
|
public class ParticipantsAdapter extends BaseAdapter {
|
||||||
|
|
||||||
private static final String TAG = "ParticipantsAdapter";
|
private static final String TAG = "ParticipantsAdapter";
|
||||||
|
private static final int ITEM_MIN_HEIGHT = 500;
|
||||||
|
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
private final ArrayList<ParticipantDisplayItem> participantDisplayItems;
|
private final ArrayList<ParticipantDisplayItem> participantDisplayItems;
|
||||||
private final RelativeLayout gridViewWrapper;
|
private final RelativeLayout gridViewWrapper;
|
||||||
private final LinearLayout callInfosLinearLayout;
|
private final LinearLayout callInfosLinearLayout;
|
||||||
private final LinearLayout callControlsLinearLayout;
|
|
||||||
private final int columns;
|
private final int columns;
|
||||||
private final boolean isVoiceOnlyCall;
|
private final boolean isVoiceOnlyCall;
|
||||||
|
|
||||||
@ -41,13 +42,11 @@ public class ParticipantsAdapter extends BaseAdapter {
|
|||||||
Map<String, ParticipantDisplayItem> participantDisplayItems,
|
Map<String, ParticipantDisplayItem> participantDisplayItems,
|
||||||
RelativeLayout gridViewWrapper,
|
RelativeLayout gridViewWrapper,
|
||||||
LinearLayout callInfosLinearLayout,
|
LinearLayout callInfosLinearLayout,
|
||||||
LinearLayout callControlsLinearLayout,
|
|
||||||
int columns,
|
int columns,
|
||||||
boolean isVoiceOnlyCall) {
|
boolean isVoiceOnlyCall) {
|
||||||
this.mContext = mContext;
|
this.mContext = mContext;
|
||||||
this.gridViewWrapper = gridViewWrapper;
|
this.gridViewWrapper = gridViewWrapper;
|
||||||
this.callInfosLinearLayout = callInfosLinearLayout;
|
this.callInfosLinearLayout = callInfosLinearLayout;
|
||||||
this.callControlsLinearLayout = callControlsLinearLayout;
|
|
||||||
this.columns = columns;
|
this.columns = columns;
|
||||||
this.isVoiceOnlyCall = isVoiceOnlyCall;
|
this.isVoiceOnlyCall = isVoiceOnlyCall;
|
||||||
|
|
||||||
@ -143,14 +142,14 @@ public class ParticipantsAdapter extends BaseAdapter {
|
|||||||
if (callInfosLinearLayout.getVisibility() == View.VISIBLE && isVoiceOnlyCall) {
|
if (callInfosLinearLayout.getVisibility() == View.VISIBLE && isVoiceOnlyCall) {
|
||||||
headerHeight = callInfosLinearLayout.getHeight();
|
headerHeight = callInfosLinearLayout.getHeight();
|
||||||
}
|
}
|
||||||
if (callControlsLinearLayout.getVisibility() == View.VISIBLE && isVoiceOnlyCall) {
|
if (isVoiceOnlyCall) {
|
||||||
callControlsHeight = callControlsLinearLayout.getHeight();
|
callControlsHeight = CallController.CALL_CONTROLS_HEIGHT;
|
||||||
}
|
}
|
||||||
int itemHeight = (gridViewWrapper.getHeight() - headerHeight - callControlsHeight) / getRowsCount(getCount());
|
int itemHeight = (gridViewWrapper.getHeight() - headerHeight - callControlsHeight) / getRowsCount(getCount());
|
||||||
// if (itemHeight < 9000) {
|
if (itemHeight < ITEM_MIN_HEIGHT) {
|
||||||
// itemHeight = 9000;
|
itemHeight = ITEM_MIN_HEIGHT;
|
||||||
// }
|
}
|
||||||
return itemHeight + 10;
|
return itemHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getRowsCount(int items) {
|
private int getRowsCount(int items) {
|
||||||
|
@ -163,6 +163,8 @@ public class CallController extends BaseController {
|
|||||||
|
|
||||||
private static final String TAG = "CallController";
|
private static final String TAG = "CallController";
|
||||||
|
|
||||||
|
public static final int CALL_CONTROLS_HEIGHT = 300;
|
||||||
|
|
||||||
private static final String[] PERMISSIONS_CALL = {
|
private static final String[] PERMISSIONS_CALL = {
|
||||||
android.Manifest.permission.CAMERA,
|
android.Manifest.permission.CAMERA,
|
||||||
android.Manifest.permission.RECORD_AUDIO,
|
android.Manifest.permission.RECORD_AUDIO,
|
||||||
@ -486,7 +488,7 @@ public class CallController extends BaseController {
|
|||||||
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
|
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
|
||||||
ViewGroup.LayoutParams.WRAP_CONTENT);
|
ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||||
params.addRule(RelativeLayout.BELOW, R.id.callInfosLinearLayout);
|
params.addRule(RelativeLayout.BELOW, R.id.callInfosLinearLayout);
|
||||||
params.setMargins(0,0,0,400);
|
params.setMargins(0,0,0, CALL_CONTROLS_HEIGHT);
|
||||||
gridView.setLayoutParams(params);
|
gridView.setLayoutParams(params);
|
||||||
} else {
|
} else {
|
||||||
callControlEnableSpeaker.setVisibility(View.GONE);
|
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(
|
participantsAdapter = new ParticipantsAdapter(
|
||||||
this.getActivity(),
|
this.getActivity(),
|
||||||
participantDisplayItems,
|
participantDisplayItems,
|
||||||
gridViewWrapper,
|
gridViewWrapper,
|
||||||
callInfosLinearLayout,
|
callInfosLinearLayout,
|
||||||
callControlsLinearLayout,
|
|
||||||
columns,
|
columns,
|
||||||
isVoiceOnlyCall);
|
isVoiceOnlyCall);
|
||||||
gridView.setAdapter(participantsAdapter);
|
gridView.setAdapter(participantsAdapter);
|
||||||
|
@ -53,7 +53,6 @@
|
|||||||
android:stretchMode="columnWidth"
|
android:stretchMode="columnWidth"
|
||||||
android:numColumns="2"
|
android:numColumns="2"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:background="#fff000"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
|
Loading…
Reference in New Issue
Block a user