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();