This commit is contained in:
zlzw 2023-11-02 16:40:19 +08:00
parent ab2275d93b
commit c978b7feac
6 changed files with 66 additions and 6 deletions

View File

@ -698,11 +698,12 @@ public class ChatMessageFragment extends AbsConversationFragment {
boolean isTextMessage = data.getMessage().getContent() instanceof TextMessage; boolean isTextMessage = data.getMessage().getContent() instanceof TextMessage;
String[] list; String[] list;
if (isTextMessage) { if (isTextMessage) {
if (isMy) { /* if (isMy) {
list = new String[]{WordUtil.getNewString(R.string.copy), WordUtil.getNewString(R.string.delete)}; list = new String[]{WordUtil.getNewString(R.string.copy), WordUtil.getNewString(R.string.delete)};
} else { } else {
list = new String[]{WordUtil.getNewString(R.string.copy)}; list = new String[]{WordUtil.getNewString(R.string.copy)};
} }*/
list = new String[]{WordUtil.getNewString(R.string.copy), WordUtil.getNewString(R.string.delete)};
} else { } else {
if (isMy) { if (isMy) {
list = new String[]{WordUtil.getNewString(R.string.delete)}; list = new String[]{WordUtil.getNewString(R.string.delete)};

View File

@ -13,6 +13,9 @@ import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import io.rong.callkit.util.CallRingingUtil;
import io.rong.callkit.util.RingingMode;
import io.rong.imlib.RongIMClient; import io.rong.imlib.RongIMClient;
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Route;
@ -121,12 +124,17 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
CallClientManager.getManager().callAudio(targetId); CallClientManager.getManager().callAudio(targetId);
callMsg.setTag(true); callMsg.setTag(true);
callMsg.setImageResource(R.mipmap.ic_call_audio_msg); callMsg.setImageResource(R.mipmap.ic_call_audio_msg);
CallRingingUtil.getInstance().startRinging(this, RingingMode.Outgoing);
}else if(model.equals(CallClientManager.AUDIO_RECEIVED_CALL)){
CallRingingUtil.getInstance().startRinging(this, RingingMode.Incoming);
close.setVisibility(View.INVISIBLE);
} }
} }
@Override @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
CallRingingUtil.getInstance().stopRinging();
CallClientManager.getManager().removeOnVoIPCallListener(CallAudioActivity.class); CallClientManager.getManager().removeOnVoIPCallListener(CallAudioActivity.class);
} }
@ -195,6 +203,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
} }
private void accept() { private void accept() {
close.setVisibility(View.VISIBLE);
CallClientManager.getManager().acceptCall(targetId); CallClientManager.getManager().acceptCall(targetId);
} }
@ -279,7 +288,6 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
icon.setTag(getIntent().getExtras()); icon.setTag(getIntent().getExtras());
icon.setImageResource(io.rong.callkit.R.drawable.rc_voip_audio_answer_selector_new); icon.setImageResource(io.rong.callkit.R.drawable.rc_voip_audio_answer_selector_new);
icon.setLayoutParams(new ViewGroup.LayoutParams(DpUtil.dp2px(40), DpUtil.dp2px(40))); icon.setLayoutParams(new ViewGroup.LayoutParams(DpUtil.dp2px(40), DpUtil.dp2px(40)));
finish();
EasyFloat.with(this) EasyFloat.with(this)
.setLayout(icon) .setLayout(icon)
.setShowPattern(ShowPattern.FOREGROUND) .setShowPattern(ShowPattern.FOREGROUND)
@ -333,6 +341,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
} }
}).show(); }).show();
finish();
if (toPay) { if (toPay) {
Log.e(TAG, "调起支付界面"); Log.e(TAG, "调起支付界面");
// RouteManager.forwardWebViewActivity(null, "https://www.baidu.com"); // RouteManager.forwardWebViewActivity(null, "https://www.baidu.com");
@ -354,6 +363,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override @Override
public void onCallStart(String userId, SurfaceView surfaceView) { public void onCallStart(String userId, SurfaceView surfaceView) {
CallRingingUtil.getInstance().stopRinging();
if (model.equals(CallClientManager.AUDIO_RECEIVED_CALL)) { if (model.equals(CallClientManager.AUDIO_RECEIVED_CALL)) {
gift.setVisibility(View.INVISIBLE); gift.setVisibility(View.INVISIBLE);
money.setVisibility(View.INVISIBLE); money.setVisibility(View.INVISIBLE);
@ -454,7 +464,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override @Override
public void onCallStart(String userId, SurfaceView surfaceView) { public void onCallStart(String userId, SurfaceView surfaceView) {
CallRingingUtil.getInstance().stopRinging();
} }
@Override @Override

View File

@ -55,6 +55,8 @@ import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.util.Objects; import java.util.Objects;
import io.rong.callkit.util.CallRingingUtil;
import io.rong.callkit.util.RingingMode;
import io.rong.calllib.RongCallClient; import io.rong.calllib.RongCallClient;
import io.rong.calllib.StartIncomingPreviewCallback; import io.rong.calllib.StartIncomingPreviewCallback;
@ -154,6 +156,12 @@ public class CallVideoActivity extends AbsOTOActivity {
CallClientManager.getManager().callVideo(targetId); CallClientManager.getManager().callVideo(targetId);
initWaitView(); initWaitView();
} }
if(model.equals(CallClientManager.VIDEO_RECEIVED_CALL)){
CallRingingUtil.getInstance().startRinging(this,RingingMode.Incoming);
close.setVisibility(View.GONE);
}else if(model.equals(CallClientManager.VIDEO_CALL)){
CallRingingUtil.getInstance().startRinging(this, RingingMode.Outgoing);
}
} }
@Override @Override
@ -329,6 +337,7 @@ public class CallVideoActivity extends AbsOTOActivity {
private void accept() { private void accept() {
callLayout.setVisibility(View.GONE); callLayout.setVisibility(View.GONE);
close.setVisibility(View.VISIBLE);
CallClientManager.getManager().acceptCall(callId); CallClientManager.getManager().acceptCall(callId);
} }
@ -499,6 +508,7 @@ public class CallVideoActivity extends AbsOTOActivity {
if (id == R.id.rc_voip_call_answer_btn) { if (id == R.id.rc_voip_call_answer_btn) {
accept(); accept();
} else if (id == R.id.call_stop || id == R.id.rc_voip_call_hang_up) { } else if (id == R.id.call_stop || id == R.id.rc_voip_call_hang_up) {
CallRingingUtil.getInstance().stopRinging();
CallClientManager.getManager().endCall(); CallClientManager.getManager().endCall();
} else if (id == R.id.gift) { } else if (id == R.id.gift) {
new GiftDialog(mContext) new GiftDialog(mContext)
@ -536,6 +546,7 @@ public class CallVideoActivity extends AbsOTOActivity {
@Override @Override
public void onCallStart(String userId, SurfaceView surfaceView) { public void onCallStart(String userId, SurfaceView surfaceView) {
CallRingingUtil.getInstance().stopRinging();
closeWait.setVisibility(View.GONE); closeWait.setVisibility(View.GONE);
initView(); initView();
initButton(buttonView); initButton(buttonView);
@ -660,6 +671,7 @@ public class CallVideoActivity extends AbsOTOActivity {
@Override @Override
public void onCallStart(String userId, SurfaceView surfaceView) { public void onCallStart(String userId, SurfaceView surfaceView) {
CallRingingUtil.getInstance().stopRinging();
Object tag = rootView.getTag(); Object tag = rootView.getTag();
ViewGroup parent = (ViewGroup) rootView.getParent(); ViewGroup parent = (ViewGroup) rootView.getParent();
parent.removeView(rootView); parent.removeView(rootView);
@ -691,6 +703,7 @@ public class CallVideoActivity extends AbsOTOActivity {
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
CallClientManager.getManager().removeOnVoIPCallListener(CallVideoActivity.class); CallClientManager.getManager().removeOnVoIPCallListener(CallVideoActivity.class);
CallRingingUtil.getInstance().stopRinging();
} }
@Override @Override

View File

@ -76,6 +76,7 @@ public class HomeRecommendListAdapter extends RecyclerView.Adapter<HomeRecommend
private ImageView auth; private ImageView auth;
private TextView star; private TextView star;
private TextView sign; private TextView sign;
private TextView level;
private LinearLayout tagLayout; private LinearLayout tagLayout;
public ViewHolder(@NonNull View itemView) { public ViewHolder(@NonNull View itemView) {
@ -88,12 +89,14 @@ public class HomeRecommendListAdapter extends RecyclerView.Adapter<HomeRecommend
tagLayout = itemView.findViewById(R.id.user_tag_layout); tagLayout = itemView.findViewById(R.id.user_tag_layout);
sign = itemView.findViewById(R.id.user_sign); sign = itemView.findViewById(R.id.user_sign);
auth = itemView.findViewById(R.id.auth); auth = itemView.findViewById(R.id.auth);
level = itemView.findViewById(R.id.level);
} }
private void setData(HomeItemBean itemBean, int position) { private void setData(HomeItemBean itemBean, int position) {
star.setText(itemBean.getStar() + "·" + itemBean.getStar_name()); star.setText(itemBean.getStar() + "·" + itemBean.getStar_name());
sign.setText(itemBean.getSignature()); sign.setText(itemBean.getSignature());
userName.setText(itemBean.getUser_nicename()); userName.setText(itemBean.getUser_nicename());
level.setText("Lv."+itemBean.getLevel());
tagLayout.removeAllViews(); tagLayout.removeAllViews();
if (WordUtil.isNewZh()) { if (WordUtil.isNewZh()) {
addTag(itemBean.getCn_label()); addTag(itemBean.getCn_label());

View File

@ -29,6 +29,8 @@ import java.util.Timer;
import java.util.TimerTask; import java.util.TimerTask;
import io.rong.callkit.util.CallKitUtils; import io.rong.callkit.util.CallKitUtils;
import io.rong.callkit.util.CallRingingUtil;
import io.rong.callkit.util.RingingMode;
import io.rong.calllib.CallUserProfile; import io.rong.calllib.CallUserProfile;
import io.rong.calllib.IRongCallListener; import io.rong.calllib.IRongCallListener;
import io.rong.calllib.IRongReceivedCallListener; import io.rong.calllib.IRongReceivedCallListener;
@ -149,6 +151,7 @@ public class CallClientManager {
} }
public void callVideo(String targetId) { public void callVideo(String targetId) {
RongCallClient.getInstance().setVoIPCallListener(new CallStatusListener(new OnCallStatusListener() { RongCallClient.getInstance().setVoIPCallListener(new CallStatusListener(new OnCallStatusListener() {
@Override @Override
public void onCallWait(SurfaceView localVideo) { public void onCallWait(SurfaceView localVideo) {

View File

@ -59,11 +59,12 @@
<TextView <TextView
android:id="@+id/user_name" android:id="@+id/user_name"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:ellipsize="end" android:ellipsize="end"
android:singleLine="true" android:singleLine="true"
tools:text="TextView" tools:text="用户——1234567890"
android:textColor="#333333" android:textColor="#333333"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" /> android:textStyle="bold" />
@ -74,6 +75,35 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center" android:layout_gravity="center"
android:src="@mipmap/ic_home_auth" /> android:src="@mipmap/ic_home_auth" />
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="48dp"
android:layout_height="15dp"
android:background="@mipmap/bg_home_hot_live"
android:layout_gravity="center"
android:orientation="horizontal"
app:layout_constraintBottom_toTopOf="@+id/user_name"
app:layout_constraintStart_toStartOf="@+id/user_name">
<ImageView
android:id="@+id/ic_level"
android:layout_gravity="center"
android:layout_width="10dp"
android:layout_height="12dp"
android:layout_marginStart="5dp"
app:srcCompat="@mipmap/icon_level" />
<TextView
android:id="@+id/level"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:layout_gravity="center"
android:text="LV.21"
android:textColor="#FFF"
android:textSize="10sp" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout