hide pip button for android < 8

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2021-10-25 10:47:17 +02:00
parent 6839b9eb2c
commit 1ae5f51a81
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
4 changed files with 40 additions and 10 deletions

View File

@ -95,10 +95,13 @@ class MagicCallActivity : BaseActivity() {
enterPictureInPictureMode(getPipParams())
}
@RequiresApi(Build.VERSION_CODES.O)
override fun onUserLeaveHint() {
enableKeyguard()
enterPictureInPictureMode(getPipParams())
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
enterPictureInPictureMode(getPipParams())
} else {
finish()
}
}
@RequiresApi(Build.VERSION_CODES.O)

View File

@ -79,6 +79,8 @@ public class ParticipantsAdapter extends BaseAdapter {
surfaceViewRenderer = convertView.findViewById(R.id.surface_view);
try {
Log.d(TAG, "hasSurface: " + participantDisplayItem.getRootEglBase().hasSurface());
surfaceViewRenderer.setMirror(false);
surfaceViewRenderer.init(participantDisplayItem.getRootEglBase().getEglBaseContext(), null);
surfaceViewRenderer.setZOrderMediaOverlay(false);
@ -127,7 +129,24 @@ public class ParticipantsAdapter extends BaseAdapter {
} else {
audioOffView.setVisibility(View.INVISIBLE);
}
convertView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@Override
public void onViewAttachedToWindow(View v) {
Log.d(TAG,"onViewAttachedToWindow");
}
@Override
public void onViewDetachedFromWindow(View v) {
Log.d(TAG,"onViewDetachedFromWindow");
}
});
return convertView;
}
private boolean hasVideoStream(ParticipantDisplayItem participantDisplayItem, MediaStream mediaStream) {

View File

@ -141,7 +141,6 @@ import javax.inject.Inject;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import autodagger.AutoInjector;
import butterknife.BindView;
@ -208,8 +207,8 @@ public class CallController extends BaseController {
TextView callVoiceOrVideoTextView;
@BindView(R.id.callConversationNameTextView)
TextView callConversationNameTextView;
@BindView(R.id.callControlEnterPip)
SimpleDraweeView callControlEnterPip;
@BindView(R.id.callStateRelativeLayoutView)
RelativeLayout callStateView;
@ -484,6 +483,10 @@ public class CallController extends BaseController {
callInfosLinearLayout.setVisibility(View.VISIBLE);
selfVideoViewWrapper.setVisibility(View.VISIBLE);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
callControlEnterPip.setVisibility(View.GONE);
}
if (isVoiceOnlyCall) {
callControlEnableSpeaker.setVisibility(View.VISIBLE);
cameraSwitchButton.setVisibility(View.GONE);
@ -858,10 +861,14 @@ public class CallController extends BaseController {
}
}
@RequiresApi(api = Build.VERSION_CODES.O)
@OnClick(R.id.callControlEnterPip)
void enterPipMode() {
((MagicCallActivity) getActivity()).enterPipMode();
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O){
((MagicCallActivity) getActivity()).enterPipMode();
} else{
Log.w(TAG, "tried to enterPipMode with an android api level below 26 (Android 8). This scenario should " +
"have been avoided by hiding the PIP button!");
}
}
@OnClick(R.id.callControlHangupView)

View File

@ -139,13 +139,14 @@
android:animateLayoutChanges="true"
android:background="@android:color/transparent"
android:gravity="center"
android:orientation="horizontal">
android:orientation="horizontal"
android:layout_marginStart="40dp"
android:layout_marginEnd="40dp">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/callControlEnterPip"
android:layout_width="60dp"
android:layout_height="match_parent"
android:layout_marginStart="40dp"
android:layout_marginEnd="10dp"
android:elevation="10dp"
app:backgroundImage="@color/call_buttons_background"
@ -189,7 +190,7 @@
android:layout_width="60dp"
android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_marginEnd="40dp"
android:layout_marginEnd="10dp"
app:backgroundImage="@color/nc_darkRed"
app:placeholderImage="@drawable/ic_call_end_white_24px"
app:roundAsCircle="true" />