Java 类android.provider.ContactsContract.CommonDataKinds.StructuredPostal 实例源码
项目:alerta-fraude
文件:ContactAccessorSdk5.java
/**
* Add an address to a list of database actions to be performed
*
* @param ops the list of database actions
* @param address the item to be inserted
*/
private void insertAddress(ArrayList<ContentProviderOperation> ops,
JSONObject address) {
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE, CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
.withValue(CommonDataKinds.StructuredPostal.TYPE, getAddressType(getJsonString(address, "type")))
.withValue(CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, getJsonString(address, "formatted"))
.withValue(CommonDataKinds.StructuredPostal.STREET, getJsonString(address, "streetAddress"))
.withValue(CommonDataKinds.StructuredPostal.CITY, getJsonString(address, "locality"))
.withValue(CommonDataKinds.StructuredPostal.REGION, getJsonString(address, "region"))
.withValue(CommonDataKinds.StructuredPostal.POSTCODE, getJsonString(address, "postalCode"))
.withValue(CommonDataKinds.StructuredPostal.COUNTRY, getJsonString(address, "country"))
.withValue(CommonDataKinds.StructuredPostal.LABEL, getJsonString(address, "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 getAddressType(String string) {
int type = CommonDataKinds.StructuredPostal.TYPE_OTHER;
if (string != null) {
String lowerType = string.toLowerCase(Locale.getDefault());
if ("work".equals(lowerType)) {
return CommonDataKinds.StructuredPostal.TYPE_WORK;
}
else if ("other".equals(lowerType)) {
return CommonDataKinds.StructuredPostal.TYPE_OTHER;
}
else if ("home".equals(lowerType)) {
return CommonDataKinds.StructuredPostal.TYPE_HOME;
}
return CommonDataKinds.StructuredPostal.TYPE_CUSTOM;
}
return type;
}
项目:alerta-fraude
文件:ContactAccessorSdk5.java
/**
* getPhoneType converts an Android phone type into a string
* @param type
* @return phone type as string.
*/
private String getAddressType(int type) {
String stringType;
switch (type) {
case CommonDataKinds.StructuredPostal.TYPE_HOME:
stringType = "home";
break;
case CommonDataKinds.StructuredPostal.TYPE_WORK:
stringType = "work";
break;
case CommonDataKinds.StructuredPostal.TYPE_OTHER:
default:
stringType = "other";
break;
}
return stringType;
}
项目:alerta-fraude
文件:ContactAccessorSdk5.java
/**
* Add an address to a list of database actions to be performed
*
* @param ops the list of database actions
* @param address the item to be inserted
*/
private void insertAddress(ArrayList<ContentProviderOperation> ops,
JSONObject address) {
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE, CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
.withValue(CommonDataKinds.StructuredPostal.TYPE, getAddressType(getJsonString(address, "type")))
.withValue(CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, getJsonString(address, "formatted"))
.withValue(CommonDataKinds.StructuredPostal.STREET, getJsonString(address, "streetAddress"))
.withValue(CommonDataKinds.StructuredPostal.CITY, getJsonString(address, "locality"))
.withValue(CommonDataKinds.StructuredPostal.REGION, getJsonString(address, "region"))
.withValue(CommonDataKinds.StructuredPostal.POSTCODE, getJsonString(address, "postalCode"))
.withValue(CommonDataKinds.StructuredPostal.COUNTRY, getJsonString(address, "country"))
.withValue(CommonDataKinds.StructuredPostal.LABEL, getJsonString(address, "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 getAddressType(String string) {
int type = CommonDataKinds.StructuredPostal.TYPE_OTHER;
if (string != null) {
String lowerType = string.toLowerCase(Locale.getDefault());
if ("work".equals(lowerType)) {
return CommonDataKinds.StructuredPostal.TYPE_WORK;
}
else if ("other".equals(lowerType)) {
return CommonDataKinds.StructuredPostal.TYPE_OTHER;
}
else if ("home".equals(lowerType)) {
return CommonDataKinds.StructuredPostal.TYPE_HOME;
}
return CommonDataKinds.StructuredPostal.TYPE_CUSTOM;
}
return type;
}
项目:alerta-fraude
文件:ContactAccessorSdk5.java
/**
* getPhoneType converts an Android phone type into a string
* @param type
* @return phone type as string.
*/
private String getAddressType(int type) {
String stringType;
switch (type) {
case CommonDataKinds.StructuredPostal.TYPE_HOME:
stringType = "home";
break;
case CommonDataKinds.StructuredPostal.TYPE_WORK:
stringType = "work";
break;
case CommonDataKinds.StructuredPostal.TYPE_OTHER:
default:
stringType = "other";
break;
}
return stringType;
}
项目:mc_backup
文件:ContactService.java
private ContentValues createAddressContentValues(final JSONObject address, final int typeConstant,
final String type) throws JSONException {
ContentValues contentValues = new ContentValues();
contentValues.put(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE);
contentValues.put(StructuredPostal.STREET, address.optString("streetAddress"));
contentValues.put(StructuredPostal.CITY, address.optString("locality"));
contentValues.put(StructuredPostal.REGION, address.optString("region"));
contentValues.put(StructuredPostal.POSTCODE, address.optString("postalCode"));
contentValues.put(StructuredPostal.COUNTRY, address.optString("countryName"));
if (type != null) {
contentValues.put(StructuredPostal.TYPE, typeConstant);
// If a custom type, add a label
if (typeConstant == BaseTypes.TYPE_CUSTOM) {
contentValues.put(StructuredPostal.LABEL, type);
}
}
if (address.has("pref")) {
contentValues.put(Data.IS_SUPER_PRIMARY, address.getBoolean("pref") ? 1 : 0);
}
return contentValues;
}
项目: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);
}
项目:ntsync-android
文件:ContactOperations.java
public ContactOperations updateAddress(String city, String country,
String neighborhood, String pobox, String postcode, String region,
String street, String label, boolean isPrimary,
boolean isSuperPrimary, Uri uri) {
mValues.clear();
mValues.put(StructuredPostal.CITY, city);
mValues.put(StructuredPostal.COUNTRY, country);
mValues.put(StructuredPostal.NEIGHBORHOOD, neighborhood);
mValues.put(StructuredPostal.POBOX, pobox);
mValues.put(StructuredPostal.POSTCODE, postcode);
mValues.put(StructuredPostal.REGION, region);
mValues.put(StructuredPostal.STREET, street);
mValues.put(StructuredPostal.LABEL, label);
mValues.put(StructuredPostal.IS_PRIMARY, isPrimary ? 1 : 0);
mValues.put(StructuredPostal.IS_SUPER_PRIMARY, isSuperPrimary ? 1 : 0);
addUpdateOp(uri);
return this;
}
项目:SafeSlinger-Android
文件:ContactAccessorApi5.java
@Override
public boolean addPostal(ContactStruct contact, Cursor postals, boolean removeMatches) {
String address = postals.getString(postals
.getColumnIndex(StructuredPostal.FORMATTED_ADDRESS));
String poBox = postals.getString(postals.getColumnIndex(StructuredPostal.POBOX));
String street = postals.getString(postals.getColumnIndex(StructuredPostal.STREET));
String nbrhood = postals.getString(postals.getColumnIndex(StructuredPostal.NEIGHBORHOOD));
String city = postals.getString(postals.getColumnIndex(StructuredPostal.CITY));
String state = postals.getString(postals.getColumnIndex(StructuredPostal.REGION));
String postCode = postals.getString(postals.getColumnIndex(StructuredPostal.POSTCODE));
String country = postals.getString(postals.getColumnIndex(StructuredPostal.COUNTRY));
String label = postals.getString(postals.getColumnIndexOrThrow(StructuredPostal.LABEL));
int type = postals.getInt(postals.getColumnIndexOrThrow(StructuredPostal.TYPE));
boolean primary = (postals.getInt(postals
.getColumnIndexOrThrow(StructuredPostal.IS_PRIMARY)) != 0);
if (!TextUtils.isEmpty(address)
&& isPostalNew(contact, address, poBox, street, nbrhood, city, state, postCode,
type, removeMatches)) {
contact.addAddress(type, address, poBox, nbrhood, street, city, state, postCode,
country, label, primary);
return true;
}
return false;
}
项目:SafeSlinger-Android
文件:ContactAccessorApi5.java
private ContentValues valuesPostal(Address postal) {
ContentValues val = new ContentValues();
val.put(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE);
val.put(StructuredPostal.POBOX, postal.getPoBox());
val.put(StructuredPostal.NEIGHBORHOOD, postal.getExtended());
val.put(StructuredPostal.STREET, postal.getStreet());
val.put(StructuredPostal.CITY, postal.getCity());
val.put(StructuredPostal.REGION, postal.getState());
val.put(StructuredPostal.POSTCODE, postal.getPostalCode());
val.put(StructuredPostal.COUNTRY, postal.getCountry());
val.put(StructuredPostal.FORMATTED_ADDRESS, postal.toString());
val.put(StructuredPostal.IS_PRIMARY, postal.isPrimary() ? 1 : 0);
val.put(StructuredPostal.LABEL, postal.getLabel());
val.put(StructuredPostal.TYPE, postal.getType());
return val;
}
项目:SafeSlinger-Android
文件:ContactAccessorApi5.java
private boolean updatePostal(Address postal, String rawContactId, Context ctx) {
// seek for raw contact + formatted address = same
String[] proj = new String[] {
StructuredPostal.RAW_CONTACT_ID, Data.MIMETYPE, StructuredPostal.FORMATTED_ADDRESS
};
String where = StructuredPostal.RAW_CONTACT_ID + "=? AND " + Data.MIMETYPE + "=? AND "
+ StructuredPostal.FORMATTED_ADDRESS + "=?";
String[] args = new String[] {
rawContactId, StructuredPostal.CONTENT_ITEM_TYPE, postal.toString()
};
ContentValues values = valuesPostal(postal);
values.put(StructuredPostal.RAW_CONTACT_ID, rawContactId);
return updateDataRow(ctx, proj, where, args, values);
}
项目:react-native-paged-contacts
文件:PostalAddress.java
private void fillFromCursor() {
Integer type = getInt(StructuredPostal.TYPE);
label = getType(type, getString(StructuredPostal.LABEL));
formattedAddress = getString(StructuredPostal.FORMATTED_ADDRESS);
poBox = getString(StructuredPostal.POBOX);
street = getString(StructuredPostal.STREET);
neighborhood = getString(StructuredPostal.NEIGHBORHOOD);
city = getString(StructuredPostal.CITY);
region = getString(StructuredPostal.REGION);
postcode = getString(StructuredPostal.POSTCODE);
country = getString(StructuredPostal.COUNTRY);
}
项目:react-native-paged-contacts
文件:PostalAddress.java
private String getType(Integer type, String label) {
if (type == null) {
throw new InvalidCursorTypeException();
}
switch (type) {
case StructuredPostal.TYPE_HOME:
return "home";
case StructuredPostal.TYPE_WORK:
return "work";
case StructuredPostal.TYPE_OTHER:
return "other";
default:
return label;
}
}
项目:mc_backup
文件:ContactService.java
private void initAddressTypesMap() {
if (mAddressTypesMap != null) {
return;
}
mAddressTypesMap = new HashMap<String, Integer>();
mAddressTypesMap.put("home", StructuredPostal.TYPE_HOME);
mAddressTypesMap.put("work", StructuredPostal.TYPE_WORK);
}
项目:ntsync-android
文件:ContactOperations.java
public ContactOperations addAddress(String city, String country,
String label, int androidAddressType, String neighborhood,
String pobox, String postcode, String region, String street,
boolean isPrimary, boolean isSuperPrimary) {
mValues.clear();
mValues.put(StructuredPostal.CITY, city);
mValues.put(StructuredPostal.COUNTRY, country);
mValues.put(StructuredPostal.MIMETYPE,
StructuredPostal.CONTENT_ITEM_TYPE);
if (!TextUtils.isEmpty(label)) {
mValues.put(StructuredPostal.LABEL, label);
}
if (isSuperPrimary) {
mValues.put(Email.IS_SUPER_PRIMARY, 1);
}
if (isPrimary) {
mValues.put(Email.IS_PRIMARY, 1);
}
mValues.put(StructuredPostal.NEIGHBORHOOD, neighborhood);
mValues.put(StructuredPostal.POBOX, pobox);
mValues.put(StructuredPostal.POSTCODE, postcode);
mValues.put(StructuredPostal.REGION, region);
mValues.put(StructuredPostal.STREET, street);
addInsertOp();
return this;
}
项目:ntsync-android
文件:ContactManager.java
public static int getAndroidAddressType(AddressType type) {
switch (type) {
case TYPE_CUSTOM:
return StructuredPostal.TYPE_CUSTOM;
case TYPE_HOME:
return StructuredPostal.TYPE_HOME;
case TYPE_OTHER:
return StructuredPostal.TYPE_OTHER;
case TYPE_WORK:
return StructuredPostal.TYPE_WORK;
default:
return StructuredPostal.TYPE_OTHER;
}
}
项目:ntsync-android
文件:ContactManager.java
public static AddressType getAddressType(int androidType) {
switch (androidType) {
case StructuredPostal.TYPE_CUSTOM:
return AddressType.TYPE_CUSTOM;
case StructuredPostal.TYPE_HOME:
return AddressType.TYPE_HOME;
case StructuredPostal.TYPE_OTHER:
return AddressType.TYPE_OTHER;
case StructuredPostal.TYPE_WORK:
return AddressType.TYPE_WORK;
default:
return AddressType.TYPE_OTHER;
}
}
项目:CucumberSync
文件:LocalAddressBook.java
protected void populatePostalAddresses(Contact c) throws RemoteException {
@Cleanup Cursor cursor = providerClient.query(dataURI(), new String[] {
/* 0 */ StructuredPostal.FORMATTED_ADDRESS, StructuredPostal.TYPE, StructuredPostal.LABEL,
/* 3 */ StructuredPostal.STREET, StructuredPostal.POBOX, StructuredPostal.NEIGHBORHOOD,
/* 6 */ StructuredPostal.CITY, StructuredPostal.REGION, StructuredPostal.POSTCODE,
/* 9 */ StructuredPostal.COUNTRY
}, StructuredPostal.RAW_CONTACT_ID + "=? AND " + Data.MIMETYPE + "=?",
new String[] { String.valueOf(c.getLocalID()), StructuredPostal.CONTENT_ITEM_TYPE }, null);
while (cursor != null && cursor.moveToNext()) {
Address address = new Address();
address.setLabel(cursor.getString(0));
switch (cursor.getInt(1)) {
case StructuredPostal.TYPE_HOME:
address.addType(AddressType.HOME);
break;
case StructuredPostal.TYPE_WORK:
address.addType(AddressType.WORK);
break;
case StructuredPostal.TYPE_CUSTOM:
String customType = cursor.getString(2);
if (!StringUtils.isEmpty(customType))
address.addType(AddressType.get(labelToXName(customType)));
break;
}
address.setStreetAddress(cursor.getString(3));
address.setPoBox(cursor.getString(4));
address.setExtendedAddress(cursor.getString(5));
address.setLocality(cursor.getString(6));
address.setRegion(cursor.getString(7));
address.setPostalCode(cursor.getString(8));
address.setCountry(cursor.getString(9));
c.getAddresses().add(address);
}
}
项目:SafeSlinger-Android
文件:SlingerFragment.java
private String getStructuredPostalTypeLabel(int type, String label) {
switch (type) {
case StructuredPostal.TYPE_HOME:
return getString(R.string.label_hometag);
case StructuredPostal.TYPE_WORK:
return getString(R.string.label_worktag);
case StructuredPostal.TYPE_OTHER:
return getString(R.string.label_othertag);
default:
return StructuredPostal.getTypeLabel(this.getResources(), type, label).toString();
}
}
项目:SafeSlinger-Android
文件:ContactAccessorApi5.java
@Override
public String[] getProjPostal() {
return new String[] {
StructuredPostal.MIMETYPE, StructuredPostal.TYPE, StructuredPostal.IS_PRIMARY,
StructuredPostal.LABEL, StructuredPostal.POBOX, StructuredPostal.STREET,
StructuredPostal.CITY, StructuredPostal.REGION, StructuredPostal.POSTCODE,
StructuredPostal.COUNTRY, StructuredPostal.NEIGHBORHOOD,
StructuredPostal.FORMATTED_ADDRESS
};
}
项目:JCB
文件:ContactUtils.java
private String getAddress(String contactId) {
Cursor cursor = cr.query(
ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI,
null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
+ contactId, null, null);
if (cursor.moveToFirst()) {
// �������еĵ�ַ
String street = cursor
.getString(cursor
.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));
String city = cursor
.getString(cursor
.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
String country = cursor
.getString(cursor
.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
if (country == null) {
country = "";
}
if (street == null) {
street = "";
}
if (city == null) {
city = "";
}
cursor.close();
return country + city + street;
} else {
cursor.close();
return "";
}
}
项目:haxsync
文件:ContactUtil.java
public static void removeContactLocations(Context c, Account account){
ContactsSyncAdapterService.mContentResolver = c.getContentResolver();
HashMap<String, ContactsSyncAdapterService.SyncEntry> localContacts = ContactsSyncAdapterService.getLocalContacts(account);
for (ContactsSyncAdapterService.SyncEntry s : localContacts.values()){
ContactsSyncAdapterService.mContentResolver.delete(ContactsContract.Data.CONTENT_URI, ContactsContract.Data.MIMETYPE + " = '" + ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE + "' AND " + ContactsContract.Data.RAW_CONTACT_ID + " = " + s.raw_id, null);
}
}
项目:haxsync
文件:ContactUtil.java
public static void updateContactLocation(long rawContactId, String location){
if ((location == null || location.equals(""))){
return;
}
String where = ContactsContract.Data.RAW_CONTACT_ID + " = '" + rawContactId
+ "' AND " + ContactsContract.Data.MIMETYPE + " = '" + StructuredPostal.CONTENT_ITEM_TYPE + "'";
String[] projection = {StructuredPostal.FORMATTED_ADDRESS};
Cursor cursor = ContactsSyncAdapterService.mContentResolver.query(ContactsContract.Data.CONTENT_URI, projection, where, null, null);
boolean insert = false;
if (cursor.getCount() == 0){
insert = true;
} else{
cursor.moveToFirst();
String oldloc = cursor.getString(cursor.getColumnIndex(StructuredPostal.FORMATTED_ADDRESS));
if ((oldloc == null) || (!oldloc.equals(location))){
ContactsSyncAdapterService.mContentResolver.delete(ContactsContract.Data.CONTENT_URI, where, null);
insert = true;
}
}
cursor.close();
if (insert){
ContentValues contentValues = new ContentValues();
//op.put(ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID, );
contentValues.put(ContactsContract.Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE);
contentValues.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
contentValues.put(StructuredPostal.FORMATTED_ADDRESS, location);
try {
ContactsSyncAdapterService.mContentResolver.insert(ContactsContract.Data.CONTENT_URI, contentValues);
// mContentResolver.applyBatch(ContactsContract.AUTHORITY, operationList);
} catch (Exception e) {
e.printStackTrace();
//Log.e("ERROR:" , e.^);
}
}
}
项目:mc_backup
文件:ContactService.java
private int getAddressType(String addressType) {
initAddressTypesMap();
Integer type = mAddressTypesMap.get(addressType.toLowerCase());
return type != null ? type : StructuredPostal.TYPE_CUSTOM;
}
项目:CucumberSync
文件:LocalAddressBook.java
protected Builder buildAddress(Builder builder, Address address) {
/* street po.box (extended)
* region
* postal code city
* country
*/
String formattedAddress = address.getLabel();
if (StringUtils.isEmpty(formattedAddress)) {
String lineStreet = StringUtils.join(new String[] { address.getStreetAddress(), address.getPoBox(), address.getExtendedAddress() }, " "),
lineLocality = StringUtils.join(new String[] { address.getPostalCode(), address.getLocality() }, " ");
List<String> lines = new LinkedList<String>();
if (lineStreet != null)
lines.add(lineStreet);
if (address.getRegion() != null && !address.getRegion().isEmpty())
lines.add(address.getRegion());
if (lineLocality != null)
lines.add(lineLocality);
formattedAddress = StringUtils.join(lines, "\n");
}
int typeCode = 0;
String typeLabel = null;
for (AddressType type : address.getTypes())
if (type == AddressType.HOME)
typeCode = StructuredPostal.TYPE_HOME;
else if (type == AddressType.WORK)
typeCode = StructuredPostal.TYPE_WORK;
if (typeCode == 0)
if (address.getTypes().isEmpty())
typeCode = StructuredPostal.TYPE_OTHER;
else {
typeCode = StructuredPostal.TYPE_CUSTOM;
typeLabel = xNameToLabel(address.getTypes().iterator().next().getValue());
}
builder = builder
.withValue(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE)
.withValue(StructuredPostal.FORMATTED_ADDRESS, formattedAddress)
.withValue(StructuredPostal.TYPE, typeCode)
.withValue(StructuredPostal.STREET, address.getStreetAddress())
.withValue(StructuredPostal.POBOX, address.getPoBox())
.withValue(StructuredPostal.NEIGHBORHOOD, address.getExtendedAddress())
.withValue(StructuredPostal.CITY, address.getLocality())
.withValue(StructuredPostal.REGION, address.getRegion())
.withValue(StructuredPostal.POSTCODE, address.getPostalCode())
.withValue(StructuredPostal.COUNTRY, address.getCountry());
if (typeLabel != null)
builder = builder.withValue(StructuredPostal.LABEL, typeLabel);
return builder;
}
项目:SafeSlinger-Android
文件:ContactAccessorApi5.java
@Override
public String getQueryPostal() {
return StructuredPostal.MIMETYPE + " = "
+ DatabaseUtils.sqlEscapeString("" + StructuredPostal.CONTENT_ITEM_TYPE);
}
项目:haxsync
文件:ContactUtil.java
public static void updateContactLocation(long rawContactId, String country, String region, String city){
if ((country == null || country.equals("")) && (region == null || region.equals("")) && (city == null || city.equals(""))){
return;
}
String where = ContactsContract.Data.RAW_CONTACT_ID + " = '" + rawContactId
+ "' AND " + ContactsContract.Data.MIMETYPE + " = '" + ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE + "'";
String[] projection = {ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, ContactsContract.CommonDataKinds.StructuredPostal.REGION, ContactsContract.CommonDataKinds.StructuredPostal.CITY};
Cursor cursor = ContactsSyncAdapterService.mContentResolver.query(ContactsContract.Data.CONTENT_URI, projection, where, null, null);
boolean insert = false;
if (cursor.getCount() == 0){
insert = true;
} else{
cursor.moveToFirst();
String oldCountry = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
String oldRegion = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));
String oldCity = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
if ((oldCountry != null && !oldCountry.equals(country)) || (oldRegion != null && !oldRegion.equals(region)) || (oldCity != null && oldCity.equals(city))){
ContactsSyncAdapterService.mContentResolver.delete(ContactsContract.Data.CONTENT_URI, where, null);
insert = true;
}
}
cursor.close();
if (insert){
ContentValues contentValues = new ContentValues();
//op.put(ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID, );
contentValues.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE);
contentValues.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
if (country != null && ! country.equals("")){
contentValues.put(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, country);
} if (region != null && ! region.equals("")){
contentValues.put(ContactsContract.CommonDataKinds.StructuredPostal.REGION, region);
} if (city != null && ! city.equals("")){
contentValues.put(ContactsContract.CommonDataKinds.StructuredPostal.CITY, city);
}
try {
ContactsSyncAdapterService.mContentResolver.insert(ContactsContract.Data.CONTENT_URI, contentValues);
// mContentResolver.applyBatch(ContactsContract.AUTHORITY, operationList);
} catch (Exception e) {
e.printStackTrace();
//Log.e("ERROR:" , e.^);
}
}
}