IMS: Fix crash during midcall disabled multicall SRVCC.

Avoid null pointer exception when handover state changed event
is handled by a closed TelephonyConnection by checking for validity
of mOriginalConnection.

BUG: 22405832
Change-Id: I2c5cfd86ec8e50f46ecc13b808884eea2d459764
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index 8c09a95..d04a2a5 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -67,14 +67,21 @@
                     AsyncResult ar = (AsyncResult) msg.obj;
                     com.android.internal.telephony.Connection connection =
                          (com.android.internal.telephony.Connection) ar.result;
-                    if ((connection.getAddress() != null &&
-                                    mOriginalConnection.getAddress() != null &&
+                    if (mOriginalConnection != null) {
+                        if (connection != null &&
+                            ((connection.getAddress() != null &&
+                            mOriginalConnection.getAddress() != null &&
                             mOriginalConnection.getAddress().contains(connection.getAddress())) ||
-                            connection.getStateBeforeHandover() == mOriginalConnection.getState()) {
-                        Log.d(TelephonyConnection.this, "SettingOriginalConnection " +
-                                mOriginalConnection.toString() + " with " + connection.toString());
-                        setOriginalConnection(connection);
-                        mWasImsConnection = false;
+                            connection.getStateBeforeHandover() == mOriginalConnection.getState())) {
+                            Log.d(TelephonyConnection.this,
+                                    "SettingOriginalConnection " + mOriginalConnection.toString()
+                                            + " with " + connection.toString());
+                            setOriginalConnection(connection);
+                            mWasImsConnection = false;
+                        }
+                    } else {
+                        Log.w(TelephonyConnection.this,
+                                "MSG_HANDOVER_STATE_CHANGED: mOriginalConnection==null - invalid state (not cleaned up)");
                     }
                     break;
                 case MSG_RINGBACK_TONE: