diff --git a/app/src/main/java/de/kuschku/libquassel/ProtocolHandler.java b/app/src/main/java/de/kuschku/libquassel/ProtocolHandler.java index 4ae7d95639ec031e7403ea3774bff41507ad12b0..b86050154b18538cdc391f643d81136bb9dbabc8 100644 --- a/app/src/main/java/de/kuschku/libquassel/ProtocolHandler.java +++ b/app/src/main/java/de/kuschku/libquassel/ProtocolHandler.java @@ -101,8 +101,6 @@ public class ProtocolHandler implements IProtocolHandler { @Subscribe(threadMode = ThreadMode.MAIN) public void onEventMainThread(@NonNull SyncFunction packedFunc) { - Log.d("ProtocolHandler", String.format("Sync Call: %s::%s(%s, %s)", packedFunc.className, packedFunc.methodName, packedFunc.objectName, packedFunc.params)); - try { final Object syncable = client.unsafe_getObjectByIdentifier(packedFunc.className, packedFunc.objectName); diff --git a/app/src/main/java/de/kuschku/libquassel/functions/serializers/HeartbeatReplySerializer.java b/app/src/main/java/de/kuschku/libquassel/functions/serializers/HeartbeatReplySerializer.java index e8463303704ed90a3222a62a9de3bd950a69c58e..88b60dc69c0b25ad234dd081cbced011aaba8e57 100644 --- a/app/src/main/java/de/kuschku/libquassel/functions/serializers/HeartbeatReplySerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/functions/serializers/HeartbeatReplySerializer.java @@ -30,6 +30,7 @@ import java.util.List; import de.kuschku.libquassel.functions.FunctionType; import de.kuschku.libquassel.functions.types.HeartbeatReply; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertTrue; @@ -50,8 +51,8 @@ public class HeartbeatReplySerializer implements FunctionSerializer<HeartbeatRep @Override public List serialize(@NonNull HeartbeatReply data) { return Arrays.asList( - new QVariant<>(FunctionType.HEARTBEATREPLY.id), - new QVariant<>(data.dateTime) + new QVariant<>(QMetaType.Type.Int, FunctionType.HEARTBEATREPLY.id), + new QVariant<>(QMetaType.Type.QDateTime, data.dateTime) ); } diff --git a/app/src/main/java/de/kuschku/libquassel/functions/serializers/HeartbeatSerializer.java b/app/src/main/java/de/kuschku/libquassel/functions/serializers/HeartbeatSerializer.java index d2b153f848bec8e71f95f210ed27fafa754571e4..200daa3db6393213f2362debb7beb27832853d99 100644 --- a/app/src/main/java/de/kuschku/libquassel/functions/serializers/HeartbeatSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/functions/serializers/HeartbeatSerializer.java @@ -30,6 +30,7 @@ import java.util.List; import de.kuschku.libquassel.functions.FunctionType; import de.kuschku.libquassel.functions.types.Heartbeat; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertTrue; @@ -50,8 +51,8 @@ public class HeartbeatSerializer implements FunctionSerializer<Heartbeat> { @Override public List serialize(@NonNull Heartbeat data) { return Arrays.asList( - new QVariant<>(FunctionType.HEARTBEAT.id), - new QVariant<>(data.dateTime) + new QVariant<>(QMetaType.Type.Int, FunctionType.HEARTBEAT.id), + new QVariant<>(QMetaType.Type.QDateTime, data.dateTime) ); } diff --git a/app/src/main/java/de/kuschku/libquassel/functions/serializers/InitRequestFunctionSerializer.java b/app/src/main/java/de/kuschku/libquassel/functions/serializers/InitRequestFunctionSerializer.java index c105b7dbfcd1dd3412844d6539e767f493721dcb..dd714be927c0fc0f8dac2189cdd4370735df33d1 100644 --- a/app/src/main/java/de/kuschku/libquassel/functions/serializers/InitRequestFunctionSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/functions/serializers/InitRequestFunctionSerializer.java @@ -31,6 +31,7 @@ import de.kuschku.libquassel.functions.FunctionType; import de.kuschku.libquassel.functions.types.InitRequestFunction; import de.kuschku.libquassel.primitives.types.QVariant; +import static de.kuschku.libquassel.primitives.QMetaType.Type.Int; import static de.kuschku.libquassel.primitives.QMetaType.Type.QByteArray; import static de.kuschku.util.AndroidAssert.assertNotNull; import static de.kuschku.util.AndroidAssert.assertTrue; @@ -62,7 +63,7 @@ public class InitRequestFunctionSerializer implements FunctionSerializer<InitReq @NonNull public List serializePacked(@NonNull final InitRequestFunction data) { return Lists.newArrayList( - new QVariant<>(FunctionType.INITREQUEST.id), + new QVariant<>(Int, FunctionType.INITREQUEST.id), new QVariant<>(QByteArray, data.className), new QVariant<>(QByteArray, data.objectName) ); diff --git a/app/src/main/java/de/kuschku/libquassel/functions/serializers/PackedRpcCallFunctionSerializer.java b/app/src/main/java/de/kuschku/libquassel/functions/serializers/PackedRpcCallFunctionSerializer.java index 3667d51d57cefdda03f8bac54deab887dfc23e20..1cd1c9d2d7e2a3d525859e8fcbfa33b89f67bb7b 100644 --- a/app/src/main/java/de/kuschku/libquassel/functions/serializers/PackedRpcCallFunctionSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/functions/serializers/PackedRpcCallFunctionSerializer.java @@ -51,7 +51,7 @@ public class PackedRpcCallFunctionSerializer implements FunctionSerializer<RpcCa @Override public List serialize(@NonNull final RpcCallFunction data) { final List func = new ArrayList<>(); - func.add(new QVariant<>(FunctionType.RPCCALL.id)); + func.add(new QVariant<>(QMetaType.Type.Int, FunctionType.RPCCALL.id)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.functionName)); func.addAll(data.params); return func; diff --git a/app/src/main/java/de/kuschku/libquassel/functions/serializers/PackedSyncFunctionSerializer.java b/app/src/main/java/de/kuschku/libquassel/functions/serializers/PackedSyncFunctionSerializer.java index adb1ad038c9bf2b0d31f126fcb034c1735dd593e..b71316ab3e3816e8e505481431db51c1090c6973 100644 --- a/app/src/main/java/de/kuschku/libquassel/functions/serializers/PackedSyncFunctionSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/functions/serializers/PackedSyncFunctionSerializer.java @@ -51,7 +51,7 @@ public class PackedSyncFunctionSerializer<T> implements FunctionSerializer<SyncF @Override public List serialize(@NonNull final SyncFunction data) { final List func = new ArrayList<>(); - func.add(new QVariant<>(FunctionType.SYNC.id)); + func.add(new QVariant<>(QMetaType.Type.Int, FunctionType.SYNC.id)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.className)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.objectName)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.methodName)); diff --git a/app/src/main/java/de/kuschku/libquassel/functions/serializers/UnpackedRpcCallFunctionSerializer.java b/app/src/main/java/de/kuschku/libquassel/functions/serializers/UnpackedRpcCallFunctionSerializer.java index f062de283ff1d126949cb21f2ee23595cad934ca..e28650f0a9028dd658742f024c993281dca5e2a0 100644 --- a/app/src/main/java/de/kuschku/libquassel/functions/serializers/UnpackedRpcCallFunctionSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/functions/serializers/UnpackedRpcCallFunctionSerializer.java @@ -50,7 +50,7 @@ public class UnpackedRpcCallFunctionSerializer implements FunctionSerializer<Rpc @Override public List serialize(@NonNull final RpcCallFunction data) { final List func = new ArrayList<>(); - func.add(new QVariant<>(FunctionType.RPCCALL.id)); + func.add(new QVariant<>(QMetaType.Type.Int, FunctionType.RPCCALL.id)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.functionName)); func.addAll(data.params); return func; diff --git a/app/src/main/java/de/kuschku/libquassel/functions/serializers/UnpackedSyncFunctionSerializer.java b/app/src/main/java/de/kuschku/libquassel/functions/serializers/UnpackedSyncFunctionSerializer.java index df175b8c1d33a91644508a3e1b97d8d6ab3beb8c..27e9331042e474ae39920c4325d411ef600a29ce 100644 --- a/app/src/main/java/de/kuschku/libquassel/functions/serializers/UnpackedSyncFunctionSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/functions/serializers/UnpackedSyncFunctionSerializer.java @@ -50,7 +50,7 @@ public class UnpackedSyncFunctionSerializer<T> implements FunctionSerializer<Syn @Override public List serialize(@NonNull final SyncFunction data) { final List func = new ArrayList<>(); - func.add(new QVariant<>(FunctionType.SYNC.id)); + func.add(new QVariant<>(QMetaType.Type.Int, FunctionType.SYNC.id)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.className)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.objectName)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.methodName)); diff --git a/app/src/main/java/de/kuschku/libquassel/objects/MessageTypeRegistry.java b/app/src/main/java/de/kuschku/libquassel/objects/MessageTypeRegistry.java index 2171ea6e95dd8c5267bb289ddb314d991fd5f4b1..5633e9d3f9e0c53c420f9bcf3f26342637016cd6 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/MessageTypeRegistry.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/MessageTypeRegistry.java @@ -37,6 +37,7 @@ import de.kuschku.libquassel.objects.serializers.CoreSetupDataSerializer; import de.kuschku.libquassel.objects.serializers.CoreSetupRejectSerializer; import de.kuschku.libquassel.objects.serializers.ObjectSerializer; import de.kuschku.libquassel.objects.serializers.SessionInitSerializer; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertTrue; @@ -78,7 +79,7 @@ public class MessageTypeRegistry { assertTrue(serializerMap.containsKey(data.getClass().getSimpleName())); final QVariant<Map<String, QVariant>> map = new QVariant<>(serializerMap.get(data.getClass().getSimpleName()).toVariantMap(data)); - map.data.put("MsgType", new QVariant(data.getClass().getSimpleName())); + map.data.put("MsgType", new QVariant(QMetaType.Type.QString, data.getClass().getSimpleName())); return map; } } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitAckSerializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitAckSerializer.java index b381cf547cbd2b046d00027a2112c36ec15210bc..ea3725b3e65e7541543f0ec66e3d7db47267a973 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitAckSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitAckSerializer.java @@ -34,6 +34,7 @@ import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.ClientInitAck; import de.kuschku.libquassel.objects.types.StorageBackend; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; @SuppressWarnings({"unchecked", "ConstantConditions"}) @@ -60,10 +61,10 @@ public class ClientInitAckSerializer implements ObjectSerializer<ClientInitAck> } final Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("Configured", new QVariant<>(data.Configured)); - map.put("LoginEnabled", new QVariant<>(data.LoginEnabled)); - map.put("StorageBackends", new QVariant<>(storageBackends)); - map.put("CoreFeatures", new QVariant<>(data.CoreFeatures)); + map.put("Configured", new QVariant<>(QMetaType.Type.Bool, data.Configured)); + map.put("LoginEnabled", new QVariant<>(QMetaType.Type.Bool, data.LoginEnabled)); + map.put("StorageBackends", new QVariant<>(QMetaType.Type.QVariantList, storageBackends)); + map.put("CoreFeatures", new QVariant<>(QMetaType.Type.Int, data.CoreFeatures)); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitRejectSerializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitRejectSerializer.java index 95c66511254cf207bec274dc787795cf6381b4c1..5b861cf7168ec39c07d2ba574091e632e23986c9 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitRejectSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitRejectSerializer.java @@ -30,6 +30,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.ClientInitReject; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; @SuppressWarnings({"unchecked", "ConstantConditions"}) @@ -49,7 +50,7 @@ public class ClientInitRejectSerializer implements ObjectSerializer<ClientInitRe @Override public Map<String, QVariant<Object>> toVariantMap(@NonNull final ClientInitReject data) { final Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("Error", new QVariant<>(data.Error)); + map.put("Error", new QVariant<>(QMetaType.Type.QString, data.Error)); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitSerializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitSerializer.java index f8f65b1e721dd8e17eca5354d2b9f5041d3b4483..bb0e5aaf9b182074737349553c7226b9e240fa12 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientInitSerializer.java @@ -30,6 +30,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.ClientInit; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; @SuppressWarnings({"unchecked", "ConstantConditions"}) @@ -49,11 +50,11 @@ public class ClientInitSerializer implements ObjectSerializer<ClientInit> { @Override public Map<String, QVariant<Object>> toVariantMap(@NonNull final ClientInit data) { final Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("ClientDate", new QVariant<>(data.ClientDate)); - map.put("UseSsl", new QVariant<>(data.UseSsl)); - map.put("ClientVersion", new QVariant<>(data.ClientVersion)); - map.put("UseCompression", new QVariant<>(data.UseCompression)); - map.put("ProtocolVersion", new QVariant<>(data.ProtocolVersion)); + map.put("ClientDate", new QVariant<>(QMetaType.Type.QString, data.ClientDate)); + map.put("UseSsl", new QVariant<>(QMetaType.Type.Bool, data.UseSsl)); + map.put("ClientVersion", new QVariant<>(QMetaType.Type.QString, data.ClientVersion)); + map.put("UseCompression", new QVariant<>(QMetaType.Type.Bool, data.UseCompression)); + map.put("ProtocolVersion", new QVariant<>(QMetaType.Type.Int, data.ProtocolVersion)); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientLoginRejectSerializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientLoginRejectSerializer.java index 856bfe7f1ad4f149f4b1fb314eccdfdb2b679bda..2c45e0aa612c6f5d72617ccd4f9f96c137f990a2 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientLoginRejectSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientLoginRejectSerializer.java @@ -30,6 +30,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.ClientLoginReject; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertNotNull; @@ -53,7 +54,7 @@ public class ClientLoginRejectSerializer implements ObjectSerializer<ClientLogin final Map<String, QVariant<Object>> map = new HashMap<>(); assertNotNull(map); - map.put("Error", new QVariant<>(data.Error)); + map.put("Error", new QVariant<>(QMetaType.Type.QString, data.Error)); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientLoginSerializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientLoginSerializer.java index 1e737af40cd55ff132c6f265ec28fde1d4c3e682..f08d8826af2ac3f79dbf795ba989b5a5fe456c1d 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientLoginSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/ClientLoginSerializer.java @@ -30,6 +30,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.ClientLogin; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertNotNull; @@ -52,8 +53,8 @@ public class ClientLoginSerializer implements ObjectSerializer<ClientLogin> { public Map<String, QVariant<Object>> toVariantMap(@NonNull final ClientLogin data) { final Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("User", new QVariant<>(data.User)); - map.put("Password", new QVariant<>(data.Password)); + map.put("User", new QVariant<>(QMetaType.Type.QString, data.User)); + map.put("Password", new QVariant<>(QMetaType.Type.QString, data.Password)); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/CoreSetupDataSerializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/CoreSetupDataSerializer.java index 703597f1662b2eb75b821783034844a46266ddd3..f268b17abe5d5e320691a1447dc2efe8f3635fc5 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/CoreSetupDataSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/CoreSetupDataSerializer.java @@ -30,6 +30,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.CoreSetupData; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertNotNull; @@ -51,7 +52,7 @@ public class CoreSetupDataSerializer implements ObjectSerializer<CoreSetupData> @Override public Map<String, QVariant<Object>> toVariantMap(@NonNull final CoreSetupData data) { final Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("SetupData", new QVariant<>(SetupDataInitializer.get().toVariantMap(data.SetupData))); + map.put("SetupData", new QVariant<>(QMetaType.Type.QVariantMap, SetupDataInitializer.get().toVariantMap(data.SetupData))); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/CoreSetupRejectSerializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/CoreSetupRejectSerializer.java index b03a1f82707712b2ce6aa074e104d187ca19e973..adb24bf870c81367540feeb9f1518f661c46a79f 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/CoreSetupRejectSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/CoreSetupRejectSerializer.java @@ -30,6 +30,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.CoreSetupReject; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertNotNull; @@ -51,7 +52,7 @@ public class CoreSetupRejectSerializer implements ObjectSerializer<CoreSetupReje @Override public Map<String, QVariant<Object>> toVariantMap(@NonNull final CoreSetupReject data) { final Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("Error", new QVariant<>(data.Error)); + map.put("Error", new QVariant<>(QMetaType.Type.QString, data.Error)); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/NetworkServerSerializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/NetworkServerSerializer.java index 66f622dda62f6e132fcd54302c4e8ecc1bd17f1f..0b0d94e7f78531e79a92aa13c8bd8e69a8e1ca22 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/NetworkServerSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/NetworkServerSerializer.java @@ -30,6 +30,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.NetworkServer; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertNotNull; @@ -52,17 +53,17 @@ public class NetworkServerSerializer implements ObjectSerializer<NetworkServer> public Map<String, QVariant<Object>> toVariantMap(@NonNull NetworkServer data) { final Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("UseSSL", new QVariant<>(data.UseSSL)); - map.put("sslVersion", new QVariant<>(data.sslVersion)); - map.put("Host", new QVariant<>(data.Host)); - map.put("Port", new QVariant<>(data.Port)); - map.put("Password", new QVariant<>(data.Password)); - map.put("UseProxy", new QVariant<>(data.UseProxy)); - map.put("ProxyType", new QVariant<>(data.ProxyType)); - map.put("ProxyHost", new QVariant<>(data.ProxyHost)); - map.put("ProxyPort", new QVariant<>(data.ProxyPort)); - map.put("ProxyUser", new QVariant<>(data.ProxyUser)); - map.put("ProxyPass", new QVariant<>(data.ProxyPass)); + map.put("UseSSL", new QVariant<>(QMetaType.Type.Bool, data.UseSSL)); + map.put("sslVersion", new QVariant<>(QMetaType.Type.Int, data.sslVersion)); + map.put("Host", new QVariant<>(QMetaType.Type.QString, data.Host)); + map.put("Port", new QVariant<>(QMetaType.Type.Int, data.Port)); + map.put("Password", new QVariant<>(QMetaType.Type.QString, data.Password)); + map.put("UseProxy", new QVariant<>(QMetaType.Type.Bool, data.UseProxy)); + map.put("ProxyType", new QVariant<>(QMetaType.Type.Int, data.ProxyType)); + map.put("ProxyHost", new QVariant<>(QMetaType.Type.QString, data.ProxyHost)); + map.put("ProxyPort", new QVariant<>(QMetaType.Type.Int, data.ProxyPort)); + map.put("ProxyUser", new QVariant<>(QMetaType.Type.QString, data.ProxyUser)); + map.put("ProxyPass", new QVariant<>(QMetaType.Type.QString, data.ProxyPass)); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/SessionInitSerializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/SessionInitSerializer.java index d6f2a7469f9616f06d81268e68a98092906bc0c4..b0421697bf2e857a0d9077f09ba1c95db387e86d 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/SessionInitSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/SessionInitSerializer.java @@ -30,6 +30,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.SessionInit; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; @SuppressWarnings({"unchecked", "ConstantConditions"}) @@ -49,7 +50,7 @@ public class SessionInitSerializer implements ObjectSerializer<SessionInit> { @Override public Map<String, QVariant<Object>> toVariantMap(@NonNull final SessionInit data) { final Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("SessionState", new QVariant<>(SessionStateSerializer.get().toVariantMap(data.SessionState))); + map.put("SessionState", new QVariant<>(QMetaType.Type.QVariantMap, SessionStateSerializer.get().toVariantMap(data.SessionState))); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/SetupDataInitializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/SetupDataInitializer.java index 6b9ab09fe45cb4391cc65c76c46e80b6ac1668f8..a86ae2d90e1d1e3d9bb0f6300985673ea317d034 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/SetupDataInitializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/SetupDataInitializer.java @@ -30,6 +30,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.SetupData; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertNotNull; @@ -52,10 +53,10 @@ public class SetupDataInitializer implements ObjectSerializer<SetupData> { public Map<String, QVariant<Object>> toVariantMap(@NonNull final SetupData data) { final Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("AdminPasswd", new QVariant<>(data.AdminPasswd)); - map.put("AdminUser", new QVariant<>(data.AdminUser)); - map.put("Backend", new QVariant<>(data.Backend)); - map.put("ConnectionProperties", new QVariant<>(data.ConnectionProperties)); + map.put("AdminPasswd", new QVariant<>(QMetaType.Type.QString, data.AdminPasswd)); + map.put("AdminUser", new QVariant<>(QMetaType.Type.QString, data.AdminUser)); + map.put("Backend", new QVariant<>(QMetaType.Type.QString, data.Backend)); + map.put("ConnectionProperties", new QVariant<>(QMetaType.Type.QVariantMap, data.ConnectionProperties)); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/objects/serializers/StorageBackendSerializer.java b/app/src/main/java/de/kuschku/libquassel/objects/serializers/StorageBackendSerializer.java index 5146ef205dcb1efba57218fd7e16c73ac7a79fbb..9150c045a32ae029189809c927a2f324d9f135fa 100644 --- a/app/src/main/java/de/kuschku/libquassel/objects/serializers/StorageBackendSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/objects/serializers/StorageBackendSerializer.java @@ -31,6 +31,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.types.StorageBackend; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertNotNull; @@ -53,10 +54,10 @@ public class StorageBackendSerializer implements ObjectSerializer<StorageBackend public Map<String, QVariant<Object>> toVariantMap(@NonNull final StorageBackend data) { final Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("DisplayName", new QVariant<>(data.DisplayName)); - map.put("SetupDefaults", new QVariant<>(data.SetupDefaults)); - map.put("Description", new QVariant<>(data.Description)); - map.put("SetupKeys", new QVariant<>(data.SetupKeys)); + map.put("DisplayName", new QVariant<>(QMetaType.Type.QString, data.DisplayName)); + map.put("SetupDefaults", new QVariant<>(QMetaType.Type.QVariantMap, data.SetupDefaults)); + map.put("Description", new QVariant<>(QMetaType.Type.QString, data.Description)); + map.put("SetupKeys", new QVariant<>(QMetaType.Type.QStringList, data.SetupKeys)); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/primitives/QMetaTypeRegistry.java b/app/src/main/java/de/kuschku/libquassel/primitives/QMetaTypeRegistry.java index 8d2d88e360cde110596a404e42a8bb23d2e16405..9b92775c0a4f41185c52a0aabbf5052916527330 100644 --- a/app/src/main/java/de/kuschku/libquassel/primitives/QMetaTypeRegistry.java +++ b/app/src/main/java/de/kuschku/libquassel/primitives/QMetaTypeRegistry.java @@ -60,6 +60,8 @@ import de.kuschku.libquassel.primitives.serializers.VoidSerializer; import de.kuschku.libquassel.primitives.types.BufferInfo; import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.syncables.serializers.IdentitySerializer; +import de.kuschku.libquassel.syncables.serializers.NetworkInfoSerializer; +import de.kuschku.libquassel.syncables.types.impl.NetworkInfo; import de.kuschku.libquassel.syncables.types.interfaces.QIdentity; import static de.kuschku.util.AndroidAssert.assertNotNull; @@ -82,8 +84,9 @@ public class QMetaTypeRegistry { addType(long.class, QMetaType.Type.UserType, "PeerPtr", LongSerializer.get()); addType(BufferInfo.class, QMetaType.Type.UserType, "BufferInfo", BufferInfoSerializer.get()); addType(Message.class, QMetaType.Type.UserType, "Message", MessageSerializer.get()); - addType(QIdentity.class, QMetaType.Type.UserType, "Identity", new UserTypeSerializer<>(IdentitySerializer.get())); - addType(NetworkServer.class, QMetaType.Type.UserType, "Network::Server", new UserTypeSerializer<>(NetworkServerSerializer.get())); + addType(QIdentity.class, QMetaType.Type.UserType, "Identity", new UserTypeSerializer<>(IdentitySerializer.get(), "Identity")); + addType(NetworkServer.class, QMetaType.Type.UserType, "Network::Server", new UserTypeSerializer<>(NetworkServerSerializer.get(), "Network::Server")); + addType(NetworkInfo.class, QMetaType.Type.UserType, "NetworkInfo", new UserTypeSerializer<>(NetworkInfoSerializer.get(), "NetworkInfo")); addType(int.class, QMetaType.Type.UInt, IntSerializer.get()); addType(short.class, QMetaType.Type.UShort, ShortSerializer.get()); @@ -285,6 +288,8 @@ public class QMetaTypeRegistry { return getMetaTypeByType(QMetaType.Type.QVariant); else if (type instanceof Message) return stringSerializerMap.get("Message"); else if (type instanceof BufferInfo) return stringSerializerMap.get("BufferInfo"); + else if (type instanceof NetworkInfo) return stringSerializerMap.get("NetworkInfo"); + else if (type instanceof NetworkServer) return stringSerializerMap.get("Network::Server"); else throw new AssertionError("Unsupported data type: " + type.getClass().getSimpleName()); } diff --git a/app/src/main/java/de/kuschku/libquassel/primitives/serializers/ByteArraySerializer.java b/app/src/main/java/de/kuschku/libquassel/primitives/serializers/ByteArraySerializer.java index 77a710270d0c5db999230e37c1acf9a59e709dcf..f4bd4e4de118e0d81ed3f921fba39daa958a7ea6 100644 --- a/app/src/main/java/de/kuschku/libquassel/primitives/serializers/ByteArraySerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/primitives/serializers/ByteArraySerializer.java @@ -23,6 +23,7 @@ package de.kuschku.libquassel.primitives.serializers; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.util.Log; import com.google.common.base.Charsets; @@ -55,7 +56,7 @@ public class ByteArraySerializer implements PrimitiveSerializer<String> { @Override public void serialize(@NonNull final ByteChannel channel, @Nullable final String data) throws IOException { if (data == null) { - IntSerializer.get().serialize(channel, 0xffffffff); + IntSerializer.get().serialize(channel, -1); } else { final ByteBuffer contentBuffer = Charsets.ISO_8859_1.encode(data); IntSerializer.get().serialize(channel, contentBuffer.limit() + (trimLastByte ? 1 : 0)); @@ -68,7 +69,7 @@ public class ByteArraySerializer implements PrimitiveSerializer<String> { @Override public String deserialize(@NonNull final ByteBuffer buffer) throws IOException { final int len = IntSerializer.get().deserialize(buffer); - if (len == 0xffffffff) + if (len == -1) return null; else if (len == 0) return ""; diff --git a/app/src/main/java/de/kuschku/libquassel/primitives/serializers/UserTypeSerializer.java b/app/src/main/java/de/kuschku/libquassel/primitives/serializers/UserTypeSerializer.java index bd7e0d6806b3c1d3ddb530f49febd10a6a676dc3..fa637e5ca2b24fed39c9b3ae19e5dc595965c356 100644 --- a/app/src/main/java/de/kuschku/libquassel/primitives/serializers/UserTypeSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/primitives/serializers/UserTypeSerializer.java @@ -29,6 +29,7 @@ import java.nio.channels.ByteChannel; import java.util.Map; import de.kuschku.libquassel.objects.serializers.ObjectSerializer; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import static de.kuschku.util.AndroidAssert.assertNotNull; @@ -37,17 +38,18 @@ import static de.kuschku.util.AndroidAssert.assertNotNull; public class UserTypeSerializer<T> implements PrimitiveSerializer<T> { @NonNull private final ObjectSerializer<T> objectSerializer; + private final String type; - public UserTypeSerializer(@NonNull ObjectSerializer<T> objectSerializer) { + public UserTypeSerializer(@NonNull ObjectSerializer<T> objectSerializer, String type) { this.objectSerializer = objectSerializer; + this.type = type; } @Override public void serialize(@NonNull ByteChannel channel, @NonNull T data) throws IOException { - QVariant<Map<String, QVariant<Object>>> variantMap = new QVariant<>(objectSerializer.toVariantMap(data)); + Map<String, QVariant<Object>> variantMap = objectSerializer.toVariantMap(data); assertNotNull(variantMap); - - VariantSerializer.<Map<String, QVariant<Object>>>get().serialize(channel, variantMap); + VariantMapSerializer.get().serialize(channel, variantMap); } @SuppressWarnings("RedundantCast") diff --git a/app/src/main/java/de/kuschku/libquassel/primitives/serializers/VariantMapSerializer.java b/app/src/main/java/de/kuschku/libquassel/primitives/serializers/VariantMapSerializer.java index 8c0a745aaa62b1404eab11c972185cd6da9a5fd0..202e69a8b3a837a95ba256365e51c6d8b92a1556 100644 --- a/app/src/main/java/de/kuschku/libquassel/primitives/serializers/VariantMapSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/primitives/serializers/VariantMapSerializer.java @@ -22,6 +22,7 @@ package de.kuschku.libquassel.primitives.serializers; import android.support.annotation.NonNull; +import android.util.Log; import java.io.IOException; import java.nio.ByteBuffer; diff --git a/app/src/main/java/de/kuschku/libquassel/protocols/LegacyPeer.java b/app/src/main/java/de/kuschku/libquassel/protocols/LegacyPeer.java index 29264c056c517a665f2f1f596ff3184dbf7165c1..002610dc44a70d9b322aea9157a80a5abc75f9ba 100644 --- a/app/src/main/java/de/kuschku/libquassel/protocols/LegacyPeer.java +++ b/app/src/main/java/de/kuschku/libquassel/protocols/LegacyPeer.java @@ -103,35 +103,35 @@ public class LegacyPeer implements RemotePeer { public void onEventBackgroundThread(@NonNull RpcCallFunction func) { assertNotNull(connection.getOutputExecutor()); connection.getOutputExecutor().submit(new OutputRunnable<>(VariantSerializer.get(), - new QVariant<>(UnpackedRpcCallFunctionSerializer.get().serialize(func)))); + new QVariant<>(QVariantList, UnpackedRpcCallFunctionSerializer.get().serialize(func)))); } @Subscribe(threadMode = ThreadMode.BACKGROUND) public void onEventBackgroundThread(@NonNull InitRequestFunction func) { assertNotNull(connection.getOutputExecutor()); connection.getOutputExecutor().submit(new OutputRunnable<>(VariantSerializer.get(), - new QVariant<>(InitRequestFunctionSerializer.get().serialize(func)))); + new QVariant<>(QVariantList, InitRequestFunctionSerializer.get().serialize(func)))); } @Subscribe(threadMode = ThreadMode.BACKGROUND) public void onEventBackgroundThread(@NonNull InitDataFunction func) { assertNotNull(connection.getOutputExecutor()); connection.getOutputExecutor().submit(new OutputRunnable<>(VariantSerializer.get(), - new QVariant<>(InitDataFunctionSerializer.get().serialize(func)))); + new QVariant<>(QVariantList, InitDataFunctionSerializer.get().serialize(func)))); } @Subscribe(threadMode = ThreadMode.BACKGROUND) public void onEventBackgroundThread(@NonNull Heartbeat func) { assertNotNull(connection.getOutputExecutor()); connection.getOutputExecutor().submit(new OutputRunnable<>(VariantSerializer.get(), - new QVariant<>(HeartbeatSerializer.get().serialize(func)))); + new QVariant<>(QVariantList, HeartbeatSerializer.get().serialize(func)))); } @Subscribe(threadMode = ThreadMode.BACKGROUND) public void onEventBackgroundThread(@NonNull HeartbeatReply func) { assertNotNull(connection.getOutputExecutor()); connection.getOutputExecutor().submit(new OutputRunnable<>(VariantSerializer.get(), - new QVariant<>(HeartbeatReplySerializer.get().serialize(func)))); + new QVariant<>(QVariantList, HeartbeatReplySerializer.get().serialize(func)))); } @Subscribe(threadMode = ThreadMode.BACKGROUND) diff --git a/app/src/main/java/de/kuschku/libquassel/syncables/serializers/AliasManagerSerializer.java b/app/src/main/java/de/kuschku/libquassel/syncables/serializers/AliasManagerSerializer.java index 79ebc3f45f2cdb7ff44842ab7b0de276f1beb83c..9d0b8ca5326064152a9e572b2afb0b3040922ac8 100644 --- a/app/src/main/java/de/kuschku/libquassel/syncables/serializers/AliasManagerSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/syncables/serializers/AliasManagerSerializer.java @@ -33,6 +33,7 @@ import de.kuschku.libquassel.functions.types.PackedFunction; import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.serializers.ObjectSerializer; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.syncables.types.impl.AliasManager; import de.kuschku.libquassel.syncables.types.interfaces.QAliasManager; @@ -63,11 +64,11 @@ public class AliasManagerSerializer implements ObjectSerializer<AliasManager> { names.add(alias.name); expansions.add(alias.expansion); } - aliases.put("names", new QVariant(names)); - aliases.put("expansions", new QVariant(expansions)); + aliases.put("names", new QVariant(QMetaType.Type.QStringList, names)); + aliases.put("expansions", new QVariant(QMetaType.Type.QStringList, expansions)); HashMap<String, QVariant<Object>> map = new HashMap<>(); - map.put("Aliases", new QVariant(aliases)); + map.put("Aliases", new QVariant(QMetaType.Type.QVariantMap, aliases)); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/syncables/serializers/NetworkInfoSerializer.java b/app/src/main/java/de/kuschku/libquassel/syncables/serializers/NetworkInfoSerializer.java index 8b17901a6016454c07bb0aef36eda54a0e6eab13..0a216321e0d6dc06c4104cfd4c14a46b39e18789 100644 --- a/app/src/main/java/de/kuschku/libquassel/syncables/serializers/NetworkInfoSerializer.java +++ b/app/src/main/java/de/kuschku/libquassel/syncables/serializers/NetworkInfoSerializer.java @@ -23,6 +23,7 @@ package de.kuschku.libquassel.syncables.serializers; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.util.Log; import java.util.HashMap; import java.util.List; @@ -33,6 +34,7 @@ import de.kuschku.libquassel.functions.types.SerializedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.objects.serializers.ObjectSerializer; import de.kuschku.libquassel.objects.types.NetworkServer; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.syncables.types.impl.NetworkInfo; @@ -54,31 +56,32 @@ public class NetworkInfoSerializer implements ObjectSerializer<NetworkInfo> { @Override public Map<String, QVariant<Object>> toVariantMap(@NonNull NetworkInfo data) { Map<String, QVariant<Object>> map = new HashMap<>(); - map.put("networkName", new QVariant<>(data.networkName())); - map.put("identity", new QVariant<>(data.identity())); + map.put("NetworkId", new QVariant<>("NetworkId", data.networkId())); + map.put("NetworkName", new QVariant<>(QMetaType.Type.QString, data.networkName())); + map.put("Identity", new QVariant<>("IdentityId", data.identity())); - map.put("codecForServer", new QVariant<>(data.codecForServer())); - map.put("codecForEncoding", new QVariant<>(data.codecForEncoding())); - map.put("codecForDecoding", new QVariant<>(data.codecForDecoding())); + map.put("CodecForServer", new QVariant<>(QMetaType.Type.QByteArray, data.codecForServer())); + map.put("CodecForEncoding", new QVariant<>(QMetaType.Type.QByteArray, data.codecForEncoding())); + map.put("CodecForDecoding", new QVariant<>(QMetaType.Type.QByteArray, data.codecForDecoding())); - map.put("ServerList", new QVariant<>(data.serverList())); - map.put("useRandomServer", new QVariant<>(data.useRandomServer())); + map.put("ServerList", new QVariant<>(QMetaType.Type.QVariantList, data.serverList())); + map.put("UseRandomServer", new QVariant<>(QMetaType.Type.Bool, data.useRandomServer())); - map.put("perform", new QVariant<>(data.perform())); + map.put("Perform", new QVariant<>(QMetaType.Type.QStringList, data.perform())); - map.put("useAutoIdentify", new QVariant<>(data.useAutoIdentify())); - map.put("autoIdentifyService", new QVariant<>(data.autoIdentifyService())); - map.put("autoIdentifyPassword", new QVariant<>(data.autoIdentifyPassword())); + map.put("UseAutoIdentify", new QVariant<>(QMetaType.Type.Bool, data.useAutoIdentify())); + map.put("AutoIdentifyService", new QVariant<>(QMetaType.Type.QString, data.autoIdentifyService())); + map.put("AutoIdentifyPassword", new QVariant<>(QMetaType.Type.QString, data.autoIdentifyPassword())); - map.put("useSasl", new QVariant<>(data.useSasl())); - map.put("saslAccount", new QVariant<>(data.saslAccount())); - map.put("saslPassword", new QVariant<>(data.saslPassword())); + map.put("UseSasl", new QVariant<>(QMetaType.Type.Bool, data.useSasl())); + map.put("SaslAccount", new QVariant<>(QMetaType.Type.QString, data.saslAccount())); + map.put("SaslPassword", new QVariant<>(QMetaType.Type.QString, data.saslPassword())); - map.put("useAutoReconnect", new QVariant<>(data.useAutoReconnect())); - map.put("autoReconnectInterval", new QVariant<>(data.autoReconnectInterval())); - map.put("autoReconnectRetries", new QVariant<>(data.autoReconnectRetries())); - map.put("unlimitedReconnectRetries", new QVariant<>(data.unlimitedReconnectRetries())); - map.put("rejoinChannels", new QVariant<>(data.rejoinChannels())); + map.put("UseAutoReconnect", new QVariant<>(QMetaType.Type.Bool, data.useAutoReconnect())); + map.put("AutoReconnectInterval", new QVariant<>(QMetaType.Type.UInt, data.autoReconnectInterval())); + map.put("AutoReconnectRetries", new QVariant<>(QMetaType.Type.UShort, data.autoReconnectRetries())); + map.put("UnlimitedReconnectRetries", new QVariant<>(QMetaType.Type.Bool, data.unlimitedReconnectRetries())); + map.put("RejoinChannels", new QVariant<>(QMetaType.Type.Bool, data.rejoinChannels())); return map; } diff --git a/app/src/main/java/de/kuschku/libquassel/syncables/types/abstracts/ANetwork.java b/app/src/main/java/de/kuschku/libquassel/syncables/types/abstracts/ANetwork.java index 30ed2838212eb0c1779a0a08df8a310c47e65688..67e1edfb239ac3baf51efc28c541c6d5a06f7e5b 100644 --- a/app/src/main/java/de/kuschku/libquassel/syncables/types/abstracts/ANetwork.java +++ b/app/src/main/java/de/kuschku/libquassel/syncables/types/abstracts/ANetwork.java @@ -22,6 +22,7 @@ package de.kuschku.libquassel.syncables.types.abstracts; import android.support.annotation.NonNull; +import android.util.Log; import java.util.List; @@ -227,8 +228,7 @@ public abstract class ANetwork extends SyncableObject<QNetwork> implements QNetw @Override public void setNetworkInfo(NetworkInfo info) { - _setNetworkInfo(info); - syncVar("setNetworkInfo", info); + syncVar("requestSetNetworkInfo", info); } @Override diff --git a/app/src/main/java/de/kuschku/libquassel/syncables/types/impl/BufferViewConfig.java b/app/src/main/java/de/kuschku/libquassel/syncables/types/impl/BufferViewConfig.java index 649403a7ff469f84835231be3dce6e0bca701683..bef5cf3544c26094421c42011eb2db3332387aaf 100644 --- a/app/src/main/java/de/kuschku/libquassel/syncables/types/impl/BufferViewConfig.java +++ b/app/src/main/java/de/kuschku/libquassel/syncables/types/impl/BufferViewConfig.java @@ -162,7 +162,7 @@ public class BufferViewConfig extends ABufferViewConfig { for (int bufferId : bufferList()) { Buffer buffer = client.bufferManager().buffer(bufferId); if (buffer == null) - Log.e("DEBUG", "Buffer is null: " + bufferId + " while adding buffer " + info); + Log.w("libquassel", "Buffer is null: " + bufferId + " while adding buffer " + info); BufferInfo info1 = buffer.getInfo(); if (info1.networkId == info.networkId) infos.add(info1.name); diff --git a/app/src/main/java/de/kuschku/libquassel/syncables/types/impl/Network.java b/app/src/main/java/de/kuschku/libquassel/syncables/types/impl/Network.java index a0039aba8cd42763b6046a82afcbcddc969e4c56..65173f84d82980a77e2c6bb7cdc7e248bf2a9796 100644 --- a/app/src/main/java/de/kuschku/libquassel/syncables/types/impl/Network.java +++ b/app/src/main/java/de/kuschku/libquassel/syncables/types/impl/Network.java @@ -781,6 +781,8 @@ public class Network extends ANetwork implements Observer { @Override public void _update() { super._update(); + if (client != null) + client.networkManager().networks().notifyItemChanged(client.networkManager().networks().indexOf(this)); } private void updateDisplay() { diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/service/ClientBackgroundThread.java b/app/src/main/java/de/kuschku/quasseldroid_ng/service/ClientBackgroundThread.java index 32c8fa3cf0c84ce4980d82b523a26e977e6e5ca0..b66c9f5cbd54d901af12b33246825360d2f3250f 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/service/ClientBackgroundThread.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/service/ClientBackgroundThread.java @@ -108,5 +108,7 @@ public class ClientBackgroundThread implements Runnable { public void onEvent(GeneralErrorEvent event) { if (!(event.exception instanceof ConnectException)) ACRA.getErrorReporter().handleSilentException(event.exception); + + event.exception.printStackTrace(); } } diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/BufferViewConfigSpinnerAdapter.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/BufferViewConfigSpinnerAdapter.java index f1a9ebe51dc1aba4804f0da7752a52050599149c..2bea8319140add7050e9d252d4c29b471305488c 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/BufferViewConfigSpinnerAdapter.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/BufferViewConfigSpinnerAdapter.java @@ -118,9 +118,6 @@ public class BufferViewConfigSpinnerAdapter implements ThemedSpinnerAdapter, Gen TextView view = (TextView) inflater.inflate(R.layout.widget_md_spinner_item, parent, false); QBufferViewConfig viewConfig = (QBufferViewConfig) getItem(position); view.setText(viewConfig == null ? "" : viewConfig.bufferViewName()); - if (viewConfig == null) { - Log.d("DEBUG", String.valueOf(bufferViewManager.bufferViewConfigs())); - } return view; } diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java index 3cfbc335e18d2a1a0083388b53fb80b3a710c83f..203ce96adb31699d140cfa149e38bdaac5257c1d 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java @@ -76,6 +76,7 @@ import de.kuschku.libquassel.localtypes.buffers.QueryBuffer; import de.kuschku.libquassel.message.Message; import de.kuschku.libquassel.objects.types.CoreSetupData; import de.kuschku.libquassel.objects.types.SetupData; +import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.syncables.types.interfaces.QBacklogManager; import de.kuschku.libquassel.syncables.types.interfaces.QIrcChannel; @@ -493,8 +494,6 @@ public class MainActivity extends BoundActivity { if (resultCode == RESULT_OK) { context.provider().event.removeStickyEvent(CoreSetupRequiredEvent.class); - Log.d("DEBUG", "Received result: " + data.getExtras()); - Account account = manager.account(context.settings().preferenceLastAccount.get()); Bundle config = data.getParcelableExtra("config"); Map<String, QVariant> configData = new HashMap<>(); @@ -532,8 +531,6 @@ public class MainActivity extends BoundActivity { @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onEventMainThread(CoreSetupRequiredEvent event) { - Log.d("DEBUG", String.valueOf(context.client().core().StorageBackends)); - Intent intent = new Intent(getApplicationContext(), CoreSetupActivity.class); intent.putExtra("storageBackends", context.client().core().getStorageBackendsAsBundle()); startActivityForResult(intent, REQUEST_CODE_CORESETUP); diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java index 64f5259a3b04e4015c4a710c151a7a8bc94c7257..d127c291d0714474d6ac57d51645b618ec73431e 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java @@ -70,7 +70,8 @@ public class BufferViewConfigAdapter extends ExpandableRecyclerAdapter<NetworkVi @Override public void notifyItemChanged(QNetwork network) { - items.notifyItemChanged(items.indexOf(itemMap.get(network))); + if (items.contains(itemMap.get(network))) + items.notifyItemChanged(items.indexOf(itemMap.get(network))); } }; @@ -137,7 +138,7 @@ public class BufferViewConfigAdapter extends ExpandableRecyclerAdapter<NetworkVi final ObservableSortedList<NetworkItem> networkItems = new ObservableSortedList<>(NetworkItem.class, new ObservableSortedList.ItemComparator<NetworkItem>() { @Override public int compare(NetworkItem o1, NetworkItem o2) { - return o1.getNetwork().networkName().compareTo(o2.getNetwork().networkName()); + return o1 == null && o2 == null ? 0 : o1 == null ? 1 : o2 == null ? -1 : o1.getNetwork().networkName().compareTo(o2.getNetwork().networkName()); } @Override diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/chatlist/ChatListCreateActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/chatlist/ChatListCreateActivity.java index 437e0a40d9f8c3af42d0795cb9b4285c64448f2d..7a8bd37ce8b6994829b300cbd250004bcb8f04f8 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/chatlist/ChatListCreateActivity.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/chatlist/ChatListCreateActivity.java @@ -100,7 +100,6 @@ public class ChatListCreateActivity extends BoundActivity { public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_confirm: { - Log.d("DEBUG", "Manager: " + bufferViewManager); if (bufferViewManager != null) { QBufferViewConfig config = new BufferViewConfig( "", @@ -125,8 +124,6 @@ public class ChatListCreateActivity extends BoundActivity { config._setAddNewBuffersAutomatically(this.addAutomatically.isChecked()); config._setSortAlphabetically(this.sortAlphabetically.isChecked()); - Log.d("DEBUG", "Config: " + config); - bufferViewManager.createBufferView(config); } finish(); @@ -138,13 +135,11 @@ public class ChatListCreateActivity extends BoundActivity { @Override protected void onConnected() { - Log.d("ChatListCreateActivity", "Connected: " + context.client().bufferViewManager()); bufferViewManager = context.client().bufferViewManager(); } @Override protected void onDisconnected() { - Log.d("ChatListCreateActivity", "Disconnected"); bufferViewManager = null; } } diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkCreateActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkCreateActivity.java index 680eae60a4d04c67748dda23560b746684f23471..0c4f3e27ae9f692f42bc6464ff3fd679b8cefdf0 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkCreateActivity.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkCreateActivity.java @@ -302,8 +302,8 @@ public class NetworkCreateActivity extends BoundActivity { unlimitedAutoReconnectRetries.isChecked(), rejoinChannels.isChecked() ); - - Log.d("DEBUG", "After: " + after); + if (context.client() != null) + context.client().createNetwork(after); finish(); } diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkEditActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkEditActivity.java index b1846571cb2eb58ee67ce526f190ddfcc1aa27d4..167d65d1624639cd8110f90db2f73ea21bd3bd00 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkEditActivity.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkEditActivity.java @@ -41,7 +41,9 @@ import android.widget.Spinner; import butterknife.Bind; import butterknife.ButterKnife; import de.kuschku.libquassel.syncables.types.impl.NetworkInfo; +import de.kuschku.libquassel.syncables.types.interfaces.QNetwork; import de.kuschku.quasseldroid_ng.R; +import de.kuschku.util.backports.Objects; import de.kuschku.util.servicebound.BoundActivity; public class NetworkEditActivity extends BoundActivity { @@ -100,7 +102,7 @@ public class NetworkEditActivity extends BoundActivity { CheckBox unlimitedAutoReconnectRetries; int id; - private NetworkInfo networkInfo; + private QNetwork network; public static void expand(final ViewGroup v) { v.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); @@ -236,6 +238,7 @@ public class NetworkEditActivity extends BoundActivity { public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_confirm: { + NetworkInfo networkInfo = this.network.networkInfo(); if (networkInfo != null) { NetworkInfo after = new NetworkInfo( networkInfo.networkId(), @@ -263,9 +266,8 @@ public class NetworkEditActivity extends BoundActivity { rejoinChannels.isChecked() ); - Log.d("DEBUG", "Before: " + networkInfo); - Log.d("DEBUG", "After: " + after); - Log.d("DEBUG", "Eq: " + networkInfo.equals(after)); + if (!Objects.equals(networkInfo, after)) + network.setNetworkInfo(after); finish(); } @@ -277,13 +279,14 @@ public class NetworkEditActivity extends BoundActivity { @Override protected void onConnected() { - setNetwork(context.client().networkManager().network(id).networkInfo()); + setNetwork(context.client().networkManager().network(id)); } - private void setNetwork(NetworkInfo networkInfo) { - this.networkInfo = networkInfo; + private void setNetwork(QNetwork network) { + this.network = network; - if (this.networkInfo != null) { + NetworkInfo networkInfo = this.network.networkInfo(); + if (networkInfo != null) { networkName.setText(networkInfo.networkName()); useCustomCodecs.setChecked(networkInfo.codecForServer() != null || networkInfo.codecForEncoding() != null || networkInfo.codecForDecoding() != null); codecForServer.setText(networkInfo.codecForServer()); diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkListActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkListActivity.java index 2ae9ec975df2796ac456d357ab69bdb8a41a6f7b..fd93e5901fc9ebf0c4576b8c2b3939f997194b98 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkListActivity.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/coresettings/network/NetworkListActivity.java @@ -42,6 +42,7 @@ import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewConfig; import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewManager; import de.kuschku.libquassel.syncables.types.interfaces.QNetwork; import de.kuschku.quasseldroid_ng.R; +import de.kuschku.util.observables.callbacks.UICallback; import de.kuschku.util.observables.callbacks.wrappers.AdapterUICallbackWrapper; import de.kuschku.util.servicebound.BoundActivity; diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/setup/slides/CoreBackendSetupSlide.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/setup/slides/CoreBackendSetupSlide.java index fd175ece93ff6f8ab4d355c758cbe03836f98a07..2fcfbf6a1fb0f5c67e7f1800bffb59f073289d97 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/setup/slides/CoreBackendSetupSlide.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/setup/slides/CoreBackendSetupSlide.java @@ -98,8 +98,6 @@ public class CoreBackendSetupSlide extends SlideFragment { } private void updateContent() { - Log.d("DEBUG", "Backend is: " + storageBackend); - container.removeAllViews(); for (InputItemWrapper wrapper : items.values()) { @@ -122,7 +120,6 @@ public class CoreBackendSetupSlide extends SlideFragment { InputItemWrapper wrapper = getInputItemWrapper(key, type, defValue); items.put(key, wrapper); container.addView(wrapper.getView(container.getContext(), container)); - Log.d("DEBUG", "Adding config: " + type + " " + key + " = " + defValue + ";"); } }