Search in sources :

Example 56 with Jid

use of eu.siacs.conversations.xmpp.Jid in project Conversations by siacs.

the class ChooseContactActivity method showEnterJidDialog.

protected void showEnterJidDialog(XmppUri uri) {
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    Fragment prev = getSupportFragmentManager().findFragmentByTag("dialog");
    if (prev != null) {
        ft.remove(prev);
    }
    ft.addToBackStack(null);
    Jid jid = uri == null ? null : uri.getJid();
    EnterJidDialog dialog = EnterJidDialog.newInstance(mActivatedAccounts, getString(R.string.enter_contact), getString(R.string.select), jid == null ? null : jid.asBareJid().toString(), getIntent().getStringExtra(EXTRA_ACCOUNT), true, false);
    dialog.setOnEnterJidDialogPositiveListener((accountJid, contactJid) -> {
        final Intent request = getIntent();
        final Intent data = new Intent();
        data.putExtra("contact", contactJid.toString());
        data.putExtra(EXTRA_ACCOUNT, accountJid.toEscapedString());
        data.putExtra(EXTRA_SELECT_MULTIPLE, false);
        copy(request, data);
        setResult(RESULT_OK, data);
        finish();
        return true;
    });
    dialog.show(ft, "dialog");
}
Also used : FragmentTransaction(androidx.fragment.app.FragmentTransaction) Jid(eu.siacs.conversations.xmpp.Jid) Intent(android.content.Intent) Fragment(androidx.fragment.app.Fragment)

Example 57 with Jid

use of eu.siacs.conversations.xmpp.Jid in project Conversations by siacs.

the class XmppConnectionService method sendUnblockRequest.

public void sendUnblockRequest(final Blockable blockable) {
    if (blockable != null && blockable.getJid() != null) {
        final Jid jid = blockable.getBlockedJid();
        this.sendIqPacket(blockable.getAccount(), getIqGenerator().generateSetUnblockRequest(jid), new OnIqPacketReceived() {

            @Override
            public void onIqPacketReceived(final Account account, final IqPacket packet) {
                if (packet.getType() == IqPacket.TYPE.RESULT) {
                    account.getBlocklist().remove(jid);
                    updateBlocklistUi(OnUpdateBlocklist.Status.UNBLOCKED);
                }
            }
        });
    }
}
Also used : Account(eu.siacs.conversations.entities.Account) Jid(eu.siacs.conversations.xmpp.Jid) OnIqPacketReceived(eu.siacs.conversations.xmpp.OnIqPacketReceived) IqPacket(eu.siacs.conversations.xmpp.stanzas.IqPacket)

Example 58 with Jid

use of eu.siacs.conversations.xmpp.Jid in project Conversations by siacs.

the class EditAccountActivity method deleteAccountAndReturnIfNecessary.

private void deleteAccountAndReturnIfNecessary() {
    if (mInitMode && mAccount != null && !mAccount.isOptionSet(Account.OPTION_LOGGED_IN_SUCCESSFULLY)) {
        xmppConnectionService.deleteAccount(mAccount);
    }
    final boolean magicCreate = mAccount != null && mAccount.isOptionSet(Account.OPTION_MAGIC_CREATE) && !mAccount.isOptionSet(Account.OPTION_LOGGED_IN_SUCCESSFULLY);
    final Jid jid = mAccount == null ? null : mAccount.getJid();
    if (SignupUtils.isSupportTokenRegistry() && jid != null && magicCreate && !jid.getDomain().equals(Config.MAGIC_CREATE_DOMAIN)) {
        final Jid preset;
        if (mAccount.isOptionSet(Account.OPTION_FIXED_USERNAME)) {
            preset = jid.asBareJid();
        } else {
            preset = jid.getDomain();
        }
        final Intent intent = SignupUtils.getTokenRegistrationIntent(this, preset, mAccount.getKey(Account.PRE_AUTH_REGISTRATION_TOKEN));
        StartConversationActivity.addInviteUri(intent, getIntent());
        startActivity(intent);
        return;
    }
    final List<Account> accounts = xmppConnectionService == null ? null : xmppConnectionService.getAccounts();
    if (accounts != null && accounts.size() == 0 && Config.MAGIC_CREATE_DOMAIN != null) {
        Intent intent = SignupUtils.getSignUpIntent(this, mForceRegister != null && mForceRegister);
        StartConversationActivity.addInviteUri(intent, getIntent());
        startActivity(intent);
    }
}
Also used : Account(eu.siacs.conversations.entities.Account) Jid(eu.siacs.conversations.xmpp.Jid) PendingIntent(android.app.PendingIntent) Intent(android.content.Intent)

