aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/java/com/android/ims/MmTelFeatureConnection.java18
-rw-r--r--src/java/com/android/ims/rcs/uce/UceDeviceState.java5
-rw-r--r--src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListener.java1
3 files changed, 16 insertions, 8 deletions
diff --git a/src/java/com/android/ims/MmTelFeatureConnection.java b/src/java/com/android/ims/MmTelFeatureConnection.java
index cd8c3f15..3170d413 100644
--- a/src/java/com/android/ims/MmTelFeatureConnection.java
+++ b/src/java/com/android/ims/MmTelFeatureConnection.java
@@ -87,9 +87,10 @@ public class MmTelFeatureConnection extends FeatureConnection {
if (imsRegistration != null) {
try {
imsRegistration.removeRegistrationCallback(localCallback);
- } catch (RemoteException e) {
+ } catch (RemoteException | IllegalStateException e) {
Log.w(TAG + " [" + mSlotId + "]", "ImsRegistrationCallbackAdapter -"
- + " unregisterCallback: couldn't remove registration callback");
+ + " unregisterCallback: couldn't remove registration callback"
+ + " Exception: " + e.getMessage());
}
} else {
Log.e(TAG + " [" + mSlotId + "]", "ImsRegistrationCallbackAdapter: ImsRegistration"
@@ -145,9 +146,9 @@ public class MmTelFeatureConnection extends FeatureConnection {
if (binder != null) {
try {
binder.removeCapabilityCallback(localCallback);
- } catch (RemoteException e) {
+ } catch (RemoteException | IllegalStateException e) {
Log.w(TAG + " [" + mSlotId + "]", "CapabilityCallbackManager, unregister:"
- + " Binder is dead.");
+ + " Binder is dead. Exception: " + e.getMessage());
}
} else {
Log.w(TAG + " [" + mSlotId + "]", "CapabilityCallbackManager, unregister:"
@@ -187,9 +188,9 @@ public class MmTelFeatureConnection extends FeatureConnection {
}
try {
binder.removeImsConfigCallback(localCallback);
- } catch (RemoteException e) {
+ } catch (RemoteException | IllegalStateException e) {
Log.w(TAG + " [" + mSlotId + "]", "ProvisioningCallbackManager - couldn't"
- + " unregister, binder is dead.");
+ + " unregister, binder is dead. Exception: " + e.getMessage());
}
}
}
@@ -322,8 +323,9 @@ public class MmTelFeatureConnection extends FeatureConnection {
mMultiEndpoint.getInterface().setExternalCallStateListener(null);
mMultiEndpoint = new BinderAccessState<>(BinderAccessState.STATE_NOT_SET);
}
- } catch (RemoteException e) {
- Log.w(TAG + " [" + mSlotId + "]", "closeConnection: couldn't remove listeners!");
+ } catch (RemoteException | IllegalStateException e) {
+ Log.w(TAG + " [" + mSlotId + "]", "closeConnection: couldn't remove listeners!" +
+ " Exception: " + e.getMessage());
}
}
}
diff --git a/src/java/com/android/ims/rcs/uce/UceDeviceState.java b/src/java/com/android/ims/rcs/uce/UceDeviceState.java
index 8d4de9f2..93445dbf 100644
--- a/src/java/com/android/ims/rcs/uce/UceDeviceState.java
+++ b/src/java/com/android/ims/rcs/uce/UceDeviceState.java
@@ -297,7 +297,12 @@ public class UceDeviceState {
break;
case NetworkSipCode.SIP_CODE_REQUEST_ENTITY_TOO_LARGE: // sip 413
+ case NetworkSipCode.SIP_CODE_TEMPORARILY_UNAVAILABLE: // sip 480
+ case NetworkSipCode.SIP_CODE_BUSY: // sip 486
+ case NetworkSipCode.SIP_CODE_SERVER_INTERNAL_ERROR: // sip 500
+ case NetworkSipCode.SIP_CODE_SERVICE_UNAVAILABLE: // sip 503
case NetworkSipCode.SIP_CODE_BUSY_EVERYWHERE: // sip 600
+ case NetworkSipCode.SIP_CODE_DECLINE: // sip 603
if (requestType == UceController.REQUEST_TYPE_PUBLISH) {
setDeviceState(DEVICE_STATE_NO_RETRY);
// There is no request retry time for SIP code 413
diff --git a/src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListener.java b/src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListener.java
index d2177eaa..442cf7da 100644
--- a/src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListener.java
+++ b/src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListener.java
@@ -554,6 +554,7 @@ public class DeviceCapabilityListener {
case ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS:
case ProvisioningManager.KEY_VT_PROVISIONING_STATUS:
handleProvisioningChanged();
+ break;
case ProvisioningManager.KEY_RCS_PUBLISH_SOURCE_THROTTLE_MS:
handlePublishThrottleChanged(value);
break;