Fix some issues

This commit is contained in:
Sylvain Berfini 2012-10-10 17:41:44 +02:00
parent 27c9b4bf7d
commit 64e0513354
3 changed files with 16 additions and 7 deletions

View file

@ -1041,7 +1041,7 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene
} }
} }
private void prepareContactsInBackground() { private synchronized void prepareContactsInBackground() {
if (contactCursor != null) { if (contactCursor != null) {
contactCursor.close(); contactCursor.close();
} }

View file

@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneAddress;
@ -69,12 +70,14 @@ public final class LinphoneUtils {
public static boolean isSipAddress(String numberOrAddress) { public static boolean isSipAddress(String numberOrAddress) {
Pattern p = Pattern.compile(sipAddressRegExp); Pattern p = Pattern.compile(sipAddressRegExp);
return p.matcher(numberOrAddress).matches(); Matcher m = p.matcher(numberOrAddress);
return m != null && m.matches();
} }
public static boolean isStrictSipAddress(String numberOrAddress) { public static boolean isStrictSipAddress(String numberOrAddress) {
Pattern p = Pattern.compile(strictSipAddressRegExp); Pattern p = Pattern.compile(strictSipAddressRegExp);
return p.matcher(numberOrAddress).matches(); Matcher m = p.matcher(numberOrAddress);
return m != null && m.matches();
} }
public static String getUsernameFromAddress(String address) { public static String getUsernameFromAddress(String address) {

View file

@ -302,17 +302,23 @@ public class ApiFivePlus {
Contact contact = getContact(cr, cursor, 0); Contact contact = getContact(cr, cursor, 0);
if (contact != null && contact.getNumerosOrAddresses().contains(sipUri)) { if (contact != null && contact.getNumerosOrAddresses().contains(sipUri)) {
address.setDisplayName(contact.getName()); address.setDisplayName(contact.getName());
cursor.close();
return contact.getPhotoUri(); return contact.getPhotoUri();
} }
cursor.close();
return null; return null;
} }
public static String refreshContactName(ContentResolver cr, String id) { public static String refreshContactName(ContentResolver cr, String id) {
Cursor c = getGeneralContactCursor(cr, Data.CONTACT_ID + " = '" + id + "'", false); Cursor cursor = getGeneralContactCursor(cr, Data.CONTACT_ID + " = '" + id + "'", false);
if (c != null && c.moveToFirst()) { if (cursor != null && cursor.moveToFirst()) {
return getContactDisplayName(c); String contactDisplayName = getContactDisplayName(cursor);
cursor.close();
return contactDisplayName;
} }
cursor.close();
return null; return null;
} }