Search in sources :

Example 86 with AccountItem

use of com.xabber.android.data.account.AccountItem in project xabber-android by redsolution.

the class XabberAccountManager method isAccountSynchronize.

public boolean isAccountSynchronize(String jid) {
    boolean syncNotAllowed = false;
    AccountJid accountJid = getExistingAccount(jid);
    if (accountJid != null) {
        AccountItem accountItem = AccountManager.getInstance().getAccount(accountJid);
        if (accountItem != null)
            syncNotAllowed = accountItem.isSyncNotAllowed();
    }
    if (accountsSyncState.containsKey(jid) && !syncNotAllowed)
        return accountsSyncState.get(jid);
    else
        return false;
}
Also used : AccountItem(com.xabber.android.data.account.AccountItem) AccountJid(com.xabber.android.data.entity.AccountJid)

Example 87 with AccountItem

use of com.xabber.android.data.account.AccountItem in project xabber-android by redsolution.

the class XMPPListPreference method update.

private void update() {
    List<AccountItem> accountItems = new ArrayList<>();
    for (AccountItem accountItem : AccountManager.getInstance().getAllAccountItems()) {
        accountItems.add(accountItem);
    }
    accountListAdapter.setAccountItems(accountItems);
    if (accountItems.size() > 1)
        rlReorder.setVisibility(View.VISIBLE);
    else
        rlReorder.setVisibility(View.GONE);
}
Also used : AccountItem(com.xabber.android.data.account.AccountItem) ArrayList(java.util.ArrayList)

Example 88 with AccountItem

use of com.xabber.android.data.account.AccountItem in project xabber-android by redsolution.

the class AccountListReorderAdapter method onBindViewHolder.

@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    final AccountListReorderAdapter.AccountViewHolder accountHolder = (AccountListReorderAdapter.AccountViewHolder) holder;
    AccountItem accountItem = accountItems.get(position);
    accountHolder.avatar.setImageDrawable(AvatarManager.getInstance().getAccountAvatar(accountItem.getAccount()));
    accountHolder.avatar.setBorderColor(ColorManager.getInstance().getAccountPainter().getAccountMainColor(accountItem.getAccount()));
    accountHolder.name.setText(AccountManager.getInstance().getVerboseName(accountItem.getAccount()));
    accountHolder.status.setText(accountItem.getState().getStringId());
    accountHolder.ivAnchor.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
                listener.onStartDrag(accountHolder);
            }
            return false;
        }
    });
}
Also used : AccountItem(com.xabber.android.data.account.AccountItem) ImageView(android.widget.ImageView) CircleImageView(de.hdodenhof.circleimageview.CircleImageView) TextView(android.widget.TextView) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) MotionEvent(android.view.MotionEvent)

Example 89 with AccountItem

use of com.xabber.android.data.account.AccountItem in project xabber-android by redsolution.

the class VCardManager method getVCard.

@SuppressWarnings("WeakerAccess")
void getVCard(final AccountJid account, final Jid srcUser) {
    final AccountItem accountItem = AccountManager.getInstance().getAccount(account);
    if (accountItem == null) {
        onVCardFailed(account, srcUser);
        return;
    }
    final CustomVCardManager vCardManager = CustomVCardManager.getInstanceFor(accountItem.getConnection());
    if (!accountItem.getConnection().isAuthenticated()) {
        onVCardFailed(account, srcUser);
        return;
    }
    Collection<UserJid> blockedContacts = BlockingManager.getInstance().getBlockedContacts(account);
    for (UserJid blockedContact : blockedContacts) {
        if (blockedContact.getBareJid().equals(srcUser.asBareJid())) {
            return;
        }
    }
    final EntityBareJid entityBareJid = srcUser.asEntityBareJidIfPossible();
    if (entityBareJid != null) {
        vCardRequests.add(srcUser);
        try {
            vCardManager.sendVCardRequest(srcUser);
        } catch (SmackException.NotConnectedException e) {
            LogManager.exception(this, e);
            LogManager.w(this, "Error getting vCard: " + e.getMessage());
        } catch (ClassCastException e) {
            LogManager.exception(this, e);
            // http://stackoverflow.com/questions/31498721/error-loading-vcard-information-using-smack-emptyresultiq-cannot-be-cast-to-or
            LogManager.w(this, "ClassCastException: " + e.getMessage());
        // vCard = new VCard();
        } catch (InterruptedException e) {
            LogManager.exception(this, e);
        }
        vCardRequests.remove(srcUser);
    }
}
Also used : AccountItem(com.xabber.android.data.account.AccountItem) SmackException(org.jivesoftware.smack.SmackException) UserJid(com.xabber.android.data.entity.UserJid) EntityBareJid(org.jxmpp.jid.EntityBareJid)

Example 90 with AccountItem

use of com.xabber.android.data.account.AccountItem in project xabber-android by redsolution.

the class PrivateStorageManager method getPrivateData.

@Nullable
private PrivateData getPrivateData(AccountJid accountJid, String namespace, String elementName) {
    AccountItem accountItem = AccountManager.getInstance().getAccount(accountJid);
    if (accountItem == null || !accountItem.isEnabled())
        return null;
    XMPPTCPConnection connection = accountItem.getConnection();
    PrivateDataManager privateDataManager = PrivateDataManager.getInstanceFor(connection);
    try {
        if (!privateDataManager.isSupported())
            return null;
        return privateDataManager.getPrivateData(elementName, namespace);
    } catch (SmackException.NoResponseException | XMPPException.XMPPErrorException | SmackException.NotConnectedException | InterruptedException | IllegalArgumentException e) {
        e.printStackTrace();
        return null;
    }
}
Also used : XMPPTCPConnection(com.xabber.xmpp.smack.XMPPTCPConnection) AccountItem(com.xabber.android.data.account.AccountItem) PrivateDataManager(org.jivesoftware.smackx.iqprivate.PrivateDataManager) Nullable(androidx.annotation.Nullable)

Aggregations

AccountItem (com.xabber.android.data.account.AccountItem)96 AccountJid (com.xabber.android.data.entity.AccountJid)24 UserJid (com.xabber.android.data.entity.UserJid)14 View (android.view.View)12 NetworkException (com.xabber.android.data.NetworkException)11 ArrayList (java.util.ArrayList)11 SmackException (org.jivesoftware.smack.SmackException)11 ExtensionElement (org.jivesoftware.smack.packet.ExtensionElement)11 Message (org.jivesoftware.smack.packet.Message)11 Presence (org.jivesoftware.smack.packet.Presence)10 TextView (android.widget.TextView)9 XMPPException (org.jivesoftware.smack.XMPPException)9 Jid (org.jxmpp.jid.Jid)9 ImageView (android.widget.ImageView)8 StatusMode (com.xabber.android.data.account.StatusMode)6 ConnectionState (com.xabber.android.data.connection.ConnectionState)5 MessageItem (com.xabber.android.data.database.messagerealm.MessageItem)5 Realm (io.realm.Realm)5 ColorDrawable (android.graphics.drawable.ColorDrawable)4 AccountManager (com.xabber.android.data.account.AccountManager)4