|
|
@@ -38,6 +38,8 @@ import javax.net.ssl.SSLContext;
|
|
|
import javax.net.ssl.TrustManager;
|
|
|
import javax.net.ssl.X509TrustManager;
|
|
|
|
|
|
+import static com.ntels.onecable.common.broadcast.DefaultLocalBroadCast.INTENT_NAME_TYPE;
|
|
|
+
|
|
|
/**
|
|
|
* <pre>
|
|
|
* 1. ClassName : WebSocketService
|
|
|
@@ -58,9 +60,7 @@ public class WebSocketService extends Service {
|
|
|
private static final int TIMEOUT = 20;
|
|
|
private final IBinder binder = new WebSocketBinder();
|
|
|
private WebSocketClient mWebSocket = null;
|
|
|
- private Util mUtil = new Util();
|
|
|
- private AppConfig mAppConfig;
|
|
|
-// private ArrayList<OnWebSocketResponse> webSocketResponses = new ArrayList<OnWebSocketResponse>();
|
|
|
+ // private ArrayList<OnWebSocketResponse> webSocketResponses = new ArrayList<OnWebSocketResponse>();
|
|
|
Handler handler = new Handler(new Handler.Callback() {
|
|
|
@Override
|
|
|
public boolean handleMessage(Message msg) {
|
|
|
@@ -75,6 +75,8 @@ public class WebSocketService extends Service {
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
+ private Util mUtil = new Util();
|
|
|
+ private AppConfig mAppConfig;
|
|
|
private int iTempApiId = 0;
|
|
|
private HashMap<String, Object> hmTempParam;
|
|
|
private boolean bFromUser = false;
|
|
|
@@ -145,11 +147,11 @@ public class WebSocketService extends Service {
|
|
|
*/
|
|
|
public void webSocketConnect() {
|
|
|
Dlog.i(TAG, "webSocketConnect()!!");
|
|
|
- if (mAppConfig.getIsWebSocketConn()){
|
|
|
+ if (mAppConfig.getIsWebSocketConn()) {
|
|
|
Dlog.i(TAG, "webSocketConnect() return1!!");
|
|
|
return;
|
|
|
}
|
|
|
- if (isWebSocketConnected()){
|
|
|
+ if (isWebSocketConnected()) {
|
|
|
Dlog.i(TAG, "webSocketConnect() return2!!");
|
|
|
return;
|
|
|
}
|
|
|
@@ -289,10 +291,17 @@ public class WebSocketService extends Service {
|
|
|
private boolean checkBasicStatus(String message) {
|
|
|
try {
|
|
|
JSONObject jsonObject = new JSONObject(message);
|
|
|
- if (jsonObject.get(Constants.KEY_MESSAGE_TYPE).equals(Constants.WEBSOCKET_TYPE_CONN)) {
|
|
|
+ if (jsonObject.get(Constants.KEY_MESSAGE_TYPE).equals(Constants.WEBSOCKET_TYPE_DEVICE_CONN)) {
|
|
|
// mAppConfig.setsSelect_Homegrp_Homehub_Conn_State(mUtil.null2string(jsonObject.get(Constants.KEY_DEVICE_CONN)));
|
|
|
- mAppConfig.getDevicesList(mUtil.null2string(jsonObject.get(Constants.KEY_DEVICE_ID))).put(Constants.KEY_DEVICE_CONN, mUtil.null2string(jsonObject.get(Constants.KEY_DEVICE_CONN)));
|
|
|
|
|
|
+ String oldDeviceConn = mUtil.null2string(mAppConfig.getDevicesList(
|
|
|
+ mUtil.null2string(jsonObject.get(Constants.KEY_DEVICE_ID))).get(Constants.KEY_DEVICE_CONN));
|
|
|
+ String newDeviceConn =mUtil.null2string(jsonObject.get(Constants.KEY_DEVICE_CONN));
|
|
|
+ if (!oldDeviceConn.equals(newDeviceConn)) {
|
|
|
+ mAppConfig.getDevicesList(mUtil.null2string(jsonObject.get(Constants.KEY_DEVICE_ID))).put(Constants.KEY_DEVICE_CONN,
|
|
|
+ mUtil.null2string(jsonObject.get(Constants.KEY_DEVICE_CONN)));
|
|
|
+ sendMessageHomehubStateChangEvent();
|
|
|
+ }
|
|
|
|
|
|
return true;
|
|
|
} else if (jsonObject.get(Constants.KEY_MESSAGE_TYPE).equals(Constants.WEBSOCKET_TYPE_AUTH)) {
|
|
|
@@ -481,7 +490,7 @@ public class WebSocketService extends Service {
|
|
|
private void sendMessageReceivedEvent(String message) {
|
|
|
LogUtil.i(TAG, "sendMessageReceivedEvent!!");
|
|
|
Intent intent = new Intent(KneetMessageLocalBroadCast.INTENT_ACTION);
|
|
|
- intent.putExtra(KneetMessageLocalBroadCast.INTENT_NAME_TYPE, KneetMessageLocalBroadCast.INTENT_ACTION_WEBSOCKET_MSG_RECEIVED);
|
|
|
+ intent.putExtra(INTENT_NAME_TYPE, KneetMessageLocalBroadCast.INTENT_ACTION_WEBSOCKET_MSG_RECEIVED);
|
|
|
intent.putExtra(Constants.EXTRA_RESULT_STATE, WEBSOCKET_RECEIVED_SUCESS);
|
|
|
intent.putExtra(Constants.EXTRA_RESULT, message);
|
|
|
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
|
|
|
@@ -489,13 +498,19 @@ public class WebSocketService extends Service {
|
|
|
|
|
|
private void sendMessageErrorReceivedEvent(int errorcode, String message) {
|
|
|
Intent intent = new Intent(KneetMessageLocalBroadCast.INTENT_ACTION);
|
|
|
- intent.putExtra(KneetMessageLocalBroadCast.INTENT_NAME_TYPE, KneetMessageLocalBroadCast.INTENT_ACTION_WEBSOCKET_MSG_RECEIVED);
|
|
|
+ intent.putExtra(INTENT_NAME_TYPE, KneetMessageLocalBroadCast.INTENT_ACTION_WEBSOCKET_MSG_RECEIVED);
|
|
|
intent.putExtra(Constants.EXTRA_RESULT_STATE, WEBSOCKET_RECEIVED_ERROR);
|
|
|
intent.putExtra(Constants.EXTRA_ERROR_CODE, errorcode);
|
|
|
intent.putExtra(Constants.EXTRA_RESULT, message);
|
|
|
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
|
|
|
}
|
|
|
|
|
|
+ private void sendMessageHomehubStateChangEvent() {
|
|
|
+ Intent intent = new Intent(KneetMessageLocalBroadCast.INTENT_ACTION);
|
|
|
+ intent.putExtra(INTENT_NAME_TYPE, KneetMessageLocalBroadCast.INTENT_ACTION_HOMEHUB_STATE_CHANGE);
|
|
|
+ LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Websocket binder class.
|
|
|
*
|