IOS
hefeixia
2021-02-18 49f3c1374873f73dbde2983ca0fcf1fb10bfedbf
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
/*
 * Copyright (c) 2020 WildFireChat. All rights reserved.
 */
 
package cn.wildfire.chat.kit;
 
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
 
import cn.wildfirechat.remote.ChatManager;
import cn.wildfirechat.remote.OnConnectionStatusChangeListener;
 
public class IMConnectionStatusViewModel extends ViewModel implements OnConnectionStatusChangeListener {
    private MutableLiveData<Integer> connectionStatusLiveData = new MutableLiveData<>();
 
    public IMConnectionStatusViewModel() {
        ChatManager.Instance().addConnectionChangeListener(this);
    }
 
    @Override
    protected void onCleared() {
        super.onCleared();
        ChatManager.Instance().removeConnectionChangeListener(this);
    }
 
 
    public MutableLiveData<Integer> connectionStatusLiveData() {
        int status = ChatManager.Instance().getConnectionStatus();
        connectionStatusLiveData.setValue(status);
        return connectionStatusLiveData;
    }
 
 
    @Override
    public void onConnectionStatusChange(int status) {
        if (connectionStatusLiveData != null) {
            connectionStatusLiveData.setValue(status);
        }
    }
}