修复测试反馈问题

This commit is contained in:
zlzw 2023-11-01 23:15:29 +08:00
parent db8296543e
commit 1dd19405bc
16 changed files with 216 additions and 120 deletions

View File

@ -60,15 +60,11 @@ public class HomeScreenActivity extends AbsOTOActivity {
if(auth.equals("all")){ if(auth.equals("all")){
auth="0"; auth="0";
} }
if (StringUtil.isEmptyAll(age, auth, sex)) {
RouteManager.forwardMainActivity();
} else {
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putString("age", age); bundle.putString("age", age);
bundle.putString("sex", sex); bundle.putString("sex", sex);
bundle.putString("auth", auth); bundle.putString("auth", auth);
RouteManager.forwardMainActivityForScreen(bundle); RouteManager.forwardMainActivityForScreen(bundle);
}
}); });
tvSearch.setOnClickListener(v -> { tvSearch.setOnClickListener(v -> {
String search = etSearch.getText().toString(); String search = etSearch.getText().toString();

View File

@ -19,6 +19,7 @@ import com.yunbao.common.adapter.SpaceGridItemDecoration;
import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.util.List; import java.util.List;
@ -73,9 +74,20 @@ public class HomeSearchActivity extends AbsOTOActivity {
recommendList.setAdapter(recommendListAdapter); recommendList.setAdapter(recommendListAdapter);
recommendList.addItemDecoration(new SpaceGridItemDecoration(10)); recommendList.addItemDecoration(new SpaceGridItemDecoration(10));
refresh.setOnClickListener(v -> refresh());
searchBtn.setOnClickListener(v -> search(edit.getText().toString())); ViewClicksAntiShake.clicksAntiShake(refresh, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
refresh();
}
});
ViewClicksAntiShake.clicksAntiShake(searchBtn, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
search(edit.getText().toString());
}
});
edit.setText(getIntent().getExtras().getString("search")); edit.setText(getIntent().getExtras().getString("search"));
search(edit.getText().toString()); search(edit.getText().toString());

View File

@ -276,8 +276,12 @@ public class MainActivity extends AbsOTOActivity {
private void updateUnreadCount(int count) { private void updateUnreadCount(int count) {
dslTabLayout.setDrawBadge(count > 0); dslTabLayout.setDrawBadge(count > 0);
if(count>99){
dslTabLayout.updateTabBadge(2, "99+");
}else {
dslTabLayout.updateTabBadge(2, count + ""); dslTabLayout.updateTabBadge(2, count + "");
} }
}
@Override @Override
protected int getLayoutId() { protected int getLayoutId() {

View File

@ -34,6 +34,7 @@ import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.SpUtil; import com.yunbao.common.utils.SpUtil;
import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode; import org.greenrobot.eventbus.ThreadMode;
@ -86,8 +87,9 @@ public class FriendsFragment extends BaseFragment {
viewPager2.setCurrentItem(0); viewPager2.setCurrentItem(0);
} }
ViewClicksAntiShake.clicksAntiShake(matching, new ViewClicksAntiShake.ViewClicksCallBack() {
matching.setOnClickListener(v -> { @Override
public void onViewClicks() {
SendMessageManager.matching(new OnSendMessageListener() { SendMessageManager.matching(new OnSendMessageListener() {
@Override @Override
public void onSuccess(String token, SendConsumeBean bean) { public void onSuccess(String token, SendConsumeBean bean) {
@ -106,7 +108,7 @@ public class FriendsFragment extends BaseFragment {
@Override @Override
public void onError(int status, String msg, SendConsumeBean bean) { public void onError(int status, String msg, SendConsumeBean bean) {
super.onError(status, msg, bean); super.onError(status, msg, bean);
if(status==503){ if (status == 503) {
RouteManager.forwardActivity(RouteManager.ACTIVITY_MATCHING); RouteManager.forwardActivity(RouteManager.ACTIVITY_MATCHING);
return; return;
} }
@ -121,7 +123,7 @@ public class FriendsFragment extends BaseFragment {
.showDialog(); .showDialog();
} }
}); });
}
}); });
initMateConfig(); initMateConfig();
} }

View File

@ -10,6 +10,7 @@ import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.text.InputFilter;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
@ -65,18 +66,21 @@ import com.yunbao.common.utils.WordUtil;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import java.io.File; import java.io.File;
import java.lang.ref.WeakReference;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import androidx.lifecycle.Observer;
import io.rong.calllib.RongCallClient; import io.rong.calllib.RongCallClient;
import io.rong.imkit.IMCenter; import io.rong.imkit.IMCenter;
import io.rong.imkit.config.RongConfigCenter; import io.rong.imkit.config.RongConfigCenter;
import io.rong.imkit.conversation.MessageListAdapter; import io.rong.imkit.conversation.MessageListAdapter;
import io.rong.imkit.conversation.extension.InputMode; import io.rong.imkit.conversation.extension.InputMode;
import io.rong.imkit.conversation.extension.RongExtensionViewModel; import io.rong.imkit.conversation.extension.RongExtensionViewModel;
import io.rong.imkit.conversation.extension.component.inputpanel.InputPanel;
import io.rong.imkit.model.UiMessage; import io.rong.imkit.model.UiMessage;
import io.rong.imkit.picture.PictureSelector; import io.rong.imkit.picture.PictureSelector;
import io.rong.imkit.picture.config.PictureMimeType; import io.rong.imkit.picture.config.PictureMimeType;
@ -92,6 +96,7 @@ import io.rong.message.TextMessage;
* 融云聊天UI * 融云聊天UI
*/ */
public class ChatMessageFragment extends AbsConversationFragment { public class ChatMessageFragment extends AbsConversationFragment {
private static WeakReference<UserBean> targetUser;
Button mSendBtn; Button mSendBtn;
View mInputPanel; View mInputPanel;
View numLayout; View numLayout;
@ -111,7 +116,6 @@ public class ChatMessageFragment extends AbsConversationFragment {
TextView num; TextView num;
Button follow; Button follow;
RongExtensionViewModel mExtensionViewModel; RongExtensionViewModel mExtensionViewModel;
UserBean targetUser;
private String token; private String token;
@ -123,6 +127,10 @@ public class ChatMessageFragment extends AbsConversationFragment {
Bus.getOff(this); Bus.getOff(this);
} }
public static UserBean getTargetUser() {
return targetUser.get();
}
@Override @Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
@ -234,6 +242,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
call = mInputPanel.getRootView().findViewById(R.id.input_panel_call_btn); call = mInputPanel.getRootView().findViewById(R.id.input_panel_call_btn);
gift = mInputPanel.getRootView().findViewById(R.id.input_panel_gift_btn); gift = mInputPanel.getRootView().findViewById(R.id.input_panel_gift_btn);
mEditText = mInputPanel.getRootView().findViewById(R.id.edit_btn); mEditText = mInputPanel.getRootView().findViewById(R.id.edit_btn);
mEditText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(300)});
mEmojiToggleBtn = mInputPanel.findViewById(R.id.input_panel_emoji_btn); mEmojiToggleBtn = mInputPanel.findViewById(R.id.input_panel_emoji_btn);
ImageView mVoiceToggleBtn = (ImageView) mInputPanel.getRootView().findViewById(R.id.input_panel_voice_toggle); ImageView mVoiceToggleBtn = (ImageView) mInputPanel.getRootView().findViewById(R.id.input_panel_voice_toggle);
assert mVoiceToggleBtn != null; assert mVoiceToggleBtn != null;
@ -249,14 +258,19 @@ public class ChatMessageFragment extends AbsConversationFragment {
} }
} }
}); });
this.mExtensionViewModel.getInputModeLiveData().observe(getViewLifecycleOwner(), new Observer<InputMode>() {
public void onChanged(InputMode inputMode) {
updateViewByInputMode(inputMode);
}
});
mVoiceToggleBtn.setOnClickListener(view -> { mVoiceToggleBtn.setOnClickListener(view -> {
mExtensionViewModel.getInputModeLiveData().setValue(InputMode.TextInput); mExtensionViewModel.getInputModeLiveData().setValue(InputMode.NormalMode);
giftPanel.hide(); giftPanel.hide();
audio.show(); audio.show();
}); });
gift.setOnClickListener(v -> { gift.setOnClickListener(v -> {
mExtensionViewModel.getInputModeLiveData().setValue(InputMode.TextInput); mExtensionViewModel.getInputModeLiveData().setValue(InputMode.NormalMode);
audio.hide(); audio.hide();
giftPanel.show(); giftPanel.show();
}); });
@ -454,6 +468,13 @@ public class ChatMessageFragment extends AbsConversationFragment {
} }
} }
private void updateViewByInputMode(InputMode inputMode) {
if(inputMode==InputMode.TextInput){
audio.hide();
giftPanel.hide();
}
}
private boolean isFloatWindows() { private boolean isFloatWindows() {
return EasyFloat.isShow("call"); return EasyFloat.isShow("call");
} }
@ -605,7 +626,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
.getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback<UserBean>() { .getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback<UserBean>() {
@Override @Override
public void onSuccess(UserBean data) { public void onSuccess(UserBean data) {
targetUser = data; targetUser = new WeakReference<>(data);
ImgLoader.display(mContext, data.getUser().getAvatar(), avatar); ImgLoader.display(mContext, data.getUser().getAvatar(), avatar);
uname.setText(data.getUser().getUserNicename()); uname.setText(data.getUser().getUserNicename());
sign.setText(data.getUser().getSignature()); sign.setText(data.getUser().getSignature());
@ -637,11 +658,11 @@ public class ChatMessageFragment extends AbsConversationFragment {
video.setImageResource(R.mipmap.ic_msg_video_lock); video.setImageResource(R.mipmap.ic_msg_video_lock);
call.setTag("true"); call.setTag("true");
} }
AppManager.runDebugCode(() -> { /* AppManager.runDebugCode(() -> {
call.setTag(null); call.setTag(null);
call.setImageResource(R.mipmap.ic_msg_call); call.setImageResource(R.mipmap.ic_msg_call);
video.setImageResource(R.mipmap.ic_msg_video); video.setImageResource(R.mipmap.ic_msg_video);
}); });*/
} }
@Override @Override

View File

@ -87,7 +87,8 @@ public class ChooseLabelActivity extends AbsOTOActivity {
if (isUserHome) { if (isUserHome) {
next.setVisibility(View.GONE); next.setVisibility(View.GONE);
getUserLabel(); getUserLabel();
}else{
findViewById(R.id.btn_back).setVisibility(View.GONE);
} }
} }

View File

@ -34,6 +34,7 @@ import com.yunbao.common.utils.L;
import com.yunbao.common.utils.ProcessImageUtil; import com.yunbao.common.utils.ProcessImageUtil;
import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.io.File; import java.io.File;
import java.util.Calendar; import java.util.Calendar;
@ -206,9 +207,9 @@ public class CompleteActivity extends AbsOTOActivity {
pvTime.show(); pvTime.show();
} }
}); });
btnRegister.setOnClickListener(new View.OnClickListener() { ViewClicksAntiShake.clicksAntiShake(btnRegister, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override @Override
public void onClick(View v) { public void onViewClicks() {
if (StringUtils.isEmpty(userNickName.getText().toString())) { if (StringUtils.isEmpty(userNickName.getText().toString())) {
Toast.makeText(mContext, WordUtil.getNewString(R.string.nickname_hint), Toast.LENGTH_SHORT).show(); Toast.makeText(mContext, WordUtil.getNewString(R.string.nickname_hint), Toast.LENGTH_SHORT).show();
return; return;
@ -229,7 +230,7 @@ public class CompleteActivity extends AbsOTOActivity {
@Override @Override
public void onError(String error) { public void onError(String error) {
ToastUtil.show(error);
} }
}); });
} }

View File

@ -13,6 +13,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import io.rong.imlib.RongIMClient;
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -45,6 +46,7 @@ import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
@Route(path = RouteManager.ACTIVITY_CALL_AUDIO) @Route(path = RouteManager.ACTIVITY_CALL_AUDIO)
@ -88,7 +90,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
model = bundle.getString("model"); model = bundle.getString("model");
initView(); initView();
onCallStatusListener = new CallStatusListener(); onCallStatusListener = new CallStatusListener();
CallClientManager.getManager().addOnVoIPCallListener(CallAudioActivity.class,onCallStatusListener); CallClientManager.getManager().addOnVoIPCallListener(CallAudioActivity.class, onCallStatusListener);
initTargetData(); initTargetData();
if (model.equals(CallClientManager.VIDEO_FLOAT)) { if (model.equals(CallClientManager.VIDEO_FLOAT)) {
EasyFloat.dismiss("call"); EasyFloat.dismiss("call");
@ -97,7 +99,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
gift.setVisibility(View.VISIBLE); gift.setVisibility(View.VISIBLE);
money.setVisibility(View.VISIBLE); money.setVisibility(View.VISIBLE);
} }
if(!com.blankj.utilcode.util.PermissionUtils.isGranted(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)) { if (!com.blankj.utilcode.util.PermissionUtils.isGranted(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)) {
com.blankj.utilcode.util.PermissionUtils.permission(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO).callback(new com.blankj.utilcode.util.PermissionUtils.SimpleCallback() { com.blankj.utilcode.util.PermissionUtils.permission(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO).callback(new com.blankj.utilcode.util.PermissionUtils.SimpleCallback() {
@Override @Override
public void onGranted() { public void onGranted() {
@ -230,8 +232,8 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
//((ViewGroup) EasyFloat.getFloatView("call").getParent()).removeAllViews(); //((ViewGroup) EasyFloat.getFloatView("call").getParent()).removeAllViews();
EasyFloat.dismiss("call"); EasyFloat.dismiss("call");
String sessionId = CallClientManager.getManager().getSessionId(); String sessionId = CallClientManager.getManager().getSessionId();
if(StringUtil.isEmpty(sessionId)){ if (StringUtil.isEmpty(sessionId)) {
model=CallClientManager.AUDIO_CALL; model = CallClientManager.AUDIO_CALL;
gift.setVisibility(View.INVISIBLE); gift.setVisibility(View.INVISIBLE);
money.setVisibility(View.INVISIBLE); money.setVisibility(View.INVISIBLE);
return; return;
@ -239,11 +241,11 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
if (sessionId.equals(targetId)) { if (sessionId.equals(targetId)) {
gift.setVisibility(View.INVISIBLE); gift.setVisibility(View.INVISIBLE);
money.setVisibility(View.INVISIBLE); money.setVisibility(View.INVISIBLE);
model=CallClientManager.AUDIO_RECEIVED_CALL; model = CallClientManager.AUDIO_RECEIVED_CALL;
} else { } else {
gift.setVisibility(View.VISIBLE); gift.setVisibility(View.VISIBLE);
money.setVisibility(View.VISIBLE); money.setVisibility(View.VISIBLE);
model=CallClientManager.AUDIO_CALL; model = CallClientManager.AUDIO_CALL;
} }
callMsg.setImageResource(R.mipmap.ic_call_audio_msg); callMsg.setImageResource(R.mipmap.ic_call_audio_msg);
} }
@ -263,7 +265,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override @Override
public void permissionResult(boolean b) { public void permissionResult(boolean b) {
if (b) { if (b) {
showWindow(toChatView,toPay); showWindow(toChatView, toPay);
} }
} }
}); });
@ -294,13 +296,16 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override @Override
public void show(@NonNull View view) { public void show(@NonNull View view) {
view.setOnClickListener(v -> { ViewClicksAntiShake.clicksAntiShake(view, new ViewClicksAntiShake.ViewClicksCallBack() {
Bundle bundle = (Bundle) v.getTag(); @Override
public void onViewClicks() {
Bundle bundle = (Bundle) view.getTag();
bundle.putString("model", CallClientManager.AUDIO_FLOAT); bundle.putString("model", CallClientManager.AUDIO_FLOAT);
RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_AUDIO, bundle); RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_AUDIO, bundle);
}
}); });
windowListener = new WindowCallStatusListener(); windowListener = new WindowCallStatusListener();
CallClientManager.getManager().addOnVoIPCallListener(EasyFloat.class,windowListener); CallClientManager.getManager().addOnVoIPCallListener(EasyFloat.class, windowListener);
} }
@Override @Override
@ -328,8 +333,8 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
} }
}).show(); }).show();
if(toPay){ if (toPay) {
Log.e(TAG,"调起支付界面"); Log.e(TAG, "调起支付界面");
RouteManager.forwardWebViewActivity(null, "https://www.baidu.com"); RouteManager.forwardWebViewActivity(null, "https://www.baidu.com");
// RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext,false,HtmlUrlUtils.URL_PAY_COIN)); // RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext,false,HtmlUrlUtils.URL_PAY_COIN));
} }
@ -339,6 +344,8 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
} }
private class CallStatusListener extends OnCallStatusListener { private class CallStatusListener extends OnCallStatusListener {
String sessionId;
@Override @Override
public void onCallWait(SurfaceView surfaceView) { public void onCallWait(SurfaceView surfaceView) {
tips.setVisibility(View.VISIBLE); tips.setVisibility(View.VISIBLE);
@ -355,13 +362,15 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
money.setVisibility(View.VISIBLE); money.setVisibility(View.VISIBLE);
} }
tips.setText(R.string.call_tips2); tips.setText(R.string.call_tips2);
tips.postDelayed(()->{ tips.postDelayed(() -> {
tips.setVisibility(View.GONE); tips.setVisibility(View.GONE);
},1000); }, 1000);
sessionId = CallClientManager.getManager().getSessionId();
} }
@Override @Override
public void onCallEnd() { public void onCallEnd() {
if (sessionId != null && !sessionId.equals(targetId)) {
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putString("model", CallClientManager.AUDIO_CALL); bundle.putString("model", CallClientManager.AUDIO_CALL);
bundle.putString("targetId", targetId); bundle.putString("targetId", targetId);
@ -370,6 +379,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
bundle.putString("time", callTime.getText().toString()); bundle.putString("time", callTime.getText().toString());
bundle.putString("path", RouteManager.ACTIVITY_CALL_AUDIO); bundle.putString("path", RouteManager.ACTIVITY_CALL_AUDIO);
RouteManager.forwardActivity(RouteManager.ACTIVITY_END_CALL, bundle); RouteManager.forwardActivity(RouteManager.ACTIVITY_END_CALL, bundle);
}
finish(); finish();
} }
@ -381,7 +391,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override @Override
public void onTime(String time) { public void onTime(String time) {
super.onTime(time); super.onTime(time);
callTime.setText(WordUtil.getNewString(R.string.call_time)+""+ time); callTime.setText(WordUtil.getNewString(R.string.call_time) + "" + time);
} }
@ -406,7 +416,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
} }
void createShow(long msg) { void createShow(long msg) {
if (model.equals(CallClientManager.AUDIO_RECEIVED_CALL)||model.equals(CallClientManager.VIDEO_RECEIVED_CALL)) { if (model.equals(CallClientManager.AUDIO_RECEIVED_CALL) || model.equals(CallClientManager.VIDEO_RECEIVED_CALL)) {
return; return;
} }
@ -466,18 +476,18 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
v.setTag(true); v.setTag(true);
callMsg.setImageResource(R.mipmap.ic_call_audio_msg); callMsg.setImageResource(R.mipmap.ic_call_audio_msg);
} else { } else {
showWindow(true,false); showWindow(true, false);
} }
} else if (id == R.id.call_stop) { } else if (id == R.id.call_stop) {
stop(); stop();
} else if (id == R.id.gift) { } else if (id == R.id.gift) {
showGift(); showGift();
} else if (id == R.id.close) { } else if (id == R.id.close) {
showWindow(false,false); showWindow(false, false);
} else if (id == R.id.follow) { } else if (id == R.id.follow) {
follow(); follow();
} else if(id ==R.id.money){ } else if (id == R.id.money) {
showWindow(false,true); showWindow(false, true);
} }
} }
} }

