Skip to content

Commit 63c185c

Browse files
author
tzihan
committed
Fix [Bug 442853]: 'Enable Logging' is not actually implemented Android sample
Change-Id: Ifa253b5d03d561d0dfb3973ca24510634e83c2cf Signed-off-by: tzihan <zhtang@cn.ibm.com>
1 parent 7df2f4d commit 63c185c

4 files changed

Lines changed: 67 additions & 2 deletions

File tree

org.eclipse.paho.android.service/org.eclipse.paho.android.service.sample/project.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,3 @@
1212

1313
# Project target.
1414
target=android-19
15-
android.library.reference.1=../org.eclipse.paho.android.service

org.eclipse.paho.android.service/org.eclipse.paho.android.service.sample/src/org/eclipse/paho/android/service/sample/ClientConnections.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,9 @@ private void connectAction(Bundle data) {
309309
//setServiceNotificationCallback
310310
client.setServiceNotificationCallback(MyMqttServiceNtfCallback.class);
311311

312+
//set traceCallback
313+
client.setTraceCallback(new MqttTraceCallback());
314+
312315
connection.addConnectionOptions(conOpt);
313316
Connections.getInstance(this).addConnection(connection);
314317
if (doConnect) {

org.eclipse.paho.android.service/org.eclipse.paho.android.service.sample/src/org/eclipse/paho/android/service/sample/Listener.java

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,16 @@
1414

1515
import java.io.IOException;
1616
import java.io.InputStream;
17+
import java.util.HashMap;
18+
import java.util.Iterator;
19+
import java.util.Map;
20+
import java.util.Map.Entry;
1721
import java.util.logging.LogManager;
22+
1823
import org.eclipse.paho.android.service.sample.R;
1924
import org.eclipse.paho.client.mqttv3.MqttException;
2025
import org.eclipse.paho.client.mqttv3.MqttSecurityException;
26+
2127
import android.content.Context;
2228
import android.content.Intent;
2329
import android.util.Log;
@@ -26,6 +32,7 @@
2632
import android.widget.CheckBox;
2733
import android.widget.EditText;
2834
import android.widget.RadioGroup;
35+
2936
import org.eclipse.paho.android.service.sample.ActionListener.Action;
3037
import org.eclipse.paho.android.service.sample.Connection.ConnectionStatus;
3138
import org.eclipse.paho.android.service.MqttAndroidClient;
@@ -274,7 +281,18 @@ private void enablePahoLogging() {
274281
InputStream logPropStream = context.getResources().openRawResource(R.raw.jsr47android);
275282
LogManager.getLogManager().readConfiguration(logPropStream);
276283
logging = true;
277-
clientConnections.invalidateOptionsMenu();
284+
285+
HashMap<String, Connection> connections = (HashMap<String,Connection>)Connections.getInstance(context).getConnections();
286+
if(!connections.isEmpty()){
287+
Entry<String, Connection> entry = connections.entrySet().iterator().next();
288+
Connection connection = (Connection)entry.getValue();
289+
connection.getClient().setTraceEnabled(true);
290+
//change menu state.
291+
clientConnections.invalidateOptionsMenu();
292+
//Connections.getInstance(context).getConnection(clientHandle).getClient().setTraceEnabled(true);
293+
}else{
294+
Log.i("SampleListener","No connection to enable log in service");
295+
}
278296
}
279297
catch (IOException e) {
280298
Log.e("MqttAndroidClient",
@@ -289,6 +307,17 @@ private void enablePahoLogging() {
289307
private void disablePahoLogging() {
290308
LogManager.getLogManager().reset();
291309
logging = false;
310+
311+
HashMap<String, Connection> connections = (HashMap<String,Connection>)Connections.getInstance(context).getConnections();
312+
if(!connections.isEmpty()){
313+
Entry<String, Connection> entry = connections.entrySet().iterator().next();
314+
Connection connection = (Connection)entry.getValue();
315+
connection.getClient().setTraceEnabled(false);
316+
//change menu state.
317+
clientConnections.invalidateOptionsMenu();
318+
}else{
319+
Log.i("SampleListener","No connection to disable log in service");
320+
}
292321
clientConnections.invalidateOptionsMenu();
293322
}
294323

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*******************************************************************************
2+
* Copyright (c) 1999, 2014 IBM Corp.
3+
*
4+
* All rights reserved. This program and the accompanying materials
5+
* are made available under the terms of the Eclipse Public License v1.0
6+
* and Eclipse Distribution License v1.0 which accompany this distribution.
7+
*
8+
* The Eclipse Public License is available at
9+
* http://www.eclipse.org/legal/epl-v10.html
10+
* and the Eclipse Distribution License is available at
11+
* http://www.eclipse.org/org/documents/edl-v10.php.
12+
*/
13+
package org.eclipse.paho.android.service.sample;
14+
15+
import org.eclipse.paho.android.service.MqttTraceHandler;
16+
17+
import android.util.Log;
18+
19+
public class MqttTraceCallback implements MqttTraceHandler {
20+
21+
public void traceDebug(java.lang.String arg0, java.lang.String arg1) {
22+
Log.i(arg0, arg1);
23+
};
24+
25+
public void traceError(java.lang.String arg0, java.lang.String arg1) {
26+
Log.e(arg0, arg1);
27+
};
28+
29+
public void traceException(java.lang.String arg0, java.lang.String arg1,
30+
java.lang.Exception arg2) {
31+
Log.e(arg0, arg1, arg2);
32+
};
33+
34+
}

0 commit comments

Comments
 (0)