Make mImsPhone static. DO NOT MERGE ANYWHERE

This change is fixing cases when unnecessary ImsPhone object
was created causing missing updates from IMS stack.

Bug: 20077297
Change-Id: I58d0166767998c16c71fd86bf2b08a90bf80f8ce
diff --git a/src/java/com/android/internal/telephony/CallManager.java b/src/java/com/android/internal/telephony/CallManager.java
index 727be96..417b0fd 100644
--- a/src/java/com/android/internal/telephony/CallManager.java
+++ b/src/java/com/android/internal/telephony/CallManager.java
@@ -440,10 +440,11 @@
                         phone.getPhoneName() + " " + phone + ")");
             }
 
-            Phone vPhone = basePhone.getImsPhone();
-            if (vPhone != null) {
-               unregisterPhone(vPhone);
-            }
+            // ImsPhone is unregistered in PhoneBase.updateImsPhone()
+            //Phone vPhone = basePhone.getImsPhone();
+            //if (vPhone != null) {
+            //   unregisterPhone(vPhone);
+            //}
 
             mPhones.remove(basePhone);
             mRingingCalls.remove(basePhone.getRingingCall());
diff --git a/src/java/com/android/internal/telephony/PhoneBase.java b/src/java/com/android/internal/telephony/PhoneBase.java
index e1444ee..763b68a 100644
--- a/src/java/com/android/internal/telephony/PhoneBase.java
+++ b/src/java/com/android/internal/telephony/PhoneBase.java
@@ -220,7 +220,7 @@
 
     private final Object mImsLock = new Object();
     private boolean mImsServiceReady = false;
-    protected ImsPhone mImsPhone = null;
+    protected static ImsPhone mImsPhone = null;
 
     protected int mRadioAccessFamily = RadioAccessFamily.RAF_UNKNOWN;
 
@@ -460,11 +460,12 @@
                 mTelephonyTester.dispose();
             }
 
-            ImsPhone imsPhone = mImsPhone;
-            if (imsPhone != null) {
-                imsPhone.unregisterForSilentRedial(this);
-                imsPhone.dispose();
-            }
+            // No deed to dispose static object
+            //ImsPhone imsPhone = mImsPhone;
+            //if (imsPhone != null) {
+            //    imsPhone.unregisterForSilentRedial(this);
+            //    imsPhone.dispose();
+            //}
         }
     }
 
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhone.java b/src/java/com/android/internal/telephony/imsphone/ImsPhone.java
index efc53c4..507346a 100644
--- a/src/java/com/android/internal/telephony/imsphone/ImsPhone.java
+++ b/src/java/com/android/internal/telephony/imsphone/ImsPhone.java
@@ -191,6 +191,11 @@
     }
 
     @Override
+    public Phone getImsPhone() {
+        return null;
+    }
+
+    @Override
     public void removeReferences() {
         Rlog.d(LOG_TAG, "removeReferences");
         super.removeReferences();