Fix NullPointerException in PresencePublication
UserCapabilityExchangeImpl may pass the null object into the PresencePublication.
Do not call the PresencePublication#onFeatureCapabilityChanged api.
Bug: 157531336
Test: manual
Change-Id: Ib971fbf97f93d51ac43815d2354d09b572894aa2
diff --git a/src/com/android/services/telephony/rcs/UserCapabilityExchangeImpl.java b/src/com/android/services/telephony/rcs/UserCapabilityExchangeImpl.java
index 0c91c55..ee0c5be 100644
--- a/src/com/android/services/telephony/rcs/UserCapabilityExchangeImpl.java
+++ b/src/com/android/services/telephony/rcs/UserCapabilityExchangeImpl.java
@@ -938,7 +938,11 @@
synchronized (mCapabilitiesLock) {
capabilities = mMmTelCapabilities;
}
- mPresencePublication.onFeatureCapabilityChanged(mNetworkRegistrationType, capabilities);
+
+ if (capabilities != null) {
+ mPresencePublication.onFeatureCapabilityChanged(mNetworkRegistrationType,
+ capabilities);
+ }
}
@Override
@@ -951,7 +955,11 @@
synchronized (mCapabilitiesLock) {
capabilities = mMmTelCapabilities;
}
- mPresencePublication.onFeatureCapabilityChanged(mNetworkRegistrationType, capabilities);
+
+ if (capabilities != null) {
+ mPresencePublication.onFeatureCapabilityChanged(mNetworkRegistrationType,
+ capabilities);
+ }
mPresencePublication.onImsDisconnected();
}
};
@@ -960,6 +968,10 @@
new ImsMmTelManager.CapabilityCallback() {
@Override
public void onCapabilitiesStatusChanged(MmTelFeature.MmTelCapabilities capabilities) {
+ if (capabilities == null) {
+ logw("onCapabilitiesStatusChanged: parameter is null");
+ return;
+ }
synchronized (mCapabilitiesLock) {
mMmTelCapabilities = capabilities;
}