diff options
author | lookshe <github@lookshe.org> | 2016-02-22 14:36:35 +0100 |
---|---|---|
committer | lookshe <github@lookshe.org> | 2016-02-22 14:36:35 +0100 |
commit | c5e60b43b8e107702445e834bce8a3c77f676eb8 (patch) | |
tree | 266138fdf20f29f7ed8a31d4682f02cd7012cf0e /src/main/java/eu/siacs/conversations/generator/AbstractGenerator.java | |
parent | 1e40764b20a08170f8e4bfe1f1ae1559111f2961 (diff) | |
parent | c20d8ac69eeade4d5337d958ada7910db0c6d3a0 (diff) |
Merge tag '1.10.0' into trz/merge_1.10.0
Conflicts:
README.md
build.gradle
src/main/java/eu/siacs/conversations/generator/AbstractGenerator.java
src/main/java/eu/siacs/conversations/parser/MessageParser.java
src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
src/main/res/layout/activity_edit_account.xml
src/main/res/values-cs/strings.xml
src/main/res/values-de/strings.xml
src/main/res/values-es/strings.xml
src/main/res/values-eu/strings.xml
src/main/res/values-gl/strings.xml
src/main/res/values-it/strings.xml
src/main/res/values-ja/strings.xml
src/main/res/values-nb-rNO/strings.xml
src/main/res/values-nl/strings.xml
src/main/res/values-pl/strings.xml
src/main/res/values-sr/strings.xml
src/main/res/values-zh-rCN/strings.xml
src/main/res/values-zh-rTW/strings.xml
src/main/res/values/strings.xml
Diffstat (limited to 'src/main/java/eu/siacs/conversations/generator/AbstractGenerator.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/generator/AbstractGenerator.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/eu/siacs/conversations/generator/AbstractGenerator.java b/src/main/java/eu/siacs/conversations/generator/AbstractGenerator.java index 649f767d..7e2ff213 100644 --- a/src/main/java/eu/siacs/conversations/generator/AbstractGenerator.java +++ b/src/main/java/eu/siacs/conversations/generator/AbstractGenerator.java @@ -15,6 +15,10 @@ import java.util.TimeZone; import de.thedevstack.conversationsplus.ConversationsPlusApplication; import de.tzur.conversations.Settings; import eu.siacs.conversations.crypto.axolotl.AxolotlService; +import eu.siacs.conversations.services.XmppConnectionService; +import eu.siacs.conversations.utils.PhoneHelper; +import eu.siacs.conversations.xmpp.jid.Jid; +import eu.siacs.conversations.xmpp.stanzas.IqPacket; public abstract class AbstractGenerator { private final String[] FEATURES = { @@ -36,10 +40,32 @@ public abstract class AbstractGenerator { "urn:xmpp:chat-markers:0", "urn:xmpp:receipts" }; + private final String[] MESSAGE_CORRECTION_FEATURES = { + "urn:xmpp:message-correct:0" + }; + private String mVersion = null; + protected final String IDENTITY_NAME = "Conversations"; protected final String IDENTITY_TYPE = "phone"; private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US); + protected XmppConnectionService mXmppConnectionService; + + protected AbstractGenerator(XmppConnectionService service) { + this.mXmppConnectionService = service; + } + + protected String getIdentityVersion() { + if (mVersion == null) { + this.mVersion = PhoneHelper.getVersionName(mXmppConnectionService); + } + return this.mVersion; + } + + public String getIdentityName() { + return IDENTITY_NAME + " " + getIdentityVersion(); + } + public String getCapHash() { StringBuilder s = new StringBuilder(); s.append("client/" + IDENTITY_TYPE + "//" + ConversationsPlusApplication.getNameAndVersion() + "<"); @@ -68,6 +94,9 @@ public abstract class AbstractGenerator { if (Settings.CONFIRM_MESSAGE_RECEIVED) { features.addAll(Arrays.asList(MESSAGE_CONFIRMATION_FEATURES)); } + if (mXmppConnectionService.allowMessageCorrection()) { + features.addAll(Arrays.asList(MESSAGE_CORRECTION_FEATURES)); + } Collections.sort(features); return features; } |