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;
             }