Example 59 with Jid

use of eu.siacs.conversations.xmpp.Jid in project Conversations by siacs.

the class ShareViaAccountActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_manage_accounts);
    setSupportActionBar(findViewById(R.id.toolbar));
    configureActionBar(getSupportActionBar());
    accountListView = findViewById(R.id.account_list);
    this.mAccountAdapter = new AccountAdapter(this, accountList, false);
    accountListView.setAdapter(this.mAccountAdapter);
    accountListView.setOnItemClickListener((arg0, view, position, arg3) -> {
        final Account account = accountList.get(position);
        final String body = getIntent().getStringExtra(EXTRA_BODY);
        try {
            final Jid contact = Jid.of(getIntent().getStringExtra(EXTRA_CONTACT));
            final Conversation conversation = xmppConnectionService.findOrCreateConversation(account, contact, false, false);
            switchToConversation(conversation, body);
        } catch (IllegalArgumentException e) {
        // ignore error
        }
        finish();
    });
}
Also used : Account(eu.siacs.conversations.entities.Account) Jid(eu.siacs.conversations.xmpp.Jid) Conversation(eu.siacs.conversations.entities.Conversation) AccountAdapter(eu.siacs.conversations.ui.adapter.AccountAdapter)

Example 60 with Jid

use of eu.siacs.conversations.xmpp.Jid in project Conversations by siacs.

the class Account method setJid.

public boolean setJid(final Jid next) {
    final Jid previousFull = this.jid;
    final Jid prev = this.jid != null ? this.jid.asBareJid() : null;
    final boolean changed = prev == null || (next != null && !prev.equals(next.asBareJid()));
    if (changed) {
        final AxolotlService oldAxolotlService = this.axolotlService;
        if (oldAxolotlService != null) {
            oldAxolotlService.destroy();
            this.jid = next;
            this.axolotlService = oldAxolotlService.makeNew();
        }
    }
    this.jid = next;
    return next != null && !next.equals(previousFull);
}
Also used : AxolotlService(eu.siacs.conversations.crypto.axolotl.AxolotlService) Jid(eu.siacs.conversations.xmpp.Jid)

Aggregations

Jid (eu.siacs.conversations.xmpp.Jid)106 Account (eu.siacs.conversations.entities.Account)35 Element (eu.siacs.conversations.xml.Element)24 Conversation (eu.siacs.conversations.entities.Conversation)22 Contact (eu.siacs.conversations.entities.Contact)17 InvalidJid (eu.siacs.conversations.xmpp.InvalidJid)16 IqPacket (eu.siacs.conversations.xmpp.stanzas.IqPacket)16 Intent (android.content.Intent)15 ArrayList (java.util.ArrayList)13 MucOptions (eu.siacs.conversations.entities.MucOptions)12 Bookmark (eu.siacs.conversations.entities.Bookmark)10 AxolotlService (eu.siacs.conversations.crypto.axolotl.AxolotlService)7 Message (eu.siacs.conversations.entities.Message)7 OnIqPacketReceived (eu.siacs.conversations.xmpp.OnIqPacketReceived)6 MessagePacket (eu.siacs.conversations.xmpp.stanzas.MessagePacket)6 Map (java.util.Map)6 XmppUri (eu.siacs.conversations.utils.XmppUri)5 XmppConnectionService (eu.siacs.conversations.services.XmppConnectionService)4 Avatar (eu.siacs.conversations.xmpp.pep.Avatar)4 HashMap (java.util.HashMap)4