diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeScreenActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeScreenActivity.java index 1aa3616b4..e6da89076 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeScreenActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeScreenActivity.java @@ -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(); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeSearchActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeSearchActivity.java index 67c8f621c..907c93d4b 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeSearchActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeSearchActivity.java @@ -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()); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java index 0177333cb..31469450e 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java @@ -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 diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/FriendsFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/FriendsFragment.java index 42e1fa0af..fb890136b 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/FriendsFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/FriendsFragment.java @@ -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(); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java index 78f43159e..0d889f4a2 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java @@ -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 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() { + 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() { @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 diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/ChooseLabelActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/ChooseLabelActivity.java index 8296a0c51..081de670f 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/ChooseLabelActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/ChooseLabelActivity.java @@ -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); } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java index b74d068d9..c39f5b99e 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java @@ -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); } }); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java index eb4269a51..e9b82ff87 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java @@ -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); } } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java index 0f3a6a264..1777a46bd 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java @@ -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); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeHotListAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeHotListAdapter.java index 24639a8ac..e609e1ce1 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeHotListAdapter.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeHotListAdapter.java @@ -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 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 diff --git a/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java b/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java index 5051471de..32b366f5e 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java @@ -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); diff --git a/OneToOne/src/main/res/layout/activity_choose_label.xml b/OneToOne/src/main/res/layout/activity_choose_label.xml index f2812147d..5e9661886 100644 --- a/OneToOne/src/main/res/layout/activity_choose_label.xml +++ b/OneToOne/src/main/res/layout/activity_choose_label.xml @@ -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"> + + + + android:textSize="14sp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + - + android:orientation="vertical" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toStartOf="@+id/linearLayout6" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + android:textSize="14sp" + tools:text="收到×××的×××禮物收到×××的××1234567890214644" /> + android:gravity="center_vertical" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent"> @@ -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" /> - \ No newline at end of file + android:background="#80999999" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" /> + \ No newline at end of file