@Override public void onSuccess(IMqttToken asyncActionToken) { // since the device's cpu can go to sleep, acquire a // wakelock and drop it later. service.traceDebug(TAG,"Reconnect Success!"); service.traceDebug(TAG,"DeliverBacklog when reconnect."); doAfterConnectSuccess(resultBundle); }
@Override public void onSuccess(IMqttToken asyncActionToken) { doAfterConnectSuccess(resultBundle); service.traceDebug(TAG, "connect success!"); }
@Override @SuppressLint("Wakelock") public void onReceive(Context context, Intent intent) { traceDebug(TAG, "Internal network status receive."); // we protect against the phone switching off // by requesting a wake lock - we request the minimum possible wake // lock - just enough to keep the CPU running until we've finished PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE); WakeLock wl = pm .newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MQTT"); wl.acquire(); traceDebug(TAG,"Reconnect for Network recovery."); if (isOnline()) { traceDebug(TAG,"Online,reconnect."); // we have an internet connection - have another try at // connecting reconnect(); } else { notifyClientsOffline(); } wl.release(); } }
/** * Request all clients to reconnect if appropriate */ void reconnect() { traceDebug(TAG, "Reconnect to server, client size=" + connections.size()); for (MqttConnection client : connections.values()) { traceDebug("Reconnect Client:", client.getClientId() + '/' + client.getServerURI()); if(this.isOnline()){ client.reconnect(); } } }
/** * Close connection from the server * */ void close() { service.traceDebug(TAG, "close()"); try { if (myClient != null) { myClient.close(); } } catch (MqttException e) { // Pass a new bundle, let handleException stores error messages. handleException(new Bundle(), e); } }
public void deliveryComplete(IMqttDeliveryToken messageToken) { service.traceDebug(TAG, "deliveryComplete(" + messageToken + ")");
public void subscribe(String[] topicFilters, int[] qos, String invocationContext, String activityToken, IMqttMessageListener[] messageListeners) { service.traceDebug(TAG, "subscribe({" + Arrays.toString(topicFilters) + "}," + Arrays.toString(qos) + ",{" + invocationContext + "}, {" + activityToken + "}"); final Bundle resultBundle = new Bundle(); resultBundle.putString(MqttServiceConstants.CALLBACK_ACTION, MqttServiceConstants.SUBSCRIBE_ACTION); resultBundle.putString(MqttServiceConstants.CALLBACK_ACTIVITY_TOKEN, activityToken); resultBundle.putString(MqttServiceConstants.CALLBACK_INVOCATION_CONTEXT, invocationContext); if((myClient != null) && (myClient.isConnected())){ IMqttActionListener listener = new MqttConnectionListener(resultBundle); try { myClient.subscribe(topicFilters, qos,messageListeners); } catch (Exception e){ handleException(resultBundle, e); } } else { resultBundle.putString(MqttServiceConstants.CALLBACK_ERROR_MESSAGE, NOT_CONNECTED); service.traceError("subscribe", NOT_CONNECTED); service.callbackToActivity(clientHandle, Status.ERROR, resultBundle); } }
/** * Callback when a message is received * * @param topic * the topic on which the message was received * @param message * the message itself */ @Override public void messageArrived(String topic, MqttMessage message) throws Exception { service.traceDebug(TAG, "messageArrived(" + topic + ",{" + message.toString() + "})"); String messageId = service.messageStore.storeArrived(clientHandle, topic, message); Bundle resultBundle = messageToBundle(messageId, topic, message); resultBundle.putString(MqttServiceConstants.CALLBACK_ACTION, MqttServiceConstants.MESSAGE_ARRIVED_ACTION); resultBundle.putString(MqttServiceConstants.CALLBACK_MESSAGE_ID, messageId); service.callbackToActivity(clientHandle, Status.OK, resultBundle); }
service.traceDebug(TAG, "connectionLost(" + why.getMessage() + ")"); disconnected = true; try {
service.traceDebug(TAG, "subscribe({" + Arrays.toString(topic) + "}," + Arrays.toString(qos) + ",{" + invocationContext + "}, {" + activityToken + "}"); final Bundle resultBundle = new Bundle();
@SuppressWarnings("deprecation") @Override public void onReceive(Context context, Intent intent) { ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); traceDebug(TAG,"Reconnect since BroadcastReceiver."); if (cm.getBackgroundDataSetting()) { if (!backgroundDataEnabled) { backgroundDataEnabled = true; // we have the Internet connection - have another try at // connecting reconnect(); } } else { backgroundDataEnabled = false; notifyClientsOffline(); } } }
service.traceDebug(TAG, "unsubscribe({" + Arrays.toString(topic) + "},{" + invocationContext + "}, {" + activityToken + "})"); final Bundle resultBundle = new Bundle();
service.traceDebug(TAG, "subscribe({" + topic + "}," + qos + ",{" + invocationContext + "}, {" + activityToken + "}"); final Bundle resultBundle = new Bundle();
service.traceDebug(TAG, "unsubscribe({" + topic + "},{" + invocationContext + "}, {" + activityToken + "})"); final Bundle resultBundle = new Bundle();
service.traceDebug(TAG, "Connecting {" + serverURI + "} as {" + clientId + "}"); final Bundle resultBundle = new Bundle(); resultBundle.putString(MqttServiceConstants.CALLBACK_ACTIVITY_TOKEN, service.traceDebug(TAG, "myClient != null and the client is connecting. Connect return directly."); service.traceDebug(TAG,"Connect return:isConnecting:"+isConnecting+".disconnected:"+disconnected); }else if(!disconnected){ service.traceDebug(TAG,"myClient != null and the client is connected and notify!"); doAfterConnectSuccess(resultBundle); service.traceDebug(TAG, "myClient != null and the client is not connected"); service.traceDebug(TAG,"Do Real connect!"); setConnectingState(true); myClient.connect(connectOptions, invocationContext, listener); myClient.setCallback(this); service.traceDebug(TAG,"Do Real connect!"); setConnectingState(true); myClient.connect(connectOptions, invocationContext, listener);
service.traceDebug(TAG, "The client is connecting. Reconnect return directly."); return ; service.traceDebug(TAG, "The network is not reachable. Will not do reconnect"); return; service.traceDebug(TAG,"Do Real Reconnect!"); final Bundle resultBundle = new Bundle(); resultBundle.putString(
service.traceDebug(TAG, "disconnect()"); disconnected = true; final Bundle resultBundle = new Bundle();
service.traceDebug(TAG, "disconnect()"); disconnected = true; final Bundle resultBundle = new Bundle();
@Override public void onSuccess(IMqttToken asyncActionToken) { // since the device's cpu can go to sleep, acquire a // wakelock and drop it later. service.traceDebug(TAG,"Reconnect Success!"); service.traceDebug(TAG,"DeliverBacklog when reconnect."); doAfterConnectSuccess(resultBundle); }
@Override public void onSuccess(IMqttToken asyncActionToken) { // since the device's cpu can go to sleep, acquire a // wakelock and drop it later. service.traceDebug(TAG,"Reconnect Success!"); service.traceDebug(TAG,"DeliverBacklog when reconnect."); doAfterConnectSuccess(resultBundle); }