diff options
author | Danny Baumann <dannybaumann@web.de> | 2014-11-15 12:50:03 +0100 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2014-11-15 11:53:09 +0000 |
commit | 90012dca6e012b5cad7f4fd59c2043d3c84c0db3 (patch) | |
tree | 56ef009fa7191a3fd53abcdfd03845d68c049b89 /src | |
parent | 24645de2a80f4fd2357712c45379d176e8199c78 (diff) | |
download | packages_apps_InCallUI-90012dca6e012b5cad7f4fd59c2043d3c84c0db3.tar.gz packages_apps_InCallUI-90012dca6e012b5cad7f4fd59c2043d3c84c0db3.tar.bz2 packages_apps_InCallUI-90012dca6e012b5cad7f4fd59c2043d3c84c0db3.zip |
Be more robust when attempting to parse the subscription ID.
E.g. emergency calls have the ID 'E'.
Change-Id: I1669c3fe702883b05db9c02d42cc98a6c8f44b79
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/incallui/Call.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/com/android/incallui/Call.java b/src/com/android/incallui/Call.java index 16c02c92..cc866abe 100644 --- a/src/com/android/incallui/Call.java +++ b/src/com/android/incallui/Call.java @@ -365,15 +365,17 @@ public final class Call { public long getSubId() { PhoneAccountHandle ph = getAccountHandle(); - if (ph != null) { - if (ph.getId() != null && !ph.getId().toLowerCase().contains("sip")) { + if (ph == null) { + return SubscriptionManager.INVALID_SUB_ID; + } + if (ph.getId() != null) { + try { return Long.parseLong(getAccountHandle().getId()); - } else { - return SubscriptionManager.getDefaultVoiceSubId(); + } catch (NumberFormatException e) { + // fall through } - } else { - return SubscriptionManager.INVALID_SUB_ID; } + return SubscriptionManager.getDefaultVoiceSubId(); } public VideoCall getVideoCall() { |