IMS: Check for binderstate before calling endSession
ImsRegistrationListenerProxy listener, which is registered as part of ImsManager.open, is not cleared even after moving feature state to NOT_AVAILABLE because end session is never called. Check for binder state instead of feature state READY before calling end session. End session will be triggered after moving feature state to NOT_AVAILABLE. Notify Ims state change only for the supported feature state change to clients. Test: Manual Bug: 62816014 Change-Id: I1bb588ce2be9c181355ff744f43dad4e784e4ec5
This commit is contained in:
committed by
Brad Ebinger
parent
51ee00785c
commit
bed4d19db5
@@ -90,11 +90,11 @@ public class ImsServiceProxy extends ImsServiceProxyCompat implements IRcsFeatur
|
||||
" status: " + status);
|
||||
if (mSlotId == slotId && feature == mSupportedFeature) {
|
||||
mFeatureStatusCached = status;
|
||||
if (mStatusCallback != null) {
|
||||
mStatusCallback.notifyStatusChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (mStatusCallback != null) {
|
||||
mStatusCallback.notifyStatusChanged();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -129,7 +129,9 @@ public class ImsServiceProxy extends ImsServiceProxyCompat implements IRcsFeatur
|
||||
@Override
|
||||
public void endSession(int sessionId) throws RemoteException {
|
||||
synchronized (mLock) {
|
||||
checkServiceIsReady();
|
||||
// Only check to make sure the binder connection still exists. This method should
|
||||
// still be able to be called when the state is STATE_NOT_AVAILABLE.
|
||||
checkBinderConnection();
|
||||
getServiceInterface(mBinder).endSession(mSlotId, mSupportedFeature, sessionId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user