1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package safeluck.drive.evaluation.im;
 
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
 
import com.anyun.exam.lib.MyLog;
import com.anyun.im_lib.listener.OnEventListener;
 
import safeluck.drive.evaluation.app;
import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.platformMessage.JKMessage0002;
import safeluck.drive.evaluation.platformMessage.utils.MessageEscaper;
 
/**
 * MyApplication2
 * Created by lzw on 2019/12/12. 16:12:40
 * 邮箱:632393724@qq.com
 * All Rights Saved! Chongqing AnYun Tech co. LTD
 */
public class IMSEventListener implements OnEventListener {
 
    private String userId;
    private String token;
    private MessageEscaper messageEscaper;
    public IMSEventListener(String userId, String token) {
        this.userId = userId;
        this.token = token;
        messageEscaper = new MessageEscaper();
    }
 
    @Override
    public void dispatchMsg(Object message) {
        MessageProcessor.getInstance().receiveMsg((byte[])message);
    }
 
    @Override
    public boolean isNetWorkAvailable() {
        ConnectivityManager connectivityManager = (ConnectivityManager) app.getAppContext().getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        if (networkInfo != null){
 
            MyLog.i("IsNetworkAvaliable"+networkInfo!=null&&networkInfo.isConnected());
        }else{
            MyLog.i("NetWorkInfo is null");
        }
        return networkInfo!=null&&networkInfo.isConnected();
    }
 
    /**
     * 连接超时时长
     * @return  ms
     */
    @Override
    public int getConnectTimeout() {
        return 3000;
    }
 
    @Override
    public int getForegroundHeartbeatInterval() {
        return 0;
    }
 
    @Override
    public int getBackgroundHeartbeatInterval() {
        return 0;
    }
 
    @Override
    public int getServerSentReportMsgType() {
        return 0;
    }
 
    @Override
    public int getResendCount() {
        return 0;
    }
 
    @Override
    public int getResendInterval() {
        return 0;
    }
 
    @Override
    public int getReConnectInterval() {
        return 0;
    }
 
    @Override
    public byte[] getRegisterMessage() {
        return null;
    }
 
    @Override
    public byte[] getHearbeatMsg() {
        JKMessage0002 jkMessage0002 = new JKMessage0002();
        jkMessage0002.phone = ExamPlatformData.getInstance().getPhone();
 
        return messageEscaper.escape(jkMessage0002.toBytes());
    }
}