修复测试反馈问题

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")){
auth="0";
}
if (StringUtil.isEmptyAll(age, auth, sex)) {
RouteManager.forwardMainActivity();
} else {
Bundle bundle = new Bundle();
bundle.putString("age", age);
bundle.putString("sex", sex);
bundle.putString("auth", auth);
RouteManager.forwardMainActivityForScreen(bundle);
}
Bundle bundle = new Bundle();
bundle.putString("age", age);
bundle.putString("sex", sex);
bundle.putString("auth", auth);
RouteManager.forwardMainActivityForScreen(bundle);
});
tvSearch.setOnClickListener(v -> {
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.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.util.List;
@ -73,9 +74,20 @@ public class HomeSearchActivity extends AbsOTOActivity {
recommendList.setAdapter(recommendListAdapter);
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"));
search(edit.getText().toString());

View File

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

View File

@ -34,6 +34,7 @@ import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.SpUtil;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@ -86,42 +87,43 @@ public class FriendsFragment extends BaseFragment {
viewPager2.setCurrentItem(0);
}
matching.setOnClickListener(v -> {
SendMessageManager.matching(new OnSendMessageListener() {
@Override
public void onSuccess(String token, SendConsumeBean bean) {
super.onSuccess(token, bean);
Bundle bundle = new Bundle();
bundle.putInt("type", ChatActivity.CALL_CHAT_TYPE_MATCH);
bundle.putString("data", JSONObject.toJSONString(bean));
if (configBean != null) {
bundle.putInt("time", configBean.getMateTime());
} else {
bundle.putInt("time", 5);
ViewClicksAntiShake.clicksAntiShake(matching, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
SendMessageManager.matching(new OnSendMessageListener() {
@Override
public void onSuccess(String token, SendConsumeBean bean) {
super.onSuccess(token, bean);
Bundle bundle = new Bundle();
bundle.putInt("type", ChatActivity.CALL_CHAT_TYPE_MATCH);
bundle.putString("data", JSONObject.toJSONString(bean));
if (configBean != null) {
bundle.putInt("time", configBean.getMateTime());
} else {
bundle.putInt("time", 5);
}
RouteManager.forwardActivity(RouteManager.ACTIVITY_MATCHING, bundle);
}
RouteManager.forwardActivity(RouteManager.ACTIVITY_MATCHING, bundle);
}
@Override
public void onError(int status, String msg, SendConsumeBean bean) {
super.onError(status, msg, bean);
if(status==503){
RouteManager.forwardActivity(RouteManager.ACTIVITY_MATCHING);
return;
@Override
public void onError(int status, String msg, SendConsumeBean bean) {
super.onError(status, msg, bean);
if (status == 503) {
RouteManager.forwardActivity(RouteManager.ACTIVITY_MATCHING);
return;
}
int money = 100;
if (configBean != null) {
money = configBean.getMatePrice();
}
new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.gift_not_money))
.setCancelText(WordUtil.getNewString(R.string.dialog_cancel_tip))
.setApplyText(WordUtil.getNewString(R.string.dialog_to_money_tip))
.showDialog();
}
int money = 100;
if (configBean != null) {
money = configBean.getMatePrice();
}
new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.gift_not_money))
.setCancelText(WordUtil.getNewString(R.string.dialog_cancel_tip))
.setApplyText(WordUtil.getNewString(R.string.dialog_to_money_tip))
.showDialog();
}
});
});
}
});
initMateConfig();
}

View File

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

View File

