diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/DiamondExchangeActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/DiamondExchangeActivity.java index 73094317d..74eca7dcb 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/DiamondExchangeActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/DiamondExchangeActivity.java @@ -129,7 +129,7 @@ public class DiamondExchangeActivity extends AbsOTOActivity { } } - + ToastUtil.show(R.string.exchange_success); exchangeAdapter.addData(data); } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/EndCallActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/EndCallActivity.java index 80b886623..21fcd37c7 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/EndCallActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/EndCallActivity.java @@ -16,6 +16,7 @@ import com.shayu.onetoone.bean.UserBean; import com.shayu.onetoone.listener.OnDialogClickListener; import com.shayu.onetoone.manager.OTONetManager; import com.shayu.onetoone.manager.RouteManager; +import com.shayu.onetoone.utils.HtmlUrlUtils; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.utils.AppManager; @@ -95,6 +96,7 @@ public class EndCallActivity extends AbsOTOActivity { }); applyButton.setOnClickListener(v -> { + RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext, false, HtmlUrlUtils.URL_PAY_COIN)); }); findViewById(R.id.close).setOnClickListener(v -> finish()); } 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 43b6de2dc..767b4603b 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java @@ -36,6 +36,7 @@ import com.shayu.onetoone.manager.SendMessageManager; import com.shayu.onetoone.utils.UserManager; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.bean.ConfigBean; +import com.yunbao.common.event.RongIMConnectionStatusEvent; import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.interfaces.CommonCallback; import com.yunbao.common.interfaces.OnItemClickListener; @@ -308,6 +309,20 @@ public class MainActivity extends AbsOTOActivity { if (event.getNum() == -1) { showRedPoint(-1); } + }else if(event.getType()==MessageMsgBusEvent.TYPE_TO_HOME_PAGE){ + viewPager.setCurrentItem(event.getNum()); } } + /** + * 用户被踢下线 + * + * @param model + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void userSignOut(RongIMConnectionStatusEvent model) { + IMLoginManager.get(mContext).logout(this); + UserManager.logout(); + CommonAppConfig.getInstance().clearLoginInfo(); + RouteManager.forwardLoginActivity(); + } } \ No newline at end of file diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/MatchingActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/MatchingActivity.java index 4d7a5866c..3264d422d 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/MatchingActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/MatchingActivity.java @@ -17,6 +17,7 @@ import com.shayu.onetoone.bean.MatchingInfoUserBean; import com.shayu.onetoone.bean.SendConsumeBean; import com.shayu.onetoone.bean.UserBean; import com.shayu.onetoone.dialog.TipsDialog; +import com.shayu.onetoone.event.MessageMsgBusEvent; import com.shayu.onetoone.listener.OnDialogClickListener; import com.shayu.onetoone.listener.OnSendMessageListener; import com.shayu.onetoone.manager.OTONetManager; @@ -25,6 +26,7 @@ import com.shayu.onetoone.manager.SendMessageManager; import com.shayu.onetoone.utils.ConversationUtils; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.base.HttpCallback; +import com.yunbao.common.utils.Bus; import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.WordUtil; @@ -91,7 +93,7 @@ public class MatchingActivity extends AbsOTOActivity { if (data != null) { bean = JSONObject.parseObject(data, SendConsumeBean.class); if (bean != null) { - MatchingActivity.this.bundle=bundle; + MatchingActivity.this.bundle = bundle; new Handler(Looper.getMainLooper()).postDelayed(toCallRunnable, 1000); return false; } @@ -174,7 +176,19 @@ public class MatchingActivity extends AbsOTOActivity { handler.post(() -> ToastUtil.showDebug("没人,继续")); } else if (status == OnSendMessageListener.STATUS_NOT_PRICE) { task.cancel(); - handler.post(() -> ToastUtil.showDebug("价格不足")); + handler.post(() -> { + new TipsDialog(mContext) + .setTitle(WordUtil.getNewString(R.string.money_title)) + .setApplyText(WordUtil.getNewString(R.string.money_apply)) + .setOnDialogClickListener(new OnDialogClickListener() { + @Override + public void onApply(Dialog dialog) { + super.onApply(dialog); + } + }) + .setCancelText(WordUtil.getNewString(R.string.money_cancel)) + .showDialog(); + }); MatchingActivity.this.finish(); } } @@ -182,7 +196,7 @@ public class MatchingActivity extends AbsOTOActivity { } private class Task extends TimerTask { - final int MAX = 5; + final int MAX = 2; int index = MAX; @Override @@ -210,6 +224,7 @@ public class MatchingActivity extends AbsOTOActivity { task.cancel(); task = null; MatchingActivity.this.finish(); + Bus.get().post(new MessageMsgBusEvent(MessageMsgBusEvent.TYPE_TO_HOME_PAGE, 1)); } }).showDialog(); }); 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 6c08aff39..c53217cce 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 @@ -109,7 +109,7 @@ public class FriendsFragment extends BaseFragment { @Override public void onError(int status, String msg, SendConsumeBean bean) { super.onError(status, msg, bean); - if (status == 503) { + if (bean.getCode() == 503) { RouteManager.forwardActivity(RouteManager.ACTIVITY_MATCHING); return; } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java index df5bf4d6d..d09659e92 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java @@ -410,7 +410,6 @@ public class MyFragment extends BaseFragment implements OnItemClickListener T getItem(int position, T... views) { 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 739ed9135..d53e25f1b 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 @@ -115,6 +115,7 @@ public class ChatMessageFragment extends AbsConversationFragment { RoundedImageView avatar; TextView uname; TextView sign; + TextView star; TextView home; ImageView sex; ImageView status; @@ -617,9 +618,16 @@ public class ChatMessageFragment extends AbsConversationFragment { sex = findViewById(R.id.sex); status = findViewById(R.id.status); home = findViewById(R.id.home); + star = findViewById(R.id.star); follow = findViewById(R.id.follow); targetId = getIntent().getStringExtra("targetId"); updateUserInfo(); + ViewClicksAntiShake.clicksAntiShake(home, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + UserManager.toHomePage(targetId); + } + }); follow.setOnClickListener(v -> { OTONetManager.getInstance(mContext) .follow(targetId, new HttpCallback() { @@ -646,6 +654,11 @@ public class ChatMessageFragment extends AbsConversationFragment { ImgLoader.display(mContext, data.getUser().getAvatar(), avatar); uname.setText(data.getUser().getUserNicename()); sign.setText(data.getUser().getSignature()); + if(StringUtil.isEmpty(data.getInfo().getStar_name())){ + star.setVisibility(View.GONE); + }else { + star.setText("我是" + data.getInfo().getStar_name()); + } if (data.getUser().getSex() == 1) { sex.setImageResource(R.mipmap.ic_message_tab_man); } else { @@ -677,11 +690,11 @@ public class ChatMessageFragment extends AbsConversationFragment { UserInfo info = new UserInfo(data.getUser().getId() + "", data.getUser().getUserNicename(), Uri.parse(data.getUser().getAvatar())); info.setExtra(JSONObject.toJSONString(data)); RongUserInfoManager.getInstance().refreshUserInfoCache(info); - /* 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/CompleteActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java index f4dc54609..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 @@ -230,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/adapter/HomeHotListAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeHotListAdapter.java index e609e1ce1..0f71c831f 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeHotListAdapter.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeHotListAdapter.java @@ -23,6 +23,7 @@ import com.shayu.onetoone.listener.OnDialogClickListener; import com.shayu.onetoone.listener.OnSendMessageListener; import com.shayu.onetoone.manager.SendMessageManager; import com.shayu.onetoone.utils.ConversationUtils; +import com.shayu.onetoone.utils.UserManager; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.WordUtil; @@ -114,6 +115,12 @@ public class HomeHotListAdapter extends RecyclerView.Adapter { OTONetManager.getInstance(mContext) .follow(v.getTag().toString(), new HttpCallback() { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRecommendListAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRecommendListAdapter.java index acb8786c8..599d84115 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRecommendListAdapter.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRecommendListAdapter.java @@ -24,6 +24,7 @@ import com.shayu.onetoone.listener.OnDialogClickListener; import com.shayu.onetoone.listener.OnSendMessageListener; import com.shayu.onetoone.manager.SendMessageManager; import com.shayu.onetoone.utils.ConversationUtils; +import com.shayu.onetoone.utils.UserManager; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.ToastUtil; @@ -98,6 +99,7 @@ public class HomeRecommendListAdapter extends RecyclerView.Adapter consumeCache=new HashMap<>(); +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java index 12ef6b0f5..5ee9446cf 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java @@ -45,6 +45,7 @@ import com.yunbao.common.utils.MD5Util; import java.io.File; import java.util.ArrayList; import java.util.List; +import java.util.Map; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; @@ -645,8 +646,12 @@ public class OTONetManager { }).isDisposed(); } - public void getMessageConsumeConfig(String toUid, HttpCallback callback) { + public void getMessageConsumeConfig(String toUid, HttpCallback callback) { + if (CacheManager.consumeCache.containsKey(toUid) && CacheManager.consumeCache.get(toUid) != null) { + callback.onSuccess(CacheManager.consumeCache.get(toUid)); + return; + } API.get().otoApi(mContext) .getMessageConsumeConfig(toUid) .subscribeOn(Schedulers.io()) @@ -654,6 +659,7 @@ public class OTONetManager { .subscribe(new Consumer>() { @Override public void accept(ResponseModel model) throws Exception { + CacheManager.consumeCache.put(toUid,model.getData().getInfo()); if (callback != null) { callback.onSuccess(model.getData().getInfo()); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java b/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java index d7a9b2f6c..25d1dc581 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java @@ -14,7 +14,10 @@ import com.shayu.onetoone.bean.UserBean; import com.shayu.onetoone.listener.OnDialogClickListener; import com.shayu.onetoone.listener.OnSendMessageListener; import com.shayu.onetoone.manager.OTONetManager; +import com.shayu.onetoone.manager.RouteManager; +import com.yunbao.common.CommonAppConfig; import com.yunbao.common.bean.IMLoginModel; +import com.yunbao.common.http.CommonHttpConsts; import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.interfaces.OnItemClickListener; import com.yunbao.common.manager.IMLoginManager; @@ -39,8 +42,9 @@ public class UserManager { public static void saveUserBean(Context mContext, UserBean bean) { userBean = bean; - if(StringUtil.isEmpty(bean.getUser().getTokenRong())){ - IMLoginModel model = IMLoginManager.get(mContext).getUserInfo();; + if (StringUtil.isEmpty(bean.getUser().getTokenRong())) { + IMLoginModel model = IMLoginManager.get(mContext).getUserInfo(); + ; bean.getUser().setTokenRong(model.getTokenRong()); bean.getUser().setToken(model.getToken()); } @@ -111,4 +115,26 @@ public class UserManager { } return JSONArray.parseArray(info, LabelBean.class); } + + public static void toHomePage(int userId) { + toHomePage(userId+""); + } + public static void toHomePage(String userId) { + String url = CommonAppConfig.HOST + "/h5/shequ/index.html#/h5/shequ/Personal?" + + "isHomePage=1&fromType=0" + + "&touid=%s" + + "&t=%s" + + "&isZh=%s"; + url = String.format(url, + userId, + System.currentTimeMillis() + "", + WordUtil.isNewZh() ? "1" : "0" + ); + RouteManager.forwardWebViewActivity(null, url); + } + + public static void logout() { + SpUtil.getInstance().removeValue("oto_user_money","oto_user_info_tag","oto_user_info"); + userBean=null; + } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java index 7b94d1015..146671a52 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java @@ -20,7 +20,9 @@ import com.shayu.onetoone.event.MoneyUpdateEvent; import com.shayu.onetoone.listener.OnDialogClickListener; import com.shayu.onetoone.listener.OnSendMessageListener; import com.shayu.onetoone.manager.OTONetManager; +import com.shayu.onetoone.manager.RouteManager; import com.shayu.onetoone.manager.SendMessageManager; +import com.shayu.onetoone.utils.HtmlUrlUtils; import com.shayu.onetoone.utils.UserManager; import com.shayu.onetoone.widget.PagerConfig; import com.shayu.onetoone.widget.PagerGridLayoutManager; @@ -30,6 +32,7 @@ import com.yunbao.common.interfaces.OnItemClickListener; import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.WordUtil; +import com.yunbao.common.views.weight.ViewClicksAntiShake; import org.greenrobot.eventbus.Subscribe; @@ -111,6 +114,12 @@ public class MsgInputPanelForGift extends AbsInputPanel { } }); }); + ViewClicksAntiShake.clicksAntiShake(topUpBtn, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext, false, HtmlUrlUtils.URL_PAY_COIN)); + } + }); } private void sendGift(GiftBean item) { diff --git a/OneToOne/src/main/res/layout/activity_call_audio.xml b/OneToOne/src/main/res/layout/activity_call_audio.xml index ac65c0845..25c6e9c85 100644 --- a/OneToOne/src/main/res/layout/activity_call_audio.xml +++ b/OneToOne/src/main/res/layout/activity_call_audio.xml @@ -131,6 +131,7 @@ android:layout_width="157dp" android:layout_height="31dp" android:visibility="gone" + android:layout_marginTop="100dp" android:textColor="#333333" android:textSize="12sp" tools:visibility="visible" diff --git a/OneToOne/src/main/res/layout/activity_call_video.xml b/OneToOne/src/main/res/layout/activity_call_video.xml index 945f9620c..1466e12a1 100644 --- a/OneToOne/src/main/res/layout/activity_call_video.xml +++ b/OneToOne/src/main/res/layout/activity_call_video.xml @@ -26,8 +26,10 @@ android:layout_width="157dp" android:layout_height="31dp" android:visibility="gone" + android:layout_marginTop="100dp" android:textColor="#333333" android:textSize="12sp" + tools:visibility="visible" tools:text="等待对方接受邀请..." android:background="@drawable/bg_call_view_tips" app:layout_constraintBottom_toBottomOf="parent" diff --git a/OneToOne/src/main/res/layout/activity_entry.xml b/OneToOne/src/main/res/layout/activity_entry.xml index 94fda5bb5..ba9737ad4 100644 --- a/OneToOne/src/main/res/layout/activity_entry.xml +++ b/OneToOne/src/main/res/layout/activity_entry.xml @@ -260,7 +260,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/customer_service2" - android:textColor="#A279E4" + android:textColor="#1C9BF0" android:textSize="11sp" /> @@ -287,7 +287,7 @@ android:layout_height="match_parent" android:layout_marginLeft="1dp" android:text="@string/user_protocol2" - android:textColor="#A279E4" + android:textColor="#1C9BF0" android:textSize="10sp" /> diff --git a/OneToOne/src/main/res/layout/item_home_recommend.xml b/OneToOne/src/main/res/layout/item_home_recommend.xml index 658593d22..821bca472 100644 --- a/OneToOne/src/main/res/layout/item_home_recommend.xml +++ b/OneToOne/src/main/res/layout/item_home_recommend.xml @@ -69,6 +69,22 @@ android:textSize="16sp" android:textStyle="bold" /> + + + + + + + + 通话结束 对方未完成真人认证,暂时无法向对方发起通话 您當前正在通話中,請掛斷後再試 + 兌換成功 + 兌換失敗 \ No newline at end of file diff --git a/OneToOne/src/main/res/values-zh-rTW/strings.xml b/OneToOne/src/main/res/values-zh-rTW/strings.xml index 1aaf6be07..2154c49cb 100644 --- a/OneToOne/src/main/res/values-zh-rTW/strings.xml +++ b/OneToOne/src/main/res/values-zh-rTW/strings.xml @@ -272,4 +272,6 @@ 通话结束 对方未完成真人认证,暂时无法向对方发起通话 您當前正在通話中,請掛斷後再試 + 兌換成功 + 兌換失敗 \ No newline at end of file diff --git a/OneToOne/src/main/res/values/strings.xml b/OneToOne/src/main/res/values/strings.xml index 8c3e7fc01..5b207f5c7 100644 --- a/OneToOne/src/main/res/values/strings.xml +++ b/OneToOne/src/main/res/values/strings.xml @@ -274,4 +274,6 @@ 通話結束 對方未完成真人認證,暫時無法向對方發起通話 您當前正在通話中,請掛斷後再試 + 兌換成功 + 兌換失敗 \ No newline at end of file diff --git a/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java b/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java index cc955e14f..142eaa917 100644 --- a/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java +++ b/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java @@ -18,6 +18,7 @@ import com.yunbao.common.CommonAppConfig; import com.yunbao.common.bean.IMLoginModel; import com.yunbao.common.event.RongIMConnectionStatusEvent; import com.yunbao.common.manager.IMLoginManager; +import com.yunbao.common.utils.Bus; import org.greenrobot.eventbus.EventBus; @@ -187,6 +188,7 @@ public class RongcloudIMManager { //用户账号在其它设备登录,此设备被踢下线 case KICKED_OFFLINE_BY_OTHER_CLIENT: EventBus.getDefault().post(new RongIMConnectionStatusEvent()); + Bus.get().post(new RongIMConnectionStatusEvent()); break; //连接暂时挂起(多是由于网络问题导致),SDK 会在合适时机进行自动重连 case SUSPEND: