diff options
-rw-r--r-- | res/values-es/strings.xml | 17 | ||||
-rw-r--r-- | src/eu/siacs/conversations/parser/MessageParser.java | 13 |
2 files changed, 16 insertions, 14 deletions
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 42473266..0087e9e9 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -217,16 +217,11 @@ <string name="muc_details_other_members">Otros Miembros</string> <string name="subscription_not_updated_offline">Cuenta desconectada. No se puede actualizar suscripciones</string> <string name="share_with_active_conversations">Conversaciones Activas</string> - <string name="server_info_statistics">Estadísticas</string> - <string name="server_info_connection_age">Tiempo de conexión</string> - <string name="server_info_session_age">Duración de la sesión</string> - <string name="server_info_packets_sent">Paquetes enviados</string> - <string name="server_info_packets_received">Paquetes recibidos</string> - <string name="server_info_connected_accounts">Cuentas conectadas</string> - <string name="server_info_server_features">Características del Servidor</string> - <string name="server_info_roster_versioning">Roster Versioning</string> - <string name="server_info_carbon_messages">Mensajes Carbon</string> - <string name="server_info_stream_management">Stream Management</string> + <string name="server_info_carbon_messages">XEP-0280: Message Carbons</string> + <string name="server_info_stream_management">XEP-0198: Stream Management</string> + <string name="server_info_pep">XEP-0163: PEP (Avatars)</string> + <string name="server_info_available">Sí</string> + <string name="server_info_unavailable">No</string> <string name="hours">horas</string> <string name="mins">min</string> <string name="missing_public_keys">Se han perdido las claves de anuncio públicas</string> @@ -285,7 +280,7 @@ <string name="connect">Conectar</string> <string name="account_already_exists">Esta cuenta ya existe</string> <string name="next">Siguiente</string> - <string name="server_info_compatibilty">Compatibilidad del servidor</string> <string name="server_info_session_established">Inicio sesión actual</string> <string name="additional_information">Información adicional</string> + <string name="skip">Omitir</string> </resources> diff --git a/src/eu/siacs/conversations/parser/MessageParser.java b/src/eu/siacs/conversations/parser/MessageParser.java index 06c0923a..ad1ce9b9 100644 --- a/src/eu/siacs/conversations/parser/MessageParser.java +++ b/src/eu/siacs/conversations/parser/MessageParser.java @@ -40,15 +40,18 @@ public class MessageParser extends AbstractParser implements packet.getBody(), Message.ENCRYPTION_NONE, Message.STATUS_RECIEVED); } + finishedMessage.setRemoteMsgId(packet.getId()); if (conversation.getMode() == Conversation.MODE_MULTI && fromParts.length >= 2) { finishedMessage.setType(Message.TYPE_PRIVATE); finishedMessage.setPresence(fromParts[1]); finishedMessage.setTrueCounterpart(conversation.getMucOptions() .getTrueCounterpart(fromParts[1])); + if (conversation.hasDuplicateMessage(finishedMessage)) { + return null; + } } - finishedMessage.setRemoteMsgId(packet.getId()); finishedMessage.setTime(getTimestamp(packet)); return finishedMessage; } @@ -236,7 +239,9 @@ public class MessageParser extends AbstractParser implements finishedMessage.setPresence(parts[1]); finishedMessage.setTrueCounterpart(conversation.getMucOptions() .getTrueCounterpart(parts[1])); - + if (conversation.hasDuplicateMessage(finishedMessage)) { + return null; + } } return finishedMessage; @@ -362,7 +367,9 @@ public class MessageParser extends AbstractParser implements } } else if (packet.hasChild("body")) { message = this.parseChat(packet, account); - message.markUnread(); + if (message != null) { + message.markUnread(); + } } else if (packet.hasChild("received") || (packet.hasChild("sent"))) { message = this.parseCarbonMessage(packet, account); if (message != null) { |