Java 类android.provider.Telephony.Mms.Addr 实例源码

项目:darksms    文件:PduPersister.java   
private void loadAddress(long msgId, PduHeaders headers) {
    Cursor c = SqliteWrapper.query(mContext, mContentResolver,
            Uri.parse("content://mms/" + msgId + "/addr"),
            new String[] { Addr.ADDRESS, Addr.CHARSET, Addr.TYPE },
            null, null, null);

    if (c != null) {
        try {
            while (c.moveToNext()) {
                String addr = c.getString(0);
                if (!TextUtils.isEmpty(addr)) {
                    int addrType = c.getInt(2);
                    switch (addrType) {
                        case PduHeaders.FROM:
                            headers.setEncodedStringValue(
                                    new EncodedStringValue(c.getInt(1), getBytes(addr)),
                                    addrType);
                            break;
                        case PduHeaders.TO:
                        case PduHeaders.CC:
                        case PduHeaders.BCC:
                            headers.appendEncodedStringValue(
                                    new EncodedStringValue(c.getInt(1), getBytes(addr)),
                                    addrType);
                            break;
                        default:
                            Log.e(TAG, "Unknown address type: " + addrType);
                            break;
                    }
                }
            }
        } finally {
            c.close();
        }
    }
}
项目:darksms    文件:PduPersister.java   
private void persistAddress(
        long msgId, int type, EncodedStringValue[] array) {
    ContentValues values = new ContentValues(3);

    for (EncodedStringValue addr : array) {
        values.clear(); // Clear all values first.
        values.put(Addr.ADDRESS, toIsoString(addr.getTextString()));
        values.put(Addr.CHARSET, addr.getCharacterSet());
        values.put(Addr.TYPE, type);

        Uri uri = Uri.parse("content://mms/" + msgId + "/addr");
        SqliteWrapper.insert(mContext, mContentResolver, uri, values);
    }
}
项目:darksms    文件:PduPersister.java   
private void updateAddress(
        long msgId, int type, EncodedStringValue[] array) {
    // Delete old address information and then insert new ones.
    SqliteWrapper.delete(mContext, mContentResolver,
            Uri.parse("content://mms/" + msgId + "/addr"),
            Addr.TYPE + "=" + type, null);

    persistAddress(msgId, type, array);
}
项目:qksms    文件:AddressUtils.java   
public static String getFrom(Context context, Uri uri) {
    String msgId = uri.getLastPathSegment();
    Uri.Builder builder = Mms.CONTENT_URI.buildUpon();

    builder.appendPath(msgId).appendPath("addr");

    Cursor cursor = SqliteWrapper.query(context, context.getContentResolver(),
            builder.build(), new String[]{Addr.ADDRESS, Addr.CHARSET},
            Addr.TYPE + "=" + PduHeaders.FROM, null, null);

    if (cursor != null) {
        try {
            if (cursor.moveToFirst()) {
                String from = cursor.getString(0);

                if (!TextUtils.isEmpty(from)) {
                    byte[] bytes = PduPersister.getBytes(from);
                    int charset = cursor.getInt(1);
                    return new EncodedStringValue(charset, bytes).getString();
                }
            }
        } finally {
            cursor.close();
        }
    }
    return context.getString(R.string.hidden_sender_address);
}
项目:AndroidTextManager    文件:PduPersister.java   
private void loadAddress(long msgId, PduHeaders headers) {
    Cursor c = mContentResolver.query(
            Uri.parse("content://mms/" + msgId + "/addr"),
            new String[] { Addr.ADDRESS, Addr.CHARSET, Addr.TYPE },
            null, null, null);
    if (c != null) {
        try {
            while (c.moveToNext()) {
                String addr = c.getString(0);
                if (!TextUtils.isEmpty(addr)) {
                    int addrType = c.getInt(2);
                    switch (addrType) {
                        case PduHeaders.FROM:
                            headers.setEncodedStringValue(
                                    new EncodedStringValue(c.getInt(1), getBytes(addr)),
                                    addrType);
                            break;
                        case PduHeaders.TO:
                        case PduHeaders.CC:
                        case PduHeaders.BCC:
                            headers.appendEncodedStringValue(
                                    new EncodedStringValue(c.getInt(1), getBytes(addr)),
                                    addrType);
                            break;
                        default:
                            Log.e(TAG, "Unknown address type: " + addrType);
                            break;
                    }
                }
            }
        } finally {
            c.close();
        }
    }
}
项目:AndroidTextManager    文件:PduPersister.java   
private void persistAddress(
        long msgId, int type, EncodedStringValue[] array) {
    ContentValues values = new ContentValues(3);
    for (EncodedStringValue addr : array) {
        values.clear(); // Clear all values first.
        values.put(Addr.ADDRESS, toIsoString(addr.getTextString()));
        values.put(Addr.CHARSET, addr.getCharacterSet());
        values.put(Addr.TYPE, type);
        Uri uri = Uri.parse("content://mms/" + msgId + "/addr");
        mContentResolver.insert(uri, values);

        // TODO: add values to a seperate db for faster loading
    }
}
项目:AndroidTextManager    文件:PduPersister.java   
private void updateAddress(
        long msgId, int type, EncodedStringValue[] array) {
    // Delete old address information and then insert new ones.
    mContentResolver.delete(
            Uri.parse("content://mms/" + msgId + "/addr"),
            Addr.TYPE + "=" + type, null);
    persistAddress(msgId, type, array);
}
项目:sms_DualCard    文件:AddressUtils.java   
public static String getFrom(Context context, Uri uri) {
    String msgId = uri.getLastPathSegment();
    Uri.Builder builder = Mms.CONTENT_URI.buildUpon();

    builder.appendPath(msgId).appendPath("addr");

    Cursor cursor = SqliteWrapper.query(context, context.getContentResolver(),
                        builder.build(), new String[] {Addr.ADDRESS, Addr.CHARSET},
                        Addr.TYPE + "=" + PduHeaders.FROM, null, null);

    if (cursor != null) {
        try {
            if (cursor.moveToFirst()) {
                String from = cursor.getString(0);

                if (!TextUtils.isEmpty(from)) {
                    byte[] bytes = PduPersister.getBytes(from);
                    int charset = cursor.getInt(1);
                    return new EncodedStringValue(charset, bytes)
                            .getString();
                }
            }
        } finally {
            cursor.close();
        }
    }
    return context.getString(R.string.hidden_sender_address);
}
项目:android-aosp-mms    文件:AddressUtils.java   
public static String getFrom(Context context, Uri uri) {
    String msgId = uri.getLastPathSegment();
    Uri.Builder builder = Mms.CONTENT_URI.buildUpon();

    builder.appendPath(msgId).appendPath("addr");

    Cursor cursor = SqliteWrapper.query(context, context.getContentResolver(),
                        builder.build(), new String[] {Addr.ADDRESS, Addr.CHARSET},
                        Addr.TYPE + "=" + PduHeaders.FROM, null, null);

    if (cursor != null) {
        try {
            if (cursor.moveToFirst()) {
                String from = cursor.getString(0);

                if (!TextUtils.isEmpty(from)) {
                    byte[] bytes = PduPersister.getBytes(from);
                    int charset = cursor.getInt(1);
                    return new EncodedStringValue(charset, bytes)
                            .getString();
                }
            }
        } finally {
            cursor.close();
        }
    }
    return context.getString(R.string.hidden_sender_address);
}