7
7
import java .util .Map ;
8
8
9
9
import org .jivesoftware .smack .ConnectionListener ;
10
+ import org .jivesoftware .smack .PacketInterceptor ;
10
11
import org .jivesoftware .smack .PacketListener ;
11
12
import org .jivesoftware .smack .filter .PacketFilter ;
12
13
import org .jivesoftware .smack .packet .Packet ;
@@ -27,6 +28,7 @@ public class XmppStreamHandler {
27
28
private long previousIncomingStanzaCount = -1 ;
28
29
private String sessionId ;
29
30
private long incomingStanzaCount = 0 ;
31
+ private long outgoingStanzaCount = 0 ;
30
32
31
33
public XmppStreamHandler (MyXMPPConnection connection ) {
32
34
mConnection = connection ;
@@ -112,10 +114,23 @@ public void connectionClosed() {
112
114
}
113
115
});
114
116
117
+ mConnection .addPacketInterceptor (new PacketInterceptor () {
118
+ public void interceptPacket (Packet packet ) {
119
+ if (isSmEnabled )
120
+ outgoingStanzaCount ++;
121
+ trace ("send " + outgoingStanzaCount + " : " + packet .toXML ());
122
+ }
123
+ }, new PacketFilter () {
124
+ public boolean accept (Packet packet ) {
125
+ return true ;
126
+ }
127
+ });
128
+
115
129
mConnection .addPacketListener (new PacketListener () {
116
130
public void processPacket (Packet packet ) {
117
- incomingStanzaCount ++;
118
- //debug("" + incomingStanzaCount + " : " + packet.toXML());
131
+ if (isSmEnabled )
132
+ incomingStanzaCount ++;
133
+ trace ("recv " + incomingStanzaCount + " : " + packet .toXML ());
119
134
if (packet instanceof StreamHandlingPacket ) {
120
135
StreamHandlingPacket shPacket = (StreamHandlingPacket ) packet ;
121
136
String name = shPacket .getElementName ();
@@ -132,6 +147,7 @@ public void processPacket(Packet packet) {
132
147
} else if ("enabled" .equals (name )) {
133
148
debug ("sm enabled " + sessionId );
134
149
incomingStanzaCount = 0 ;
150
+ outgoingStanzaCount = 0 ;
135
151
isSmEnabled = true ;
136
152
mConnection .getRoster ().setOfflineOnError (false );
137
153
String resume = shPacket .getAttribute ("resume" );
@@ -176,7 +192,15 @@ public PacketExtension parseExtension(XmlPullParser parser) throws Exception {
176
192
}
177
193
178
194
private void debug (String message ) {
179
- //Log.d(XmppConnection.TAG, message);
195
+ if (Log .isLoggable (XmppConnection .TAG , Log .DEBUG )) {
196
+ Log .d (XmppConnection .TAG , message );
197
+ }
198
+ }
199
+
200
+ private void trace (String message ) {
201
+ if (Log .isLoggable (XmppConnection .TAG , Log .VERBOSE )) {
202
+ Log .v (XmppConnection .TAG , message );
203
+ }
180
204
}
181
205
182
206
static class StreamHandlingPacket extends UnknownPacket {
0 commit comments