View File

@ -51,6 +51,7 @@ import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.util.Objects; import java.util.Objects;
@ -333,7 +334,7 @@ public class CallVideoActivity extends AbsOTOActivity {
private void closeCamera() { private void closeCamera() {
RongCallClient.getInstance().setEnableLocalVideo(!RongCallClient.getInstance().isLocalVideoEnabled()); RongCallClient.getInstance().setEnableLocalVideo(!RongCallClient.getInstance().isLocalVideoEnabled());
cameraCloseSwitch.setImageResource(RongCallClient.getInstance().isLocalAudioEnabled() ? R.mipmap.ic_call_video_select : R.mipmap.ic_call_video); cameraCloseSwitch.setImageResource(RongCallClient.getInstance().isLocalVideoEnabled() ? R.mipmap.ic_call_video_select : R.mipmap.ic_call_video);
if (RongCallClient.getInstance().isLocalVideoEnabled()) { if (RongCallClient.getInstance().isLocalVideoEnabled()) {
targetView.setVisibility(View.VISIBLE); targetView.setVisibility(View.VISIBLE);
} else { } else {
@ -405,10 +406,13 @@ public class CallVideoActivity extends AbsOTOActivity {
@Override @Override
public void show(@NonNull View view) { public void show(@NonNull View view) {
view.setOnClickListener(v -> { ViewClicksAntiShake.clicksAntiShake(view, new ViewClicksAntiShake.ViewClicksCallBack() {
Bundle bundle = (Bundle) v.getTag(); @Override
public void onViewClicks() {
Bundle bundle = (Bundle) view.getTag();
bundle.putString("model", CallClientManager.VIDEO_FLOAT); bundle.putString("model", CallClientManager.VIDEO_FLOAT);
RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_VIDEO, bundle); RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_VIDEO, bundle);
}
}); });
windowListener = new WindowCallStatusListener(view); windowListener = new WindowCallStatusListener(view);
CallClientManager.getManager().addOnVoIPCallListener(EasyFloat.class, windowListener); CallClientManager.getManager().addOnVoIPCallListener(EasyFloat.class, windowListener);

View File

@ -26,6 +26,7 @@ import com.shayu.onetoone.utils.ConversationUtils;
import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -113,9 +114,9 @@ public class HomeHotListAdapter extends RecyclerView.Adapter<HomeHotListAdapter.
status.setImageResource(R.mipmap.ic_home_hot_status_busy); status.setImageResource(R.mipmap.ic_home_hot_status_busy);
} }
ImgLoader.display(mContext, bean.getAvatar(), avatar); ImgLoader.display(mContext, bean.getAvatar(), avatar);
itemView.setOnClickListener(new View.OnClickListener() { ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override @Override
public void onClick(View v) { public void onViewClicks() {
if (bean.getIs_accost() == 0) { if (bean.getIs_accost() == 0) {
ConversationUtils.startConversation(mContext, bean.getId() + ""); ConversationUtils.startConversation(mContext, bean.getId() + "");
return; return;
@ -143,7 +144,6 @@ public class HomeHotListAdapter extends RecyclerView.Adapter<HomeHotListAdapter.
@Override @Override
public void onApply(Dialog dialog) { public void onApply(Dialog dialog) {
super.onApply(dialog); super.onApply(dialog);
ToastUtil.showDebug("跳充值页面");
} }
}) })
.setCancelText(WordUtil.getNewString(R.string.money_cancel)) .setCancelText(WordUtil.getNewString(R.string.money_cancel))

View File

@ -28,6 +28,7 @@ import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -115,9 +116,9 @@ public class HomeRecommendListAdapter extends RecyclerView.Adapter<HomeRecommend
chat.setImageResource(R.mipmap.ic_home_recommend_chat); chat.setImageResource(R.mipmap.ic_home_recommend_chat);
} }
ImgLoader.display(mContext, itemBean.getAvatar(), avatar); ImgLoader.display(mContext, itemBean.getAvatar(), avatar);
chat.setOnClickListener(new View.OnClickListener() { ViewClicksAntiShake.clicksAntiShake(chat, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override @Override
public void onClick(View v) { public void onViewClicks() {
if (itemBean.getIs_accost() == 0) { if (itemBean.getIs_accost() == 0) {
ConversationUtils.startConversation(mContext, itemBean.getId() + ""); ConversationUtils.startConversation(mContext, itemBean.getId() + "");
return; return;
@ -145,7 +146,6 @@ public class HomeRecommendListAdapter extends RecyclerView.Adapter<HomeRecommend
@Override @Override
public void onApply(Dialog dialog) { public void onApply(Dialog dialog) {
super.onApply(dialog); super.onApply(dialog);
ToastUtil.showDebug("跳充值页面");
} }
}) })
.showDialog(); .showDialog();

View File

@ -39,7 +39,8 @@ public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter {
@Override @Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) { public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
String targetId = getData().get(position).mCore.getTargetId(); BaseUiConversation conversation = getData().get(position);
String targetId = conversation.mCore.getTargetId();
try { try {
int type = Integer.parseInt(targetId); int type = Integer.parseInt(targetId);
mList.setSwipeItemMenuEnabled(position, type > 100); mList.setSwipeItemMenuEnabled(position, type > 100);
@ -47,6 +48,10 @@ public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter {
e.printStackTrace(); e.printStackTrace();
} }
super.onBindViewHolder(holder, position); super.onBindViewHolder(holder, position);
if(conversation.mCore.getUnreadMessageCount()>99){
holder.setText(R.id.rc_conversation_unread_count,"99+");
}
} }
@Override @Override

View File

@ -11,6 +11,7 @@ import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
import com.shayu.onetoone.R; import com.shayu.onetoone.R;
import com.shayu.onetoone.activity.fragments.message.ChatMessageFragment;
import com.shayu.onetoone.bean.MessageChatAuthContent; import com.shayu.onetoone.bean.MessageChatAuthContent;
import com.shayu.onetoone.bean.SendConsumeBean; import com.shayu.onetoone.bean.SendConsumeBean;
import com.shayu.onetoone.bean.UserBean; import com.shayu.onetoone.bean.UserBean;
@ -47,6 +48,8 @@ import io.rong.imlib.model.MessageContent;
public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider { public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider {
long clickTimer;
@Override @Override
protected boolean onItemClick( protected boolean onItemClick(
ViewHolder holder, ViewHolder holder,
@ -84,9 +87,18 @@ public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider {
.show(); .show();
return true; return true;
} }
if (System.currentTimeMillis() - clickTimer < 600) {
return true;
}
clickTimer = System.currentTimeMillis();
if (ChatMessageFragment.getTargetUser() != null) {
if (ChatMessageFragment.getTargetUser().getGiftNum() == 0) {
ToastUtil.show(R.string.toast_call_not_unlock);
return true;
}
}
MsgCheckUtils.checkAuth(context, uiMessage.getMessage().getTargetId(), new OnSendMessageListener() {
MsgCheckUtils.checkAuth(context,uiMessage.getMessage().getTargetId(), new OnSendMessageListener() {
@Override @Override
public void onSuccess(String token, SendConsumeBean bean) { public void onSuccess(String token, SendConsumeBean bean) {
super.onSuccess(token, bean); super.onSuccess(token, bean);

View File

@ -3,20 +3,39 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginTop="@dimen/activity_top"
android:background="@color/white" android:background="@color/white"
android:orientation="vertical" android:orientation="vertical"
android:padding="15dp"> android:padding="15dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/btn_back"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginStart="18dp"
android:scaleType="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/ic_top_break" />
<TextView <TextView
android:id="@+id/next" android:id="@+id/next"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginTop="@dimen/activity_top"
android:padding="10dp" android:padding="10dp"
android:text="@string/layout_choose_label_tip1" android:text="@string/layout_choose_label_tip1"
android:textColor="@color/black2" android:textColor="@color/black2"
android:textSize="14sp" /> android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ScrollView <ScrollView
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -92,13 +92,13 @@
<TextView <TextView
android:id="@+id/rc_conversation_unread_count" android:id="@+id/rc_conversation_unread_count"
android:layout_width="18dp" android:layout_width="22dp"
android:layout_height="18dp" android:layout_height="22dp"
android:autoSizeTextType="uniform" android:autoSizeTextType="uniform"
android:background="@drawable/bg_red_point" android:background="@drawable/bg_red_point"
android:ellipsize="marquee" android:ellipsize="marquee"
android:gravity="center" android:gravity="center"
android:text="0" tools:text="99+"
android:textColor="#fff" android:textColor="#fff"
android:textSize="14sp" android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View File

@ -1,26 +1,32 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="60dp" android:layout_height="60dp"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:id="@+id/linearLayout5"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/linearLayout6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView <TextView
android:id="@+id/memo_name" android:id="@+id/memo_name"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="13dp" android:layout_marginStart="13dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:ellipsize="end" android:ellipsize="end"
android:maxWidth="170dp"
android:singleLine="true" android:singleLine="true"
android:text="收到×××的×××禮物"
android:textColor="#333333" android:textColor="#333333"
android:textSize="14sp" /> android:textSize="14sp"
tools:text="收到××××××禮物收到×××××1234567890214644" />
<TextView <TextView
android:id="@+id/create_time" android:id="@+id/create_time"
@ -38,11 +44,14 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical" android:layout_gravity="end|center_vertical"
android:layout_marginEnd="19dp" android:gravity="center_vertical"
android:gravity="center_vertical"> app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView <ImageView
android:layout_width="14dp" android:layout_width="14dp"
@ -54,9 +63,9 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:ellipsize="end" android:ellipsize="end"
android:maxWidth="100dp" android:maxEms="5"
android:singleLine="true" android:singleLine="true"
android:text="+1111111110.5" tools:text="+1111111110.5"
android:textColor="#333333" android:textColor="#333333"
android:textSize="16sp" /> android:textSize="16sp" />
</LinearLayout> </LinearLayout>
@ -65,7 +74,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_gravity="bottom" android:layout_gravity="bottom"
android:layout_marginStart="8dp" android:background="#80999999"
android:layout_marginEnd="8dp" app:layout_constraintBottom_toBottomOf="parent"
android:background="#80999999" /> app:layout_constraintStart_toStartOf="parent" />
</FrameLayout> </androidx.constraintlayout.widget.ConstraintLayout>