Update connectionAvailable in ImsStateCallabackController
The subId need to be propogated all the way
to FeatureConnector.Listener#connectionReady
so that classes can listen to changes in subId directly.
Bug: 213863350
Test: atest
Change-Id: I37dfdf5537d76046f0301a18e365a5f96531efe1
Merged-In: I37dfdf5537d76046f0301a18e365a5f96531efe1
diff --git a/src/com/android/phone/ImsStateCallbackController.java b/src/com/android/phone/ImsStateCallbackController.java
index 4e2407c..a7caab0 100644
--- a/src/com/android/phone/ImsStateCallbackController.java
+++ b/src/com/android/phone/ImsStateCallbackController.java
@@ -293,8 +293,9 @@
@Override
public void connectionReady(ImsManager manager, int subId) {
- logd(mLogPrefix + "connectionReady");
+ logd(mLogPrefix + "connectionReady " + subId);
+ mSubId = subId;
mState = STATE_READY;
mReason = AVAILABLE;
mHasConfig = true;
@@ -435,8 +436,9 @@
@Override
public void connectionReady(RcsFeatureManager manager, int subId) {
- logd(mLogPrefix + "connectionReady");
+ logd(mLogPrefix + "connectionReady " + subId);
+ mSubId = subId;
mState = STATE_READY;
mReason = AVAILABLE;
mHasConfig = true;
@@ -834,19 +836,21 @@
if (wrapper.mRequiredFeature == FEATURE_MMTEL) {
for (int i = 0; i < mMmTelFeatureListeners.size(); i++) {
- MmTelFeatureListener l = mMmTelFeatureListeners.valueAt(i);
- if (l.mSubId == wrapper.mSubId
- && !l.notifyState(wrapper)) {
- mWrappers.remove(wrapper.mBinder);
+ if (wrapper.mSubId == getSubId(i)) {
+ MmTelFeatureListener l = mMmTelFeatureListeners.valueAt(i);
+ if (!l.notifyState(wrapper)) {
+ mWrappers.remove(wrapper.mBinder);
+ }
break;
}
}
} else if (wrapper.mRequiredFeature == FEATURE_RCS) {
for (int i = 0; i < mRcsFeatureListeners.size(); i++) {
- RcsFeatureListener l = mRcsFeatureListeners.valueAt(i);
- if (l.mSubId == wrapper.mSubId
- && !l.notifyState(wrapper)) {
- mWrappers.remove(wrapper.mBinder);
+ if (wrapper.mSubId == getSubId(i)) {
+ RcsFeatureListener l = mRcsFeatureListeners.valueAt(i);
+ if (!l.notifyState(wrapper)) {
+ mWrappers.remove(wrapper.mBinder);
+ }
break;
}
}