Register for intent CARRIER_CONFIG_CHANGED when PhoneProxy is created
We rely on this intent to trigger IMS config update.
Bug: 24270744
Change-Id: I69494c5269352ed6afa567661752b484918c4b6b
diff --git a/src/java/com/android/internal/telephony/PhoneProxy.java b/src/java/com/android/internal/telephony/PhoneProxy.java
index 1076d05..87d0357 100644
--- a/src/java/com/android/internal/telephony/PhoneProxy.java
+++ b/src/java/com/android/internal/telephony/PhoneProxy.java
@@ -83,7 +83,6 @@
private int mPhoneId = 0;
private Context mContext;
- private boolean mPhoneProxyReceiverRegistered = false;
private BroadcastReceiver mPhoneProxyReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
@@ -121,6 +120,9 @@
} else if (phone.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA) {
mIccCardProxy.setVoiceRadioTech(ServiceState.RIL_RADIO_TECHNOLOGY_1xRTT);
}
+
+ mContext.registerReceiver(mPhoneProxyReceiver, new IntentFilter(
+ CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED));
}
@Override
@@ -335,13 +337,6 @@
mActivePhone.acquireOwnershipOfImsPhone(imsPhone);
}
mActivePhone.startMonitoringImsService();
-
- if (!mPhoneProxyReceiverRegistered) {
- IntentFilter filter = new IntentFilter();
- filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
- mContext.registerReceiver(mPhoneProxyReceiver, filter);
- mPhoneProxyReceiverRegistered = true;
- }
}
if (oldPhone != null) {
@@ -1390,10 +1385,7 @@
mCommandsInterface.unregisterForOn(this);
mCommandsInterface.unregisterForVoiceRadioTechChanged(this);
mCommandsInterface.unregisterForRilConnected(this);
- if (mPhoneProxyReceiverRegistered) {
- mContext.unregisterReceiver(mPhoneProxyReceiver);
- mPhoneProxyReceiverRegistered = false;
- }
+ mContext.unregisterReceiver(mPhoneProxyReceiver);
}
@Override