summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2014-11-15 12:50:03 +0100
committerGerrit Code Review <gerrit@cyanogenmod.org>2014-11-15 11:53:09 +0000
commit90012dca6e012b5cad7f4fd59c2043d3c84c0db3 (patch)
tree56ef009fa7191a3fd53abcdfd03845d68c049b89 /src
parent24645de2a80f4fd2357712c45379d176e8199c78 (diff)
downloadpackages_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.java14
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() {