summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSreehari Vaddi <cshvadd@codeaurora.org>2014-11-19 21:44:15 +0530
committerArne Coucheron <arco68@gmail.com>2014-12-13 01:45:53 +0100
commit19df5cd071e0be7d7620514c4a775cc37d95e61d (patch)
tree0fb03c283064bac0414a5b05fe47120824151156
parente08a1e3b8474bb5911a04137ccfbe8bd7791d9bb (diff)
downloadandroid_packages_apps_InCallUI-19df5cd071e0be7d7620514c4a775cc37d95e61d.tar.gz
android_packages_apps_InCallUI-19df5cd071e0be7d7620514c4a775cc37d95e61d.tar.bz2
android_packages_apps_InCallUI-19df5cd071e0be7d7620514c4a775cc37d95e61d.zip
Handle NumberFormatException gracefully
Handle NumberFormatException at relevant places when subId is parsed as Long. Change-Id: I189704113d2df64c40465d4d2e2e49f2a2534bfe
-rw-r--r--src/com/android/incallui/Call.java12
-rw-r--r--src/com/android/incallui/CallList.java11
2 files changed, 14 insertions, 9 deletions
diff --git a/src/com/android/incallui/Call.java b/src/com/android/incallui/Call.java
index cabdec29..4a337296 100644
--- a/src/com/android/incallui/Call.java
+++ b/src/com/android/incallui/Call.java
@@ -419,12 +419,14 @@ public final class Call {
public long getSubId() {
PhoneAccountHandle ph = getAccountHandle();
if (ph != null) {
- if (ph.getId() != null && !ph.getId().toLowerCase().contains("sip")
- && !ph.getId().equals("E")) {
- return Long.parseLong(getAccountHandle().getId());
- } else {
- return SubscriptionManager.getDefaultVoiceSubId();
+ try {
+ if (ph.getId() != null ) {
+ return Long.parseLong(getAccountHandle().getId());
+ }
+ } catch (NumberFormatException e) {
+ Log.w(this,"sub Id is not a number " + e);
}
+ return SubscriptionManager.getDefaultVoiceSubId();
} else {
return SubscriptionManager.INVALID_SUB_ID;
}
diff --git a/src/com/android/incallui/CallList.java b/src/com/android/incallui/CallList.java
index 61078e29..6508bcb9 100644
--- a/src/com/android/incallui/CallList.java
+++ b/src/com/android/incallui/CallList.java
@@ -679,10 +679,13 @@ public class CallList implements InCallPhoneListener {
public boolean hasAnyLiveCall(long subId) {
for (Call call : mCallById.values()) {
PhoneAccountHandle ph = call.getAccountHandle();
- if (!isCallDead(call) && ph != null && (!ph.getId().equals("E"))
- && (Long.parseLong(ph.getId()) == subId)) {
- Log.i(this, "hasAnyLiveCall sub = " + subId);
- return true;
+ try {
+ if (!isCallDead(call) && ph != null && (Long.parseLong(ph.getId()) == subId)) {
+ Log.i(this, "hasAnyLiveCall sub = " + subId);
+ return true;
+ }
+ } catch (NumberFormatException e) {
+ Log.w(this,"Sub Id is not a number " + e);
}
}
Log.i(this, "no active call ");