Fix contacts
This commit is contained in:
parent
b61c49f9a1
commit
e076acb251
3 changed files with 15 additions and 8 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue