Commit 31508559 by 霍志良

fix:m-im 修复私聊列表--通知--预约提醒列表--已读红点并未消失功能

parent 12b79209
...@@ -20,8 +20,8 @@ import java.util.List; ...@@ -20,8 +20,8 @@ import java.util.List;
public final class DemoGlobalConfig implements IConfigModule { public final class DemoGlobalConfig implements IConfigModule {
String APP_DOMAIN = "https://api.github.com/"; String APP_DOMAIN = "https://api.github.com/";
// public static String appEnv = YDLConstants.ENV_AUTO_TEST; // public static String appEnv = YDLConstants.ENV_AUTO_TEST;
public static String appEnv = YDLConstants.ENV_TEST; // public static String appEnv = YDLConstants.ENV_TEST;
// public static String appEnv = YDLConstants.ENV_PROD; public static String appEnv = YDLConstants.ENV_PROD;
@Override @Override
public void injectAppLifecycle(@NotNull Context context, @NotNull List<IAppLifecycles> lifecycles) { public void injectAppLifecycle(@NotNull Context context, @NotNull List<IAppLifecycles> lifecycles) {
......
...@@ -13,6 +13,7 @@ import com.ydl.ydlcommon.base.BaseActivity; ...@@ -13,6 +13,7 @@ import com.ydl.ydlcommon.base.BaseActivity;
import com.ydl.ydlcommon.base.lifecycle.ILifecycleable; import com.ydl.ydlcommon.base.lifecycle.ILifecycleable;
import com.ydl.ydlcommon.data.http.RxUtils; import com.ydl.ydlcommon.data.http.RxUtils;
import com.ydl.ydlcommon.data.http.ThrowableConsumer; import com.ydl.ydlcommon.data.http.ThrowableConsumer;
import com.ydl.ydlcommon.utils.LogUtil;
import com.ydl.ydlcommon.utils.StringUtils; import com.ydl.ydlcommon.utils.StringUtils;
import com.ydl.ydlcommon.utils.remind.ToastHelper; import com.ydl.ydlcommon.utils.remind.ToastHelper;
import com.yidianling.im.bean.MsgData; import com.yidianling.im.bean.MsgData;
...@@ -29,7 +30,9 @@ import org.jetbrains.annotations.NotNull; ...@@ -29,7 +30,9 @@ import org.jetbrains.annotations.NotNull;
import java.util.Map; import java.util.Map;
import de.greenrobot.event.EventBus; import de.greenrobot.event.EventBus;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
/** /**
* 消息adapter * 消息adapter
...@@ -60,130 +63,132 @@ public class MsgListAdapter extends CommonAdapter<MsgData> { ...@@ -60,130 +63,132 @@ public class MsgListAdapter extends CommonAdapter<MsgData> {
convertView = new MsgListItemView(context, type); convertView = new MsgListItemView(context, type);
} }
((MsgListItemView) convertView).setData(mDataList.get(position)); ((MsgListItemView) convertView).setData(mDataList.get(position));
convertView.setOnClickListener(new View.OnClickListener() { convertView.setOnClickListener(v -> {
@Override //动态消息暂时不需要访问以下接口
public void onClick(View v) { boolean fla = false;
//动态消息暂时不需要访问以下接口 //判断是否是跳转专家主页
boolean fla = false; boolean boo = jumpForUrl(mDataList.get(position).link);
//判断是否是跳转专家主页
boolean boo = jumpForUrl(mDataList.get(position).link); if (!boo) {
//事件未消费
if (!boo) { switch (mDataList.get(position).type) {
//事件未消费 case 1108:
switch (mDataList.get(position).type) { case 1111:
case 1108: context.startActivity(ImIn.INSTANCE.membersIntent(context, mDataList.get(position).relation_id));
case 1111: fla = true;
context.startActivity(ImIn.INSTANCE.membersIntent(context, mDataList.get(position).relation_id)); break;
fla = true; case 1109://跳转到回复详情
break; case 1113:// 跳转到回复详情(有回复动态)
case 1109://跳转到回复详情
case 1113:// 跳转到回复详情(有回复动态) MsgData msgData = mDataList.get(position);
context.startActivity(ImIn.INSTANCE.replayInfoIntent(context, msgData.relation_id, msgData.relation_id2));
MsgData msgData = mDataList.get(position); fla = true;
context.startActivity(ImIn.INSTANCE.replayInfoIntent(context, msgData.relation_id, msgData.relation_id2)); break;
fla = true;
break; case 1110:
context.startActivity(ImIn.INSTANCE.trendsDetailIntent(context, Integer.valueOf(mDataList.get(position).relation_id), true));
case 1110: fla = true;
context.startActivity(ImIn.INSTANCE.trendsDetailIntent(context, Integer.valueOf(mDataList.get(position).relation_id), true)); break;
fla = true; case 1112:
break;
case 1112: String lastid = mDataList.get(position).relation_id2;
String lastid = mDataList.get(position).relation_id2; int trendId = Integer.valueOf(mDataList.get(position).relation_id.trim());
int lastId = TextUtils.isEmpty(lastid) ? 0 : Integer.valueOf(lastid.trim());
int trendId = Integer.valueOf(mDataList.get(position).relation_id.trim()); context.startActivity(ImIn.INSTANCE.trendsDetailIntent(context, trendId, true, lastId));
int lastId = TextUtils.isEmpty(lastid) ? 0 : Integer.valueOf(lastid.trim()); fla = true;
context.startActivity(ImIn.INSTANCE.trendsDetailIntent(context, trendId, true, lastId)); break;
fla = true; case 600: //跳转H5页面--课程详情
break; case 1116://课程评论回复
case 600: //跳转H5页面--课程详情 H5Params h5Params = new H5Params(mDataList.get(position).link, null);
case 1116://课程评论回复 h5Params.setShareData(mDataList.get(position).share);
H5Params h5Params = new H5Params(mDataList.get(position).link, null); NewH5Activity.start(context, h5Params);
h5Params.setShareData(mDataList.get(position).share); break;
NewH5Activity.start(context, h5Params); case 1400://投诉反馈
break; ARouter.getInstance().build("/mine/MyFeedBackActivity").withString("intent_id", mDataList.get(position).relation_id).navigation();
case 1400://投诉反馈 fla = true;
ARouter.getInstance().build("/mine/MyFeedBackActivity").withString("intent_id", mDataList.get(position).relation_id).navigation(); break;
fla = true;
break;
}
} }
}
if (fla || boo) { if (fla || boo) {
//跟新未读 //跟新未读
Disposable dis = httpHelper.getMsgDetail(new MsgDetailParam(mDataList.get(position).id)) Disposable dis = httpHelper.getMsgDetail(new MsgDetailParam(mDataList.get(position).id))
.compose(RxUtils.applySchedulers(lifecycleable)) // .compose(RxUtils.applySchedulers(lifecycleable))
.compose(RxUtils.resultData()) .subscribeOn(Schedulers.io())
.subscribe(msgDetail -> { .compose(RxUtils.resultData())
mDataList.get(position).is_read = 2; .observeOn(AndroidSchedulers.mainThread())
notifyDataSetChanged(); .subscribe(msgDetail -> {
EventBus.getDefault().post(new UpdateTabUnreadNumEvent()); mDataList.get(position).is_read = 2;
}, new ThrowableConsumer() { notifyDataSetChanged();
@Override EventBus.getDefault().post(new UpdateTabUnreadNumEvent());
public void accept(@NotNull String msg) { }, new ThrowableConsumer() {
ToastHelper.Companion.show(msg); @Override
} public void accept(@NotNull String msg) {
}); ToastHelper.Companion.show(msg);
//如果是动态消息则到此结束,其它消息类型走下面流程 }
}else { });
Disposable di = httpHelper.getMsgDetail(new MsgDetailParam(mDataList.get(position).id)) //如果是动态消息则到此结束,其它消息类型走下面流程
.compose(RxUtils.applySchedulers(lifecycleable)) }else {
.compose(RxUtils.resultData()) Disposable di = httpHelper.getMsgDetail(new MsgDetailParam(mDataList.get(position).id))
.subscribe(msgDetail -> { // .compose(RxUtils.applySchedulers(lifecycleable))
mDataList.get(position).is_read = 2; .subscribeOn(Schedulers.io())
EventBus.getDefault().post(new UpdateTabUnreadNumEvent()); .compose(RxUtils.resultData())
switch (msgDetail.type) { .observeOn(AndroidSchedulers.mainThread())
case 1: .subscribe(msgDetail -> {
case 2: mDataList.get(position).is_read = 2;
case 501: notifyDataSetChanged();
case 502: EventBus.getDefault().post(new UpdateTabUnreadNumEvent());
case 506: switch (msgDetail.type) {
//预约详情 case 1:
H5Params h5Params = new H5Params(ImIn.INSTANCE.getReserveHost() + msgDetail.relation_id1, null); case 2:
NewH5Activity.start(context, h5Params); case 501:
break; case 502:
case 504: case 506:
case 505: //预约详情
//微问诊列表 H5Params h5Params = new H5Params(ImIn.INSTANCE.getReserveHost() + msgDetail.relation_id1, null);
H5Params h5Paramswe = new H5Params(ImConstants.Companion.getMY_CHAT(), null); NewH5Activity.start(context, h5Params);
NewH5Activity.start(context, h5Paramswe); break;
break; case 504:
case 507: case 505:
case 508: //微问诊列表
case 509: H5Params h5Paramswe = new H5Params(ImConstants.Companion.getMY_CHAT(), null);
//预约评价 微问诊评价 倾诉评价 NewH5Activity.start(context, h5Paramswe);
break;
H5Params h5Paramspi = new H5Params(ImConstants.Companion.getYYPJ() + msgDetail.relation_id1, null); case 507:
NewH5Activity.start(context, h5Paramspi); case 508:
break; case 509:
case 510: //预约评价 微问诊评价 倾诉评价
//免费体验详情
H5Params h5Paramsmi = new H5Params(ImConstants.Companion.getFREEDTAIL() + msgDetail.relation_id1, null); H5Params h5Paramspi = new H5Params(ImConstants.Companion.getYYPJ() + msgDetail.relation_id1, null);
NewH5Activity.start(context, h5Paramsmi); NewH5Activity.start(context, h5Paramspi);
break; break;
case 503: case 510:
case 1001: //免费体验详情
case 1002: H5Params h5Paramsmi = new H5Params(ImConstants.Companion.getFREEDTAIL() + msgDetail.relation_id1, null);
case 1004://老板心事心事详情 NewH5Activity.start(context, h5Paramsmi);
break; break;
case 503:
case 1003: case 1001:
case 1002:
case 1004://老板心事心事详情
break;
case 1003:
// ImIn.INSTANCE.MyRedPackActivity(context,null); // ImIn.INSTANCE.MyRedPackActivity(context,null);
ImIn.INSTANCE.myRedPockIntent(context); ImIn.INSTANCE.myRedPockIntent(context);
break; break;
} }
}, new ThrowableConsumer() { }, new ThrowableConsumer() {
@Override @Override
public void accept(@NotNull String msg) { public void accept(@NotNull String msg) {
((BaseActivity) context).dismissProgressDialog(); ((BaseActivity) context).dismissProgressDialog();
ToastHelper.Companion.show(msg); ToastHelper.Companion.show(msg);
} }
}); });
}
} }
}); });
return convertView; return convertView;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment