Merge branch 'master' of github.com:igniterealtime/Smack

This commit is contained in:
Florian Schmaus 2019-09-18 09:59:57 +02:00
commit b83dacc60a
3 changed files with 26 additions and 11 deletions

View File

@ -24,5 +24,5 @@ dependencies {
} }
// Add the Android jar to the Eclipse .classpath. // Add the Android jar to the Eclipse .classpath.
compile files(androidBootClasspath) compileOnly files(androidBootClasspath)
} }

View File

@ -66,15 +66,23 @@ public class AbstractError {
* @return the descriptive text or null. * @return the descriptive text or null.
*/ */
public String getDescriptiveText() { public String getDescriptiveText() {
String defaultLocale = Locale.getDefault().getLanguage(); if (descriptiveTexts.isEmpty())
String descriptiveText = getDescriptiveText(defaultLocale); return null;
if (descriptiveText == null) { // attempt to obtain the text in the user's locale, the English text, or the "" default
descriptiveText = getDescriptiveText("en"); Locale l = Locale.getDefault();
if (descriptiveText == null) { String[] tags = new String[] {
descriptiveText = getDescriptiveText(""); l.getLanguage() + "-" + l.getCountry() + "-" + l.getVariant(),
} l.getLanguage() + "-" + l.getCountry(),
l.getLanguage(),
"en",
""
};
for (String tag : tags) {
String descriptiveText = getDescriptiveText(tag);
if (descriptiveText != null)
return descriptiveText;
} }
return descriptiveText; return descriptiveTexts.values().iterator().next();
} }
/** /**

View File

@ -51,6 +51,8 @@ public final class StableUniqueStanzaIdManager extends Manager {
private static final Map<XMPPConnection, StableUniqueStanzaIdManager> INSTANCES = new WeakHashMap<>(); private static final Map<XMPPConnection, StableUniqueStanzaIdManager> INSTANCES = new WeakHashMap<>();
private static boolean enabledByDefault = true;
// Filter for outgoing stanzas. // Filter for outgoing stanzas.
private static final StanzaFilter OUTGOING_FILTER = new AndFilter( private static final StanzaFilter OUTGOING_FILTER = new AndFilter(
MessageTypeFilter.NORMAL_OR_CHAT_OR_HEADLINE, MessageTypeFilter.NORMAL_OR_CHAT_OR_HEADLINE,
@ -72,7 +74,9 @@ public final class StableUniqueStanzaIdManager extends Manager {
XMPPConnectionRegistry.addConnectionCreationListener(new ConnectionCreationListener() { XMPPConnectionRegistry.addConnectionCreationListener(new ConnectionCreationListener() {
@Override @Override
public void connectionCreated(XMPPConnection connection) { public void connectionCreated(XMPPConnection connection) {
getInstanceFor(connection); if (enabledByDefault) {
getInstanceFor(connection).enable();
}
} }
}); });
} }
@ -83,7 +87,10 @@ public final class StableUniqueStanzaIdManager extends Manager {
*/ */
private StableUniqueStanzaIdManager(XMPPConnection connection) { private StableUniqueStanzaIdManager(XMPPConnection connection) {
super(connection); super(connection);
enable(); }
public static void setEnabledByDefault(boolean enabled) {
enabledByDefault = enabled;
} }
/** /**