From 96f4e9b0c16104855d0cf76caf6338cf02efbf2a Mon Sep 17 00:00:00 2001 From: Margaux Clerc Date: Tue, 19 Aug 2014 09:47:43 +0200 Subject: [PATCH] Fix add contact in dialer --- src/org/linphone/EditContactFragment.java | 6 ++++-- src/org/linphone/LinphoneUtils.java | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/org/linphone/EditContactFragment.java b/src/org/linphone/EditContactFragment.java index 4f00ae0dd..f46c43f72 100644 --- a/src/org/linphone/EditContactFragment.java +++ b/src/org/linphone/EditContactFragment.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import org.linphone.compatibility.Compatibility; +import org.linphone.mediastream.Log; import org.linphone.mediastream.Version; import org.linphone.ui.AvatarWithShadow; @@ -209,7 +210,7 @@ public class EditContactFragment extends Fragment { } } if (newSipOrNumberToAdd != null) { - View view = displayNumberOrAddress(controls, newSipOrNumberToAdd, true); + View view = displayNumberOrAddress(controls, newSipOrNumberToAdd); if (view != null) controls.addView(view); } @@ -243,7 +244,8 @@ public class EditContactFragment extends Fragment { } private View displayNumberOrAddress(final TableLayout controls, String numberOrAddress, boolean forceAddNumber) { - boolean isSip = numberOrAddress.startsWith("sip:"); + boolean isSip = LinphoneUtils.isStrictSipAddress(numberOrAddress) || !LinphoneUtils.isNumberAddress(numberOrAddress); + if (isSip) { if (firstSipAddressIndex == -1) { firstSipAddressIndex = controls.getChildCount(); diff --git a/src/org/linphone/LinphoneUtils.java b/src/org/linphone/LinphoneUtils.java index 108625276..8c0432474 100644 --- a/src/org/linphone/LinphoneUtils.java +++ b/src/org/linphone/LinphoneUtils.java @@ -86,6 +86,10 @@ public final class LinphoneUtils { } } + public static boolean isNumberAddress(String numberOrAddress) { + return numberOrAddress.matches("[-+]?\\d*\\.?\\d+"); + } + public static boolean isStrictSipAddress(String numberOrAddress) { return isSipAddress(numberOrAddress) && numberOrAddress.startsWith("sip:"); }