1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2025-09-09 18:29:45 +02:00

SmackReactor/NIO, Java8/Android19, Pretty print XML, FSM connections

This commit adds
- SmackReactor / NIO
- a framework for finite state machine connections
- support for Java 8
- pretty printed XML debug output

It also
- reworks the integration test framework
- raises the minimum Android API level to 19
- introduces XmppNioTcpConnection

Furthermore fixes SMACK-801 (at least partly). Java 8 language
features are available, but not all runtime library methods. For that
we would need to raise the Android API level to 24 or higher.
This commit is contained in:
Florian Schmaus 2019-02-04 08:59:39 +01:00
parent dba12919d0
commit e98d42790a
144 changed files with 8692 additions and 1455 deletions

View file

@ -709,21 +709,13 @@ public class EnhancedDebugger extends SmackDebugger {
}
@Override
public Reader newConnectionReader(Reader newReader) {
((ObservableReader) reader).removeReaderListener(readerListener);
ObservableReader debugReader = new ObservableReader(newReader);
debugReader.addReaderListener(readerListener);
reader = debugReader;
return reader;
public final void outgoingStreamSink(CharSequence outgoingCharSequence) {
writerListener.write(outgoingCharSequence.toString());
}
@Override
public Writer newConnectionWriter(Writer newWriter) {
((ObservableWriter) writer).removeWriterListener(writerListener);
ObservableWriter debugWriter = new ObservableWriter(newWriter);
debugWriter.addWriterListener(writerListener);
writer = debugWriter;
return writer;
public final void incomingStreamSink(CharSequence incomingCharSequence) {
readerListener.read(incomingCharSequence.toString());
}
@Override

View file

@ -304,21 +304,13 @@ public class LiteDebugger extends SmackDebugger {
}
@Override
public Reader newConnectionReader(Reader newReader) {
((ObservableReader) reader).removeReaderListener(readerListener);
ObservableReader debugReader = new ObservableReader(newReader);
debugReader.addReaderListener(readerListener);
reader = debugReader;
return reader;
public void outgoingStreamSink(CharSequence outgoingCharSequence) {
writerListener.write(outgoingCharSequence.toString());
}
@Override
public Writer newConnectionWriter(Writer newWriter) {
((ObservableWriter) writer).removeWriterListener(writerListener);
ObservableWriter debugWriter = new ObservableWriter(newWriter);
debugWriter.addWriterListener(writerListener);
writer = debugWriter;
return writer;
public void incomingStreamSink(CharSequence incomingCharSequence) {
readerListener.read(incomingCharSequence.toString());
}
@Override