Java 类android.provider.ContactsContract.CommonDataKinds.Im 实例源码

项目:AndroidContacts    文件:ContactsGetter.java   
private SparseArray<List<IMAddress>> getIMAddressesMap() {
    SparseArray<List<IMAddress>> idImAddressMap = new SparseArray<>();
    Cursor cur = getCursorFromContentType(new String[]{ID_KEY, MAIN_DATA_KEY, Im.PROTOCOL, Im.CUSTOM_PROTOCOL}, Im.CONTENT_ITEM_TYPE);
    if (cur != null) {
        while (cur.moveToNext()) {
            int id = cur.getInt(cur.getColumnIndex(ID_KEY));
            String data = cur.getString(cur.getColumnIndex(MAIN_DATA_KEY));
            int labelId = cur.getInt(cur.getColumnIndex(Im.PROTOCOL));
            String customLabel = cur.getString(cur.getColumnIndex(Im.CUSTOM_PROTOCOL));
            IMAddress current;
            if (customLabel == null)
                current = new IMAddress(mCtx, data, labelId);
            else
                current = new IMAddress(data, customLabel);
            List<IMAddress> currentWebsiteList = idImAddressMap.get(id);
            if (currentWebsiteList == null) {
                currentWebsiteList = new ArrayList<>();
                currentWebsiteList.add(current);
                idImAddressMap.put(id, currentWebsiteList);
            } else currentWebsiteList.add(current);
        }
        cur.close();
    }
    return idImAddressMap;
}
项目:mc_backup    文件:ContactService.java   
private void initColumnNameConstantsMap() {
    if (mColumnNameConstantsMap != null) {
        return;
    }
    mColumnNameConstantsMap = new HashMap<String, String>();

    mColumnNameConstantsMap.put("name", StructuredName.DISPLAY_NAME);
    mColumnNameConstantsMap.put("givenname", StructuredName.GIVEN_NAME);
    mColumnNameConstantsMap.put("familyname", StructuredName.FAMILY_NAME);
    mColumnNameConstantsMap.put("honorificprefix", StructuredName.PREFIX);
    mColumnNameConstantsMap.put("honorificsuffix", StructuredName.SUFFIX);
    mColumnNameConstantsMap.put("additionalname", CUSTOM_DATA_COLUMN);
    mColumnNameConstantsMap.put("nickname", Nickname.NAME);
    mColumnNameConstantsMap.put("adr", StructuredPostal.STREET);
    mColumnNameConstantsMap.put("email", Email.ADDRESS);
    mColumnNameConstantsMap.put("url", Website.URL);
    mColumnNameConstantsMap.put("category", GroupMembership.GROUP_ROW_ID);
    mColumnNameConstantsMap.put("tel", Phone.NUMBER);
    mColumnNameConstantsMap.put("org", Organization.COMPANY);
    mColumnNameConstantsMap.put("jobTitle", Organization.TITLE);
    mColumnNameConstantsMap.put("note", Note.NOTE);
    mColumnNameConstantsMap.put("impp", Im.DATA);
    mColumnNameConstantsMap.put("sex", CUSTOM_DATA_COLUMN);
    mColumnNameConstantsMap.put("genderidentity", CUSTOM_DATA_COLUMN);
    mColumnNameConstantsMap.put("key", CUSTOM_DATA_COLUMN);
}
项目:mc_backup    文件:ContactService.java   
private void initMimeTypeConstantsMap() {
    if (mMimeTypeConstantsMap != null) {
        return;
    }
    mMimeTypeConstantsMap = new HashMap<String, String>();

    mMimeTypeConstantsMap.put("name", StructuredName.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("givenname", StructuredName.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("familyname", StructuredName.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("honorificprefix", StructuredName.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("honorificsuffix", StructuredName.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("additionalname", MIMETYPE_ADDITIONAL_NAME);
    mMimeTypeConstantsMap.put("nickname", Nickname.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("email", Email.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("url", Website.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("category", GroupMembership.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("tel", Phone.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("org", Organization.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("jobTitle", Organization.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("note", Note.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("impp", Im.CONTENT_ITEM_TYPE);
    mMimeTypeConstantsMap.put("sex", MIMETYPE_SEX);
    mMimeTypeConstantsMap.put("genderidentity", MIMETYPE_GENDER_IDENTITY);
    mMimeTypeConstantsMap.put("key", MIMETYPE_KEY);
}
项目:ntsync-android    文件:ContactOperations.java   
public ContactOperations addIm(String data, int type, String label,
        boolean isPrimary, boolean isSuperPrimary, int imProtocolType,
        String customProtocolName) {
    mValues.clear();
    if (!TextUtils.isEmpty(data)) {
        mValues.put(Im.DATA, data);
        mValues.put(Im.TYPE, type);
        mValues.put(Im.MIMETYPE, Im.CONTENT_ITEM_TYPE);
        if (!TextUtils.isEmpty(label)) {
            mValues.put(Im.LABEL, label);
        }
        if (isSuperPrimary) {
            mValues.put(Email.IS_SUPER_PRIMARY, 1);
        }
        if (isPrimary) {
            mValues.put(Email.IS_PRIMARY, 1);
        }
        mValues.put(Im.PROTOCOL, imProtocolType);
        if (!TextUtils.isEmpty(customProtocolName)) {
            mValues.put(Im.CUSTOM_PROTOCOL, customProtocolName);
        }

        addInsertOp();
    }
    return this;
}
项目:ntsync-android    文件:ContactManager.java   
public static int getAndroidImProtocolType(ImProtocolType type) {
    switch (type) {
    case PROTOCOL_AIM:
        return Im.PROTOCOL_AIM;
    case PROTOCOL_CUSTOM:
        return Im.PROTOCOL_CUSTOM;
    case PROTOCOL_GOOGLE_TALK:
        return Im.PROTOCOL_GOOGLE_TALK;
    case PROTOCOL_ICQ:
        return Im.PROTOCOL_ICQ;
    case PROTOCOL_JABBER:
        return Im.PROTOCOL_JABBER;
    case PROTOCOL_MSN:
        return Im.PROTOCOL_MSN;
    case PROTOCOL_NETMEETING:
        return Im.PROTOCOL_NETMEETING;
    case PROTOCOL_QQ:
        return Im.PROTOCOL_QQ;
    case PROTOCOL_SKYPE:
        return Im.PROTOCOL_SKYPE;
    case PROTOCOL_YAHOO:
        return Im.PROTOCOL_YAHOO;
    default:
        return Im.PROTOCOL_CUSTOM;
    }
}
项目:ntsync-android    文件:ContactManager.java   
public static ImProtocolType getImProtocolType(int androidType) {
    switch (androidType) {
    case Im.PROTOCOL_AIM:
        return ImProtocolType.PROTOCOL_AIM;
    case Im.PROTOCOL_CUSTOM:
        return ImProtocolType.PROTOCOL_CUSTOM;
    case Im.PROTOCOL_GOOGLE_TALK:
        return ImProtocolType.PROTOCOL_GOOGLE_TALK;
    case Im.PROTOCOL_ICQ:
        return ImProtocolType.PROTOCOL_ICQ;
    case Im.PROTOCOL_JABBER:
        return ImProtocolType.PROTOCOL_JABBER;
    case Im.PROTOCOL_MSN:
        return ImProtocolType.PROTOCOL_MSN;
    case Im.PROTOCOL_NETMEETING:
        return ImProtocolType.PROTOCOL_NETMEETING;
    case Im.PROTOCOL_QQ:
        return ImProtocolType.PROTOCOL_QQ;
    case Im.PROTOCOL_SKYPE:
        return ImProtocolType.PROTOCOL_SKYPE;
    case Im.PROTOCOL_YAHOO:
        return ImProtocolType.PROTOCOL_YAHOO;
    default:
        return ImProtocolType.PROTOCOL_CUSTOM;
    }
}
项目:Simplicissimus    文件:Assets.java   
public Assets(Context context, long contactId) {
    this.context = context;
    cursor = context.getContentResolver().query(
        Data.CONTENT_URI,
        new String[]{Data._ID,
            Data.RAW_CONTACT_ID, Data.MIMETYPE, Data.IS_PRIMARY,
            Data.IS_SUPER_PRIMARY, Data.DATA_VERSION, Data.DATA1,
            Data.DATA2, Data.DATA3, Data.DATA4, Data.DATA5, Data.DATA6,
            Data.DATA7, Data.DATA8, Data.DATA9, Data.DATA10, Data.DATA11,
            Data.DATA12, Data.DATA13, Data.DATA14, Data.DATA15, Data.SYNC1,
            Data.SYNC2, Data.SYNC3, Data.SYNC4, },
        Data.RAW_CONTACT_ID + "=? AND " + Data.MIMETYPE + " IN ( ?, ?, ?, ?, ?, ? )",
        new String[]{
            String.valueOf(contactId),
            Nickname.CONTENT_ITEM_TYPE,
            Im.CONTENT_ITEM_TYPE,
            Photo.CONTENT_ITEM_TYPE,
            },
        null);
    //cursor.moveToFirst();
    columnNames = cursor.getColumnNames();
}
项目:SafeSlinger-Android    文件:ContactAccessorApi5.java   
@Override
public boolean addIM(ContactStruct contact, Cursor ims, Context ctx, boolean removeMatches) {
    boolean ret = false;
    String data = ims.getString(ims.getColumnIndexOrThrow(Im.DATA));
    String protocol = ims.getString(ims.getColumnIndexOrThrow(Im.PROTOCOL));
    String label = ims.getString(ims.getColumnIndexOrThrow(Im.LABEL));
    int type = ims.getInt(ims.getColumnIndexOrThrow(Im.TYPE));
    boolean primary = (ims.getInt(ims.getColumnIndexOrThrow(Im.IS_PRIMARY)) != 0);
    int prot = 0;
    if (!TextUtils.isEmpty(protocol) && !TextUtils.isEmpty(data)) {
        String value = data;
        prot = Integer.valueOf(protocol);
        if (prot == Im.PROTOCOL_CUSTOM) {
            return false;
        } else {
            label = lookupProviderNameFromId(prot).toLowerCase(Locale.US);
        }
        if (!TextUtils.isEmpty(label) && isImNew(contact, value, label, removeMatches)) {
            contact.addContactmethod(Contacts.KIND_IM, type, value, label, primary);
            ret = true;
        }
    }
    return ret;
}
项目:SafeSlinger-Android    文件:ContactAccessorApi5.java   
@Override
public String lookupProviderNameFromId(int protocol) {
    switch (protocol) {
        case Im.PROTOCOL_GOOGLE_TALK:
            return GTALK;
        case Im.PROTOCOL_AIM:
            return AIM;
        case Im.PROTOCOL_MSN:
            return MSN;
        case Im.PROTOCOL_YAHOO:
            return YAHOO;
        case Im.PROTOCOL_ICQ:
            return ICQ;
        case Im.PROTOCOL_JABBER:
            return JABBER;
        case Im.PROTOCOL_SKYPE:
            return SKYPE;
        case Im.PROTOCOL_QQ:
            return QQ;
        case Im.PROTOCOL_NETMEETING:
            return NETMEETING;
    }
    return null;
}
项目:SafeSlinger-Android    文件:ContactAccessorApi5.java   
@Override
public int lookupProviderIdFromName(String name) {
    if (GTALK.equalsIgnoreCase(name))
        return Im.PROTOCOL_GOOGLE_TALK;
    else if (AIM.equalsIgnoreCase(name))
        return Im.PROTOCOL_AIM;
    else if (MSN.equalsIgnoreCase(name))
        return Im.PROTOCOL_MSN;
    else if (YAHOO.equalsIgnoreCase(name))
        return Im.PROTOCOL_YAHOO;
    else if (ICQ.equalsIgnoreCase(name))
        return Im.PROTOCOL_ICQ;
    else if (JABBER.equalsIgnoreCase(name))
        return Im.PROTOCOL_JABBER;
    else if (SKYPE.equalsIgnoreCase(name))
        return Im.PROTOCOL_SKYPE;
    else if (QQ.equalsIgnoreCase(name))
        return Im.PROTOCOL_QQ;
    else if (NETMEETING.equalsIgnoreCase(name))
        return Im.PROTOCOL_NETMEETING;
    else
        return Im.PROTOCOL_CUSTOM;
}
项目:ContactMerger    文件:ImMetadata.java   
/**
 * Retrieve the Protocol instance for a given raw database value.
 * @param id The raw database value.
 * @return The corresponding Protocol instance, or null.
 */
public static Protocol byProtocolId(int id) {
    switch(id) {
    case Im.PROTOCOL_CUSTOM: return CUSTOM;
    case Im.PROTOCOL_AIM: return AIM;
    case Im.PROTOCOL_MSN: return MSN;
    case Im.PROTOCOL_YAHOO: return YAHOO;
    case Im.PROTOCOL_SKYPE: return SKYPE;
    case Im.PROTOCOL_QQ: return QQ;
    case Im.PROTOCOL_GOOGLE_TALK: return GOOGLE_TALK;
    case Im.PROTOCOL_ICQ: return ICQ;
    case Im.PROTOCOL_JABBER: return JABBER;
    case Im.PROTOCOL_NETMEETING: return NETMEETING;
    }
    return null;
}
项目:alerta-fraude    文件:ContactAccessorSdk5.java   
/**
 * Add an im to a list of database actions to be performed
 *
 * @param ops the list of database actions
 * @param im the item to be inserted
 */
private void insertIm(ArrayList<ContentProviderOperation> ops, JSONObject im) {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
            .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
            .withValue(ContactsContract.Data.MIMETYPE, CommonDataKinds.Im.CONTENT_ITEM_TYPE)
            .withValue(CommonDataKinds.Im.DATA, getJsonString(im, "value"))
            .withValue(CommonDataKinds.Im.PROTOCOL, getImType(getJsonString(im, "type")))
            .withValue(CommonDataKinds.Im.CUSTOM_PROTOCOL, getJsonString(im, "type"))
            .build());
}
项目:alerta-fraude    文件:ContactAccessorSdk5.java   
/**
 * Converts a string from the W3C Contact API to it's Android int value.
 * @param string
 * @return Android int value
 */
private int getImType(String string) {
    int type = CommonDataKinds.Im.PROTOCOL_CUSTOM;
    if (string != null) {
        String lowerType = string.toLowerCase(Locale.getDefault());

        if ("aim".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_AIM;
        }
        else if ("google talk".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_GOOGLE_TALK;
        }
        else if ("icq".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_ICQ;
        }
        else if ("jabber".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_JABBER;
        }
        else if ("msn".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_MSN;
        }
        else if ("netmeeting".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_NETMEETING;
        }
        else if ("qq".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_QQ;
        }
        else if ("skype".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_SKYPE;
        }
        else if ("yahoo".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_YAHOO;
        }
    }
    return type;
}
项目:alerta-fraude    文件:ContactAccessorSdk5.java   
/**
 * getPhoneType converts an Android phone type into a string
 * @param type
 * @return phone type as string.
 */
@SuppressWarnings("unused")
private String getImType(int type) {
    String stringType;
    switch (type) {
    case CommonDataKinds.Im.PROTOCOL_AIM:
        stringType = "AIM";
        break;
    case CommonDataKinds.Im.PROTOCOL_GOOGLE_TALK:
        stringType = "Google Talk";
        break;
    case CommonDataKinds.Im.PROTOCOL_ICQ:
        stringType = "ICQ";
        break;
    case CommonDataKinds.Im.PROTOCOL_JABBER:
        stringType = "Jabber";
        break;
    case CommonDataKinds.Im.PROTOCOL_MSN:
        stringType = "MSN";
        break;
    case CommonDataKinds.Im.PROTOCOL_NETMEETING:
        stringType = "NetMeeting";
        break;
    case CommonDataKinds.Im.PROTOCOL_QQ:
        stringType = "QQ";
        break;
    case CommonDataKinds.Im.PROTOCOL_SKYPE:
        stringType = "Skype";
        break;
    case CommonDataKinds.Im.PROTOCOL_YAHOO:
        stringType = "Yahoo";
        break;
    default:
        stringType = "custom";
        break;
    }
    return stringType;
}
项目:alerta-fraude    文件:ContactAccessorSdk5.java   
/**
 * Add an im to a list of database actions to be performed
 *
 * @param ops the list of database actions
 * @param im the item to be inserted
 */
private void insertIm(ArrayList<ContentProviderOperation> ops, JSONObject im) {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
            .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
            .withValue(ContactsContract.Data.MIMETYPE, CommonDataKinds.Im.CONTENT_ITEM_TYPE)
            .withValue(CommonDataKinds.Im.DATA, getJsonString(im, "value"))
            .withValue(CommonDataKinds.Im.PROTOCOL, getImType(getJsonString(im, "type")))
            .withValue(CommonDataKinds.Im.CUSTOM_PROTOCOL, getJsonString(im, "type"))
            .build());
}
项目:alerta-fraude    文件:ContactAccessorSdk5.java   
/**
 * Converts a string from the W3C Contact API to it's Android int value.
 * @param string
 * @return Android int value
 */
private int getImType(String string) {
    int type = CommonDataKinds.Im.PROTOCOL_CUSTOM;
    if (string != null) {
        String lowerType = string.toLowerCase(Locale.getDefault());

        if ("aim".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_AIM;
        }
        else if ("google talk".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_GOOGLE_TALK;
        }
        else if ("icq".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_ICQ;
        }
        else if ("jabber".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_JABBER;
        }
        else if ("msn".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_MSN;
        }
        else if ("netmeeting".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_NETMEETING;
        }
        else if ("qq".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_QQ;
        }
        else if ("skype".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_SKYPE;
        }
        else if ("yahoo".equals(lowerType)) {
            return CommonDataKinds.Im.PROTOCOL_YAHOO;
        }
    }
    return type;
}
项目:alerta-fraude    文件:ContactAccessorSdk5.java   
/**
 * getPhoneType converts an Android phone type into a string
 * @param type
 * @return phone type as string.
 */
@SuppressWarnings("unused")
private String getImType(int type) {
    String stringType;
    switch (type) {
    case CommonDataKinds.Im.PROTOCOL_AIM:
        stringType = "AIM";
        break;
    case CommonDataKinds.Im.PROTOCOL_GOOGLE_TALK:
        stringType = "Google Talk";
        break;
    case CommonDataKinds.Im.PROTOCOL_ICQ:
        stringType = "ICQ";
        break;
    case CommonDataKinds.Im.PROTOCOL_JABBER:
        stringType = "Jabber";
        break;
    case CommonDataKinds.Im.PROTOCOL_MSN:
        stringType = "MSN";
        break;
    case CommonDataKinds.Im.PROTOCOL_NETMEETING:
        stringType = "NetMeeting";
        break;
    case CommonDataKinds.Im.PROTOCOL_QQ:
        stringType = "QQ";
        break;
    case CommonDataKinds.Im.PROTOCOL_SKYPE:
        stringType = "Skype";
        break;
    case CommonDataKinds.Im.PROTOCOL_YAHOO:
        stringType = "Yahoo";
        break;
    default:
        stringType = "custom";
        break;
    }
    return stringType;
}
项目:react-native-paged-contacts    文件:InstantMessagingAddress.java   
private String getProtocolName(String protocolId, String customProtocol) {
    if (protocolId == null) {
        throw new InvalidCursorTypeException();
    }
    switch (Integer.valueOf(protocolId)) {
        case Im.PROTOCOL_AIM:
            return "AIM";
        case Im.PROTOCOL_MSN:
            return "MSN";
        case Im.PROTOCOL_YAHOO:
            return "Yahoo";
        case Im.PROTOCOL_SKYPE:
            return "Skype";
        case Im.PROTOCOL_QQ:
            return "QQ";
        case Im.PROTOCOL_GOOGLE_TALK:
            return "Google Talk";
        case Im.PROTOCOL_ICQ:
            return "ICQ";
        case Im.PROTOCOL_JABBER:
            return "Jabber";
        case Im.PROTOCOL_NETMEETING:
            return "NetMeeting";
        case Im.PROTOCOL_CUSTOM:
            return customProtocol;
        default:
            return "Other";

    }
}
项目:mc_backup    文件:ContactService.java   
private void getImsValues(final JSONArray ims, List<ContentValues> newContactValues) throws JSONException {
    if (ims == null) {
        return;
    }

    for (int i = 0; i < ims.length(); i++) {
        JSONObject im = ims.getJSONObject(i);
        JSONArray imTypes = im.optJSONArray("type");

        if (imTypes != null && imTypes.length() > 0) {
            for (int j = 0; j < imTypes.length(); j++) {
                // Translate the IM type string to an integer constant
                // provided by the ContactsContract API
                final String type = imTypes.getString(j);
                final int typeConstant = getImType(type);

                newContactValues.add(createContentValues(Im.CONTENT_ITEM_TYPE,
                                                         im.optString("value"),
                                                         typeConstant, type,
                                                         im.optBoolean("pref")));
            }
        } else {
            newContactValues.add(createContentValues(Im.CONTENT_ITEM_TYPE,
                                                     im.optString("value"),
                                                     -1, null, im.optBoolean("pref")));
        }
    }
}
项目:mc_backup    文件:ContactService.java   
private void initImTypesMap() {
    if (mImTypesMap != null) {
        return;
    }
    mImTypesMap = new HashMap<String, Integer>();

    mImTypesMap.put("home", Im.TYPE_HOME);
    mImTypesMap.put("work", Im.TYPE_WORK);
}
项目:ntsync-android    文件:ContactOperations.java   
public ContactOperations updateIm(String imAddress, String label,
        boolean isPrimary, boolean isSuperPrimary, int proType,
        String customProName, Uri uri) {
    mValues.clear();
    mValues.put(Im.DATA, imAddress);
    mValues.put(Im.LABEL, label);
    mValues.put(Im.PROTOCOL, proType);
    mValues.put(Im.CUSTOM_PROTOCOL, customProName);
    mValues.put(Im.IS_PRIMARY, isPrimary ? 1 : 0);
    mValues.put(Im.IS_SUPER_PRIMARY, isSuperPrimary ? 1 : 0);
    addUpdateOp(uri);
    return this;
}
项目:ntsync-android    文件:ContactManager.java   
public static int getAndroidImType(ImType type) {
    switch (type) {
    case TYPE_CUSTOM:
        return Im.TYPE_CUSTOM;
    case TYPE_HOME:
        return Im.TYPE_HOME;
    case TYPE_OTHER:
        return Im.TYPE_OTHER;
    case TYPE_WORK:
        return Im.TYPE_WORK;
    default:
        return Im.TYPE_OTHER;
    }
}
项目:ntsync-android    文件:ContactManager.java   
public static ImType getImType(int androidType) {
    switch (androidType) {
    case Im.TYPE_CUSTOM:
        return ImType.TYPE_CUSTOM;
    case Im.TYPE_HOME:
        return ImType.TYPE_HOME;
    case Im.TYPE_OTHER:
        return ImType.TYPE_OTHER;
    case Im.TYPE_WORK:
        return ImType.TYPE_WORK;
    default:
        return ImType.TYPE_OTHER;
    }
}
项目:Securecom-Messaging    文件:ContactAccessor.java   
public void insertIdentityKey(Context context, List<Long> rawContactIds, IdentityKey identityKey) {
    for (long rawContactId : rawContactIds) {
        Log.w("ContactAccessorNewApi", "Inserting data for raw contact id: " + rawContactId);
        ContentValues contentValues = new ContentValues();
        contentValues.put(Data.RAW_CONTACT_ID, rawContactId);
        contentValues.put(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE);
        contentValues.put(Im.PROTOCOL, Im.PROTOCOL_CUSTOM);
        contentValues.put(Im.CUSTOM_PROTOCOL, "TextSecure-IdentityKey");
        contentValues.put(Im.DATA, Base64.encodeBytes(identityKey.serialize()));

        context.getContentResolver().insert(Data.CONTENT_URI, contentValues);
    }
}
项目:Securecom-Text    文件:ContactAccessor.java   
public void insertIdentityKey(Context context, List<Long> rawContactIds, IdentityKey identityKey) {
  for (long rawContactId : rawContactIds) {
    Log.w("ContactAccessorNewApi", "Inserting data for raw contact id: " + rawContactId);
    ContentValues contentValues = new ContentValues();
    contentValues.put(Data.RAW_CONTACT_ID, rawContactId);
    contentValues.put(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE);
    contentValues.put(Im.PROTOCOL, Im.PROTOCOL_CUSTOM);
    contentValues.put(Im.CUSTOM_PROTOCOL, "TextSecure-IdentityKey");
    contentValues.put(Im.DATA, Base64.encodeBytes(identityKey.serialize()));

    context.getContentResolver().insert(Data.CONTENT_URI, contentValues);
  }
}
项目:SafeSlinger-Android    文件:ContactAccessorApi5.java   
@Override
public String[] getProjIM() {
    return new String[] {
            Im.MIMETYPE, Im.DATA, Im.TYPE, Im.PROTOCOL, Im.CUSTOM_PROTOCOL, Im.IS_PRIMARY,
            Im.LABEL
    };
}
项目:SafeSlinger-Android    文件:ContactAccessorApi5.java   
private boolean updateIm(ContactMethod cmethod, String rawContactId, Context ctx) {

        int protocol = lookupProviderIdFromName(cmethod.label);
        boolean isCustom = isCustomIm(cmethod.label);
        String custom = isCustom ? cmethod.label : null;

        // seek for raw contact + data + label/type = same
        String[] proj = new String[] {
                Im.RAW_CONTACT_ID, Data.MIMETYPE, Im.PROTOCOL, Im.CUSTOM_PROTOCOL
        };

        String where = null;
        String[] args = null;
        if (isCustom) {
            where = Im.RAW_CONTACT_ID + "=? AND " + Data.MIMETYPE + "=? AND " + Im.PROTOCOL
                    + "=? AND " + Im.CUSTOM_PROTOCOL + "=?";
            args = new String[] {
                    rawContactId, Im.CONTENT_ITEM_TYPE, String.valueOf(protocol), custom
            };
        } else {
            where = Im.RAW_CONTACT_ID + "=? AND " + Data.MIMETYPE + "=? AND " + Im.PROTOCOL + "=?";
            args = new String[] {
                    rawContactId, Im.CONTENT_ITEM_TYPE, String.valueOf(protocol)
            };
        }

        ContentValues values = valuesIm(cmethod);
        values.put(Im.RAW_CONTACT_ID, rawContactId);

        return updateDataRow(ctx, proj, where, args, values);
    }
项目:ContactMerger    文件:ImMetadata.java   
/**
 * Retrieve a type instalce for a given database value, or null.
 * @param id The database value.
 * @return A corresponding Type instance, or null.
 */
private static Type byTypeId(int id) {
    switch(id) {
    case Im.TYPE_CUSTOM: return CUSTOM;
    case Im.TYPE_HOME: return HOME;
    case Im.TYPE_OTHER: return OTHER;
    case Im.TYPE_WORK: return WORK;
    }
    return null;
}
项目:react-native-paged-contacts    文件:InstantMessagingAddress.java   
private void fillFromCursor() {
    data = getString(Im.DATA);
    final String protocolId = getString(Im.PROTOCOL);
    final String customProtocol = getString(Im.CUSTOM_PROTOCOL);
    protocol = getProtocolName(protocolId, customProtocol);
}
项目:mc_backup    文件:ContactService.java   
private int getImType(String imType) {
    initImTypesMap();
    Integer type = mImTypesMap.get(imType.toLowerCase());
    return type != null ? type : Im.TYPE_CUSTOM;
}
项目:CucumberSync    文件:LocalAddressBook.java   
protected Builder buildIMPP(Builder builder, Impp impp) {
    int typeCode = 0;
    String typeLabel = null;
    for (ImppType type : impp.getTypes())
        if (type == ImppType.HOME)
            typeCode = Im.TYPE_HOME;
        else if (type == ImppType.WORK || type == ImppType.BUSINESS)
            typeCode = Im.TYPE_WORK;
    if (typeCode == 0)
        if (impp.getTypes().isEmpty())
            typeCode = Im.TYPE_OTHER;
        else {
            typeCode = Im.TYPE_CUSTOM;
            typeLabel = xNameToLabel(impp.getTypes().iterator().next().getValue());
        }

    int protocolCode = 0;
    String protocolLabel = null;

    String protocol = impp.getProtocol();
    if (protocol == null) {
        Log.w(TAG, "Ignoring IMPP address without protocol");
        return null;
    }

    // SIP addresses are IMPP entries in the VCard but locally stored in SipAddress rather than Im
    boolean sipAddress = false;

    if (impp.isAim())
        protocolCode = Im.PROTOCOL_AIM;
    else if (impp.isMsn())
        protocolCode = Im.PROTOCOL_MSN;
    else if (impp.isYahoo())
        protocolCode = Im.PROTOCOL_YAHOO;
    else if (impp.isSkype())
        protocolCode = Im.PROTOCOL_SKYPE;
    else if (protocol.equalsIgnoreCase("qq"))
        protocolCode = Im.PROTOCOL_QQ;
    else if (protocol.equalsIgnoreCase("google-talk"))
        protocolCode = Im.PROTOCOL_GOOGLE_TALK;
    else if (impp.isIcq())
        protocolCode = Im.PROTOCOL_ICQ;
    else if (impp.isXmpp() || protocol.equalsIgnoreCase("jabber"))
        protocolCode = Im.PROTOCOL_JABBER;
    else if (protocol.equalsIgnoreCase("netmeeting"))
        protocolCode = Im.PROTOCOL_NETMEETING;
    else if (protocol.equalsIgnoreCase("sip"))
        sipAddress = true;
    else {
        protocolCode = Im.PROTOCOL_CUSTOM;
        protocolLabel = protocol;
    }

    if (sipAddress)
        // save as SIP address
        builder = builder
            .withValue(Data.MIMETYPE, SipAddress.CONTENT_ITEM_TYPE)
            .withValue(Im.DATA, impp.getHandle())
            .withValue(Im.TYPE, typeCode);
    else {
        // save as IM address
        builder = builder
            .withValue(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE)
            .withValue(Im.DATA, impp.getHandle())
            .withValue(Im.TYPE, typeCode)
            .withValue(Im.PROTOCOL, protocolCode);
        if (protocolLabel != null)
            builder = builder.withValue(Im.CUSTOM_PROTOCOL, protocolLabel);
    }
    if (typeLabel != null)
        builder = builder.withValue(Im.LABEL, typeLabel);
    return builder;
}
项目:SafeSlinger-Android    文件:BaseActivity.java   
private boolean doCleanupOldKeyData(String[] keyNames) {
    if (!SafeSlinger.doesUserHavePermission(Manifest.permission.READ_CONTACTS)) {
        return true;
    }
    if (keyNames == null || keyNames.length == 0)
        return false;

    String[] args = new String[2 + keyNames.length];
    StringBuilder where = new StringBuilder();

    where.append(Data.MIMETYPE);
    where.append(" = ? AND ");
    args[0] = (Im.CONTENT_ITEM_TYPE);

    where.append(Im.PROTOCOL);
    where.append(" = ? AND ");
    args[1] = (String.valueOf(Im.PROTOCOL_CUSTOM));

    where.append("(");
    for (int i = 0; i < keyNames.length; i++) {
        where.append(Im.CUSTOM_PROTOCOL);
        where.append(" LIKE ?");
        args[2 + i] = (keyNames[i]);

        if ((1 + i) < keyNames.length)
            where.append(" OR ");
    }
    where.append(")");

    String query = where.toString();

    Cursor c = getContentResolver().query(Data.CONTENT_URI, null, query, args, null);
    if (c != null) {
        try {
            int rowsOutdated = c.getCount();
            if (rowsOutdated > 0) {
                MyLog.d(TAG, String.format("%d deprecated IM rows found", rowsOutdated));
                int deletedRows = getContentResolver().delete(Data.CONTENT_URI, query, args);
                MyLog.d(TAG, String.format("%d deprecated IM rows removed", deletedRows));
            }
        } finally {
            c.close();
        }
    }
    return true;
}
项目:SafeSlinger-Android    文件:ContactAccessorApi5.java   
@Override
public String getQueryIM() {
    return Im.MIMETYPE + " = " + DatabaseUtils.sqlEscapeString("" + Im.CONTENT_ITEM_TYPE);
}
项目:SafeSlinger-Android    文件:ContactAccessorApi5.java   
@Override
public boolean isCustomIm(String label) {
    int protocol = lookupProviderIdFromName(label);
    return (protocol == Im.PROTOCOL_CUSTOM);
}
项目:silent-text-android    文件:SystemContactRepository.java   
@Override
public Intent getShowOrCreateIntent( String email ) {

    Intent intent = criteria.getShowOrCreateIntent( email );

    intent.putExtra( Insert.NAME, getDisplayName( email ) );
    intent.putExtra( Insert.IM_PROTOCOL, Im.PROTOCOL_JABBER );
    intent.putExtra( Insert.IM_HANDLE, email );

    return intent;

}