aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md3
-rw-r--r--build.gradle4
-rw-r--r--src/main/AndroidManifest.xml9
-rw-r--r--src/main/java/eu/siacs/conversations/generator/MessageGenerator.java4
-rw-r--r--src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java3
-rw-r--r--src/main/java/eu/siacs/conversations/utils/XmppUri.java12
6 files changed, 27 insertions, 8 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ce194ff60..1e3c8f126 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
###Changelog
+####Version 1.12.5
+* bug fixes
+
####Version 1.12.4
* new create conference dialog
* show first unread message on top
diff --git a/build.gradle b/build.gradle
index 557c78096..be1b072e3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -72,8 +72,8 @@ android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
- versionCode 145
- versionName "1.12.4"
+ versionCode 146
+ versionName "1.12.5"
archivesBaseName += "-$versionName"
applicationId "eu.siacs.conversations"
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index a2acd1d38..ddf4f17fe 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -87,6 +87,15 @@
<data android:scheme="xmpp"/>
</intent-filter>
+ <intent-filter android:autoVerify="true">
+ <action android:name="android.intent.action.VIEW" />
+ <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.BROWSABLE" />
+ <data android:scheme="https" />
+ <data android:host="jabber.pix-art.de" />
+ <data android:pathPrefix="/i/"/>
+ </intent-filter>
+
</activity>
<activity
android:name=".ui.WelcomeActivity"
diff --git a/src/main/java/eu/siacs/conversations/generator/MessageGenerator.java b/src/main/java/eu/siacs/conversations/generator/MessageGenerator.java
index 823af397a..09c882932 100644
--- a/src/main/java/eu/siacs/conversations/generator/MessageGenerator.java
+++ b/src/main/java/eu/siacs/conversations/generator/MessageGenerator.java
@@ -12,6 +12,7 @@ import java.util.TimeZone;
import eu.siacs.conversations.crypto.axolotl.AxolotlService;
import eu.siacs.conversations.crypto.axolotl.XmppAxolotlMessage;
import eu.siacs.conversations.entities.Account;
+import eu.siacs.conversations.entities.Contact;
import eu.siacs.conversations.entities.Conversation;
import eu.siacs.conversations.entities.Message;
import eu.siacs.conversations.services.XmppConnectionService;
@@ -81,7 +82,8 @@ public class MessageGenerator extends AbstractGenerator {
}
private static boolean recipientSupportsOmemo(Message message) {
- return message.getContact().getPresences().allOrNonSupport(AxolotlService.PEP_DEVICE_LIST_NOTIFY);
+ Contact c = message.getContact();
+ return c != null && c.getPresences().allOrNonSupport(AxolotlService.PEP_DEVICE_LIST_NOTIFY);
}
public static void addMessageHints(MessagePacket packet) {
diff --git a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
index 9af83edd8..548682dfb 100644
--- a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
@@ -699,7 +699,6 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
if (xmppConnectionServiceBound) {
this.mPostponedActivityResult = null;
if (requestCode == REQUEST_CREATE_CONFERENCE) {
- Log.d(Config.LOGTAG,"account jid: "+ intent.getStringExtra(EXTRA_ACCOUNT));
Account account = extractAccount(intent);
final String subject = intent.getStringExtra("subject");
List<Jid> jids = new ArrayList<>();
@@ -719,7 +718,7 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
//ignored
}
}
- if (account != null && jids.size() > 1) {
+ if (account != null && jids.size() > 0) {
xmppConnectionService.createAdhocConference(account, subject, jids, mAdhocConferenceCallback);
mToast = Toast.makeText(this, R.string.creating_conference,Toast.LENGTH_LONG);
mToast.show();
diff --git a/src/main/java/eu/siacs/conversations/utils/XmppUri.java b/src/main/java/eu/siacs/conversations/utils/XmppUri.java
index 92c0241e1..3c0136abb 100644
--- a/src/main/java/eu/siacs/conversations/utils/XmppUri.java
+++ b/src/main/java/eu/siacs/conversations/utils/XmppUri.java
@@ -4,6 +4,7 @@ import android.net.Uri;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
+import java.util.List;
import eu.siacs.conversations.xmpp.jid.InvalidJidException;
import eu.siacs.conversations.xmpp.jid.Jid;
@@ -32,8 +33,13 @@ public class XmppUri {
protected void parse(Uri uri) {
String scheme = uri.getScheme();
- if ("xmpp".equalsIgnoreCase(scheme)) {
- // sample: xmpp:jid@foo.com
+ String host = uri.getHost();
+ List<String> segments = uri.getPathSegments();
+ if ("https".equalsIgnoreCase(scheme) && "conversations.im".equalsIgnoreCase(host) && segments.size() >= 3) {
+ // sample : https://conversations.im/i/foo/bar.com
+ jid = segments.get(1)+"@"+segments.get(2);
+ } else if ("xmpp".equalsIgnoreCase(scheme)) {
+ // sample: xmpp:foo@bar.com
muc = "join".equalsIgnoreCase(uri.getQuery());
if (uri.getAuthority() != null) {
jid = uri.getAuthority();
@@ -42,7 +48,7 @@ public class XmppUri {
}
fingerprint = parseFingerprint(uri.getQuery());
} else if ("imto".equalsIgnoreCase(scheme)) {
- // sample: imto://xmpp/jid@foo.com
+ // sample: imto://xmpp/foo@bar.com
try {
jid = URLDecoder.decode(uri.getEncodedPath(), "UTF-8").split("/")[1];
} catch (final UnsupportedEncodingException ignored) {