made conference invite work again
This commit is contained in:
parent
5ed94d5ab0
commit
e3ca4ca485
|
@ -135,6 +135,7 @@ public class AttachFileToConversationRunnable implements Runnable, MediaTranscod
|
||||||
if (message.getEncryption() == Message.ENCRYPTION_DECRYPTED) {
|
if (message.getEncryption() == Message.ENCRYPTION_DECRYPTED) {
|
||||||
mXmppConnectionService.getPgpEngine().encrypt(message, callback);
|
mXmppConnectionService.getPgpEngine().encrypt(message, callback);
|
||||||
} else {
|
} else {
|
||||||
|
mXmppConnectionService.sendMessage(message);
|
||||||
callback.success(message);
|
callback.success(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package eu.siacs.conversations.ui;
|
package eu.siacs.conversations.ui;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
@ -25,7 +26,9 @@ import eu.siacs.conversations.Config;
|
||||||
import eu.siacs.conversations.R;
|
import eu.siacs.conversations.R;
|
||||||
import eu.siacs.conversations.entities.Account;
|
import eu.siacs.conversations.entities.Account;
|
||||||
import eu.siacs.conversations.entities.Contact;
|
import eu.siacs.conversations.entities.Contact;
|
||||||
|
import eu.siacs.conversations.entities.Conversation;
|
||||||
import eu.siacs.conversations.entities.ListItem;
|
import eu.siacs.conversations.entities.ListItem;
|
||||||
|
import eu.siacs.conversations.entities.MucOptions;
|
||||||
import eu.siacs.conversations.xmpp.jid.Jid;
|
import eu.siacs.conversations.xmpp.jid.Jid;
|
||||||
|
|
||||||
public class ChooseContactActivity extends AbstractSearchableListItemActivity {
|
public class ChooseContactActivity extends AbstractSearchableListItemActivity {
|
||||||
|
@ -246,4 +249,25 @@ public class ChooseContactActivity extends AbstractSearchableListItemActivity {
|
||||||
}
|
}
|
||||||
this.mKnownHosts = xmppConnectionService.getKnownHosts();
|
this.mKnownHosts = xmppConnectionService.getKnownHosts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Intent create(Activity activity, Conversation conversation) {
|
||||||
|
final Intent intent = new Intent(activity, ChooseContactActivity.class);
|
||||||
|
List<String> contacts = new ArrayList<>();
|
||||||
|
if (conversation.getMode() == Conversation.MODE_MULTI) {
|
||||||
|
for (MucOptions.User user : conversation.getMucOptions().getUsers(false)) {
|
||||||
|
Jid jid = user.getRealJid();
|
||||||
|
if (jid != null) {
|
||||||
|
contacts.add(jid.toBareJid().toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
contacts.add(conversation.getJid().toBareJid().toString());
|
||||||
|
}
|
||||||
|
intent.putExtra("filter_contacts", contacts.toArray(new String[contacts.size()]));
|
||||||
|
intent.putExtra("conversation", conversation.getUuid());
|
||||||
|
intent.putExtra("multiple", true);
|
||||||
|
intent.putExtra("show_enter_jid", true);
|
||||||
|
intent.putExtra(EXTRA_ACCOUNT, conversation.getAccount().getJid().toBareJid().toString());
|
||||||
|
return intent;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -561,6 +561,12 @@ public class ConversationActivity extends XmppActivity implements OnConversation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void switchToConversation(Conversation conversation) {
|
||||||
|
Log.d(Config.LOGTAG,"override");
|
||||||
|
openConversation(conversation,null);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConversationRead(Conversation conversation) {
|
public void onConversationRead(Conversation conversation) {
|
||||||
if (!mActivityPaused && pendingViewIntent.peek() == null) {
|
if (!mActivityPaused && pendingViewIntent.peek() == null) {
|
||||||
|
|
|
@ -50,8 +50,6 @@ import android.widget.PopupMenu;
|
||||||
import android.widget.TextView.OnEditorActionListener;
|
import android.widget.TextView.OnEditorActionListener;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.openintents.openpgp.util.OpenPgpApi;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -102,8 +100,7 @@ import eu.siacs.conversations.xmpp.jid.InvalidJidException;
|
||||||
import eu.siacs.conversations.xmpp.jid.Jid;
|
import eu.siacs.conversations.xmpp.jid.Jid;
|
||||||
|
|
||||||
import static eu.siacs.conversations.ui.XmppActivity.EXTRA_ACCOUNT;
|
import static eu.siacs.conversations.ui.XmppActivity.EXTRA_ACCOUNT;
|
||||||
import static eu.siacs.conversations.ui.XmppActivity.REQUEST_ANNOUNCE_PGP;
|
import static eu.siacs.conversations.ui.XmppActivity.REQUEST_INVITE_TO_CONVERSATION;
|
||||||
import static eu.siacs.conversations.ui.XmppActivity.REQUEST_CHOOSE_PGP_ID;
|
|
||||||
|
|
||||||
|
|
||||||
public class ConversationFragment extends XmppFragment implements EditMessage.KeyboardListener {
|
public class ConversationFragment extends XmppFragment implements EditMessage.KeyboardListener {
|
||||||
|
@ -723,6 +720,15 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
|
||||||
Uri geo = Uri.parse("geo:" + String.valueOf(latitude) + "," + String.valueOf(longitude));
|
Uri geo = Uri.parse("geo:" + String.valueOf(latitude) + "," + String.valueOf(longitude));
|
||||||
attachLocationToConversation(conversation, geo);
|
attachLocationToConversation(conversation, geo);
|
||||||
break;
|
break;
|
||||||
|
case REQUEST_INVITE_TO_CONVERSATION:
|
||||||
|
XmppActivity.ConferenceInvite invite = XmppActivity.ConferenceInvite.parse(data);
|
||||||
|
if (invite != null) {
|
||||||
|
if (invite.execute(activity)) {
|
||||||
|
activity.mToast = Toast.makeText(activity, R.string.creating_conference, Toast.LENGTH_LONG);
|
||||||
|
activity.mToast.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1075,7 +1081,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
break;
|
break;
|
||||||
case R.id.action_invite:
|
case R.id.action_invite:
|
||||||
activity.inviteToConversation(conversation);
|
startActivityForResult(ChooseContactActivity.create(activity,conversation), REQUEST_INVITE_TO_CONVERSATION);
|
||||||
break;
|
break;
|
||||||
case R.id.action_clear_history:
|
case R.id.action_clear_history:
|
||||||
clearHistoryDialog(conversation);
|
clearHistoryDialog(conversation);
|
||||||
|
@ -2347,6 +2353,10 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
|
||||||
setScrollPosition(scrollState);
|
setScrollPosition(scrollState);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ActivityResult activityResult = postponedActivityResult.pop();
|
||||||
|
if (activityResult != null) {
|
||||||
|
handleActivityResult(activityResult);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void clearPending() {
|
public void clearPending() {
|
||||||
|
|
|
@ -568,24 +568,7 @@ public abstract class XmppActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void inviteToConversation(Conversation conversation) {
|
protected void inviteToConversation(Conversation conversation) {
|
||||||
Intent intent = new Intent(this, ChooseContactActivity.class);
|
startActivityForResult(ChooseContactActivity.create(this,conversation), REQUEST_INVITE_TO_CONVERSATION);
|
||||||
List<String> contacts = new ArrayList<>();
|
|
||||||
if (conversation.getMode() == Conversation.MODE_MULTI) {
|
|
||||||
for (MucOptions.User user : conversation.getMucOptions().getUsers(false)) {
|
|
||||||
Jid jid = user.getRealJid();
|
|
||||||
if (jid != null) {
|
|
||||||
contacts.add(jid.toBareJid().toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
contacts.add(conversation.getJid().toBareJid().toString());
|
|
||||||
}
|
|
||||||
intent.putExtra("filter_contacts", contacts.toArray(new String[contacts.size()]));
|
|
||||||
intent.putExtra("conversation", conversation.getUuid());
|
|
||||||
intent.putExtra("multiple", true);
|
|
||||||
intent.putExtra("show_enter_jid", true);
|
|
||||||
intent.putExtra(EXTRA_ACCOUNT, conversation.getAccount().getJid().toBareJid().toString());
|
|
||||||
startActivityForResult(intent, REQUEST_INVITE_TO_CONVERSATION);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void announcePgp(Account account, final Conversation conversation, Intent intent, final Runnable onSuccess) {
|
protected void announcePgp(Account account, final Conversation conversation, Intent intent, final Runnable onSuccess) {
|
||||||
|
|
Loading…
Reference in a new issue