Fix contacts

This commit is contained in:
Margaux Clerc 2015-04-29 11:05:55 +02:00
parent b61c49f9a1
commit e076acb251
3 changed files with 15 additions and 8 deletions

View file

@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.List;
import org.linphone.compatibility.Compatibility;
import org.linphone.core.LinphoneCore;
import org.linphone.core.LinphoneFriend;
import android.content.ContentResolver;
@ -104,12 +105,15 @@ public class Contact implements Serializable {
public void refresh(ContentResolver cr) {
this.numbersOrAddresses = Compatibility.extractContactNumbersAndAddresses(id, cr);
for(LinphoneFriend friend : LinphoneManager.getLcIfManagerNotDestroyedOrNull().getFriendList()) {
LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
if(lc != null && lc.getFriendList() != null) {
for (LinphoneFriend friend :lc.getFriendList()){
if (friend.getRefKey().equals(id)) {
hasFriends = true;
this.numbersOrAddresses.add(friend.getAddress().asStringUriOnly());
}
}
}
this.name = Compatibility.refreshContactName(cr, id);
}
}

View file

@ -199,7 +199,7 @@ public class DialerFragment extends Fragment {
mAddress.setText(intent.getData().getSchemeSpecificPart());
} else {
Uri contactUri = intent.getData();
String address = ContactsManager.getInstance().queryAddressOrNumber(getActivity().getContentResolver(),contactUri);
String address = ContactsManager.getInstance().queryAddressOrNumber(LinphoneService.instance().getContentResolver(),contactUri);
if(address != null) {
mAddress.setText(address);
} else {

View file

@ -53,9 +53,12 @@ public class EditContactFragment extends Fragment {
isNewContact = false;
contactID = Integer.parseInt(contact.getID());
contact.refresh(getActivity().getContentResolver());
}
if (getArguments().getString("NewSipAdress") != null) {
newSipOrNumberToAdd = getArguments().getString("NewSipAdress");
}
} else if (getArguments().getString("NewSipAdress") != null) {
newSipOrNumberToAdd = getArguments().getString("NewSipAdress");
isNewContact = true;
}
}
@ -257,7 +260,7 @@ public class EditContactFragment extends Fragment {
if (forceAddNumber) {
tempNounoa = new NewOrUpdatedNumberOrAddress(isSip);
} else {
if(isNewContact) {
if(isNewContact || newSipOrNumberToAdd != null) {
tempNounoa = new NewOrUpdatedNumberOrAddress(isSip, numberOrAddress);
} else {
tempNounoa = new NewOrUpdatedNumberOrAddress(numberOrAddress, isSip);