@ -87,7 +87,8 @@ public class ChooseLabelActivity extends AbsOTOActivity {
if (isUserHome) {
next.setVisibility(View.GONE);
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.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.io.File;
import java.util.Calendar;
@ -206,9 +207,9 @@ public class CompleteActivity extends AbsOTOActivity {
pvTime.show();
}
});
btnRegister.setOnClickListener(new View.OnClickListener() {
ViewClicksAntiShake.clicksAntiShake(btnRegister, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onClick(View v) {
public void onViewClicks() {
if (StringUtils.isEmpty(userNickName.getText().toString())) {
Toast.makeText(mContext, WordUtil.getNewString(R.string.nickname_hint), Toast.LENGTH_SHORT).show();
return;
@ -229,7 +230,7 @@ public class CompleteActivity extends AbsOTOActivity {
@Override
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.Nullable;
import io.rong.imlib.RongIMClient;
import com.alibaba.android.arouter.facade.annotation.Route;
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.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
@Route(path = RouteManager.ACTIVITY_CALL_AUDIO)
@ -88,7 +90,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
model = bundle.getString("model");
initView();
onCallStatusListener = new CallStatusListener();
CallClientManager.getManager().addOnVoIPCallListener(CallAudioActivity.class,onCallStatusListener);
CallClientManager.getManager().addOnVoIPCallListener(CallAudioActivity.class, onCallStatusListener);
initTargetData();
if (model.equals(CallClientManager.VIDEO_FLOAT)) {
EasyFloat.dismiss("call");
@ -97,7 +99,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
gift.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() {
@Override
public void onGranted() {
@ -230,8 +232,8 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
//((ViewGroup) EasyFloat.getFloatView("call").getParent()).removeAllViews();
EasyFloat.dismiss("call");
String sessionId = CallClientManager.getManager().getSessionId();
if(StringUtil.isEmpty(sessionId)){
model=CallClientManager.AUDIO_CALL;
if (StringUtil.isEmpty(sessionId)) {
model = CallClientManager.AUDIO_CALL;
gift.setVisibility(View.INVISIBLE);
money.setVisibility(View.INVISIBLE);
return;
@ -239,11 +241,11 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
if (sessionId.equals(targetId)) {
gift.setVisibility(View.INVISIBLE);
money.setVisibility(View.INVISIBLE);
model=CallClientManager.AUDIO_RECEIVED_CALL;
model = CallClientManager.AUDIO_RECEIVED_CALL;
} else {
gift.setVisibility(View.VISIBLE);
money.setVisibility(View.VISIBLE);
model=CallClientManager.AUDIO_CALL;
model = CallClientManager.AUDIO_CALL;
}
callMsg.setImageResource(R.mipmap.ic_call_audio_msg);
}
@ -263,7 +265,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override
public void permissionResult(boolean b) {
if (b) {
showWindow(toChatView,toPay);
showWindow(toChatView, toPay);
}
}
});
@ -294,13 +296,16 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override
public void show(@NonNull View view) {
view.setOnClickListener(v -> {
Bundle bundle = (Bundle) v.getTag();
bundle.putString("model", CallClientManager.AUDIO_FLOAT);
RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_AUDIO, bundle);
ViewClicksAntiShake.clicksAntiShake(view, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
Bundle bundle = (Bundle) view.getTag();
bundle.putString("model", CallClientManager.AUDIO_FLOAT);
RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_AUDIO, bundle);
}
});
windowListener = new WindowCallStatusListener();
CallClientManager.getManager().addOnVoIPCallListener(EasyFloat.class,windowListener);
CallClientManager.getManager().addOnVoIPCallListener(EasyFloat.class, windowListener);
}
@Override
@ -328,8 +333,8 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
}
}).show();
if(toPay){
Log.e(TAG,"调起支付界面");
if (toPay) {
Log.e(TAG, "调起支付界面");
RouteManager.forwardWebViewActivity(null, "https://www.baidu.com");
// 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 {
String sessionId;
@Override
public void onCallWait(SurfaceView surfaceView) {
tips.setVisibility(View.VISIBLE);
@ -355,21 +362,24 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
money.setVisibility(View.VISIBLE);
}
tips.setText(R.string.call_tips2);
tips.postDelayed(()->{
tips.postDelayed(() -> {
tips.setVisibility(View.GONE);
},1000);
}, 1000);
sessionId = CallClientManager.getManager().getSessionId();
}
@Override
public void onCallEnd() {
Bundle bundle = new Bundle();
bundle.putString("model", CallClientManager.AUDIO_CALL);
bundle.putString("targetId", targetId);
bundle.putString("callId", targetId);
bundle.putString("user", JSONObject.toJSONString(userData));
bundle.putString("time", callTime.getText().toString());
bundle.putString("path", RouteManager.ACTIVITY_CALL_AUDIO);
RouteManager.forwardActivity(RouteManager.ACTIVITY_END_CALL, bundle);
if (sessionId != null && !sessionId.equals(targetId)) {
Bundle bundle = new Bundle();
bundle.putString("model", CallClientManager.AUDIO_CALL);
bundle.putString("targetId", targetId);
bundle.putString("callId", targetId);
bundle.putString("user", JSONObject.toJSONString(userData));
bundle.putString("time", callTime.getText().toString());
bundle.putString("path", RouteManager.ACTIVITY_CALL_AUDIO);
RouteManager.forwardActivity(RouteManager.ACTIVITY_END_CALL, bundle);
}
finish();
}
@ -381,7 +391,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override
public void onTime(String 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) {
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;
}
@ -466,18 +476,18 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
v.setTag(true);
callMsg.setImageResource(R.mipmap.ic_call_audio_msg);
} else {
showWindow(true,false);
showWindow(true, false);
}
} else if (id == R.id.call_stop) {
stop();
} else if (id == R.id.gift) {
showGift();
} else if (id == R.id.close) {
showWindow(false,false);
showWindow(false, false);
} else if (id == R.id.follow) {
follow();
} else if(id ==R.id.money){
showWindow(false,true);
} else if (id == R.id.money) {
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.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.util.Objects;
@ -333,7 +334,7 @@ public class CallVideoActivity extends AbsOTOActivity {
private void closeCamera() {
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()) {
targetView.setVisibility(View.VISIBLE);
} else {
@ -405,10 +406,13 @@ public class CallVideoActivity extends AbsOTOActivity {
@Override
public void show(@NonNull View view) {
view.setOnClickListener(v -> {
Bundle bundle = (Bundle) v.getTag();
bundle.putString("model", CallClientManager.VIDEO_FLOAT);
RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_VIDEO, bundle);
ViewClicksAntiShake.clicksAntiShake(view, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
Bundle bundle = (Bundle) view.getTag();
bundle.putString("model", CallClientManager.VIDEO_FLOAT);
RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_VIDEO, bundle);
}
});
windowListener = new WindowCallStatusListener(view);
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.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.util.ArrayList;
import java.util.List;
@ -113,9 +114,9 @@ public class HomeHotListAdapter extends RecyclerView.Adapter<HomeHotListAdapter.
status.setImageResource(R.mipmap.ic_home_hot_status_busy);
}
ImgLoader.display(mContext, bean.getAvatar(), avatar);
itemView.setOnClickListener(new View.OnClickListener() {
ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onClick(View v) {
public void onViewClicks() {
if (bean.getIs_accost() == 0) {
ConversationUtils.startConversation(mContext, bean.getId() + "");
return;
@ -143,7 +144,6 @@ public class HomeHotListAdapter extends RecyclerView.Adapter<HomeHotListAdapter.
@Override
public void onApply(Dialog dialog) {
super.onApply(dialog);
ToastUtil.showDebug("跳充值页面");
}
})
.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.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.util.ArrayList;
import java.util.List;
@ -115,9 +116,9 @@ public class HomeRecommendListAdapter extends RecyclerView.Adapter<HomeRecommend
chat.setImageResource(R.mipmap.ic_home_recommend_chat);
}
ImgLoader.display(mContext, itemBean.getAvatar(), avatar);
chat.setOnClickListener(new View.OnClickListener() {
ViewClicksAntiShake.clicksAntiShake(chat, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onClick(View v) {
public void onViewClicks() {
if (itemBean.getIs_accost() == 0) {
ConversationUtils.startConversation(mContext, itemBean.getId() + "");
return;
@ -145,7 +146,6 @@ public class HomeRecommendListAdapter extends RecyclerView.Adapter<HomeRecommend
@Override
public void onApply(Dialog dialog) {
super.onApply(dialog);
ToastUtil.showDebug("跳充值页面");
}
})
.showDialog();

View File

@ -39,7 +39,8 @@ public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter {
@Override
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 {
int type = Integer.parseInt(targetId);
mList.setSwipeItemMenuEnabled(position, type > 100);
@ -47,6 +48,10 @@ public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter {
e.printStackTrace();
}
super.onBindViewHolder(holder, position);
if(conversation.mCore.getUnreadMessageCount()>99){
holder.setText(R.id.rc_conversation_unread_count,"99+");
}
}
@Override

View File

@ -11,6 +11,7 @@ import android.util.Log;
import android.widget.Toast;
import com.shayu.onetoone.R;
import com.shayu.onetoone.activity.fragments.message.ChatMessageFragment;
import com.shayu.onetoone.bean.MessageChatAuthContent;
import com.shayu.onetoone.bean.SendConsumeBean;
import com.shayu.onetoone.bean.UserBean;
@ -47,6 +48,8 @@ import io.rong.imlib.model.MessageContent;
public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider {
long clickTimer;
@Override
protected boolean onItemClick(
ViewHolder holder,
@ -84,9 +87,18 @@ public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider {
.show();
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
public void onSuccess(String token, SendConsumeBean bean) {
super.onSuccess(token, bean);

View File

@ -3,20 +3,39 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/activity_top"
android:background="@color/white"
android:orientation="vertical"
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
android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginTop="@dimen/activity_top"
android:padding="10dp"
android:text="@string/layout_choose_label_tip1"
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
android:layout_width="match_parent"

View File

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

View File

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