diff options
author | Tyler Gunn <tgunn@google.com> | 2020-05-15 13:11:29 -0700 |
---|---|---|
committer | Tyler Gunn <tgunn@google.com> | 2020-05-15 13:11:29 -0700 |
commit | f0071532ad6b15e710aa152075bf868ea6e21c3e (patch) | |
tree | 20c8ae9527e5c11ccb76b97de9cb1b392db9de7f | |
parent | 2a4164bf8b8cf0ba6914ae95fa3acf0ac9799116 (diff) | |
download | ims-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-x | src/java/com/android/ims/ImsCall.java | 3 | ||||
-rw-r--r-- | src/java/com/android/ims/ImsManager.java | 1 |
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); } } |