package com.lqr.wechat.ui.presenter;
import com.lqr.wechat.R;
import com.lqr.wechat.app.AppConst;
import com.lqr.wechat.app.MyApp;
import com.lqr.wechat.db.DBManager;
import com.lqr.wechat.manager.BroadcastManager;
import com.lqr.wechat.model.cache.UserCache;
import com.lqr.wechat.ui.base.BaseActivity;
import com.lqr.wechat.ui.base.BasePresenter;
import com.lqr.wechat.ui.view.IMainAtView;
import com.lqr.wechat.util.LogUtils;
import com.lqr.wechat.util.UIUtils;
import io.rong.imlib.RongIMClient;
public class MainAtPresenter extends BasePresenter<IMainAtView> {
public MainAtPresenter(BaseActivity context) {
super(context);
connect(UserCache.getToken());
//同步所有用户信息
DBManager.getInstance().getAllUserInfo();
}
/**
* 建立与融云服务器的连接
*
* @param token
*/
private void connect(String token) {
if (UIUtils.getContext().getApplicationInfo().packageName.equals(MyApp.getCurProcessName(UIUtils.getContext()))) {
/**
* IMKit SDK调用第二步,建立与服务器的连接
*/
RongIMClient.connect(token, new RongIMClient.ConnectCallback() {
/**
* Token 错误,在线上环境下主要是因为 Token 已经过期,您需要向 App Server 重新请求一个新的 Token
*/
@Override
public void onTokenIncorrect() {
LogUtils.e("--onTokenIncorrect");
}
/**
* 连接融云成功
* @param userid 当前 token
*/
@Override
public void onSuccess(String userid) {
LogUtils.e("--onSuccess---" + userid);
BroadcastManager.getInstance(mContext).sendBroadcast(AppConst.UPDATE_CONVERSATIONS);
}
/**
* 连接融云失败
* @param errorCode 错误码,可到官网 查看错误码对应的注释
*/
@Override
public void onError(RongIMClient.ErrorCode errorCode) {
LogUtils.e("--onError" + errorCode);
UIUtils.showToast(UIUtils.getString(R.string.disconnect_server));
}
});
}
}
}