aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler Gunn <tgunn@google.com>2020-05-15 13:11:29 -0700
committerTyler Gunn <tgunn@google.com>2020-05-15 13:11:29 -0700
commitf0071532ad6b15e710aa152075bf868ea6e21c3e (patch)
tree20c8ae9527e5c11ccb76b97de9cb1b392db9de7f
parent2a4164bf8b8cf0ba6914ae95fa3acf0ac9799116 (diff)
downloadims-f0071532ad6b15e710aa152075bf868ea6e21c3e.tar.gz
Fix potential NPE when creating an ImsCall.
If the call profile is null on ImsCall creation, the code to track the video state history will crash. Test: Add unit test for setting up a new ImsCall when profile is null. Test: Add unit test for non-null ImsCall profile creation. Fixes: 156188660 Change-Id: I2560cd32891977b7297a1dfaca7ca01381794ca0
-rwxr-xr-xsrc/java/com/android/ims/ImsCall.java3
-rw-r--r--src/java/com/android/ims/ImsManager.java1
2 files changed, 3 insertions, 1 deletions
diff --git a/src/java/com/android/ims/ImsCall.java b/src/java/com/android/ims/ImsCall.java
index 04b1e9cc..a31971d2 100755
--- a/src/java/com/android/ims/ImsCall.java
+++ b/src/java/com/android/ims/ImsCall.java
@@ -3672,7 +3672,8 @@ public class ImsCall implements ICall {
* @param profile The current {@link ImsCallProfile} for the call.
*/
private void trackVideoStateHistory(ImsCallProfile profile) {
- mWasVideoCall = mWasVideoCall || profile.isVideoCall();
+ mWasVideoCall = mWasVideoCall
+ || profile != null ? profile.isVideoCall() : false;
}
/**
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java
index 48459496..8724cdf4 100644
--- a/src/java/com/android/ims/ImsManager.java
+++ b/src/java/com/android/ims/ImsManager.java
@@ -1985,6 +1985,7 @@ public class ImsManager implements IFeatureConnector {
return call;
} catch (Throwable t) {
+ loge("takeCall caught: ", t);
throw new ImsException("takeCall()", t, ImsReasonInfo.CODE_UNSPECIFIED);
}
}