Merge "[RCS UCE] Add a network response with Reason header info callback for the publish request and subscribe request." am: 77c5faf493 am: 09f4410ea2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1570560 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I767ccd1c49323f915b51cfd245eb59d682d52254
This commit is contained in:
@@ -12394,11 +12394,13 @@ package android.telephony.ims.stub {
|
||||
public static interface RcsCapabilityExchangeImplBase.PublishResponseCallback {
|
||||
method public void onCommandError(int) throws android.telephony.ims.ImsException;
|
||||
method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
|
||||
method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
|
||||
}
|
||||
|
||||
public static interface RcsCapabilityExchangeImplBase.SubscribeResponseCallback {
|
||||
method public void onCommandError(int) throws android.telephony.ims.ImsException;
|
||||
method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
|
||||
method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
|
||||
method public void onNotifyCapabilitiesUpdate(@NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
|
||||
method public void onResourceTerminated(@NonNull java.util.List<android.util.Pair<android.net.Uri,java.lang.String>>) throws android.telephony.ims.ImsException;
|
||||
method public void onTerminated(@NonNull String, long) throws android.telephony.ims.ImsException;
|
||||
|
||||
@@ -26,4 +26,5 @@ import java.util.List;
|
||||
oneway interface IPublishResponseCallback {
|
||||
void onCommandError(int code);
|
||||
void onNetworkResponse(int code, String reason);
|
||||
void onNetworkRespHeader(int code, String reasonPhrase, int reasonHeaderCause, String reasonHeaderText);
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ import java.util.Map;
|
||||
oneway interface ISubscribeResponseCallback {
|
||||
void onCommandError(int code);
|
||||
void onNetworkResponse(int code, in String reason);
|
||||
void onNetworkRespHeader(int code, String reasonPhrase, int reasonHeaderCause, String reasonHeaderText);
|
||||
void onNotifyCapabilitiesUpdate(in List<String> pidfXmls);
|
||||
void onResourceTerminated(in List<RcsContactTerminatedReason> uriTerminatedReason);
|
||||
void onTerminated(in String reason, long retryAfterMilliseconds);
|
||||
|
||||
@@ -34,10 +34,11 @@ public class RcsPublishResponseAidlWrapper implements PublishResponseCallback {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCommandError(int code) {
|
||||
public void onCommandError(int code) throws ImsException {
|
||||
try {
|
||||
mResponseBinder.onCommandError(code);
|
||||
} catch (RemoteException e) {
|
||||
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +47,18 @@ public class RcsPublishResponseAidlWrapper implements PublishResponseCallback {
|
||||
try {
|
||||
mResponseBinder.onNetworkResponse(code, reason);
|
||||
} catch (RemoteException e) {
|
||||
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNetworkResponse(int code, String reasonPhrase, int reasonHeaderCause,
|
||||
String reasonHeaderText) throws ImsException {
|
||||
try {
|
||||
mResponseBinder.onNetworkRespHeader(code, reasonPhrase, reasonHeaderCause,
|
||||
reasonHeaderText);
|
||||
} catch (RemoteException e) {
|
||||
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,10 +40,11 @@ public class RcsSubscribeResponseAidlWrapper implements SubscribeResponseCallbac
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCommandError(int code) {
|
||||
public void onCommandError(int code) throws ImsException {
|
||||
try {
|
||||
mResponseBinder.onCommandError(code);
|
||||
} catch (RemoteException e) {
|
||||
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +53,18 @@ public class RcsSubscribeResponseAidlWrapper implements SubscribeResponseCallbac
|
||||
try {
|
||||
mResponseBinder.onNetworkResponse(code, reason);
|
||||
} catch (RemoteException e) {
|
||||
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNetworkResponse(int code, String reasonPhrase, int reasonHeaderCause,
|
||||
String reasonHeaderText) throws ImsException {
|
||||
try {
|
||||
mResponseBinder.onNetworkRespHeader(code, reasonPhrase, reasonHeaderCause,
|
||||
reasonHeaderText);
|
||||
} catch (RemoteException e) {
|
||||
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +73,7 @@ public class RcsSubscribeResponseAidlWrapper implements SubscribeResponseCallbac
|
||||
try {
|
||||
mResponseBinder.onNotifyCapabilitiesUpdate(pidfXmls);
|
||||
} catch (RemoteException e) {
|
||||
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,6 +83,7 @@ public class RcsSubscribeResponseAidlWrapper implements SubscribeResponseCallbac
|
||||
try {
|
||||
mResponseBinder.onResourceTerminated(getTerminatedReasonList(uriTerminatedReason));
|
||||
} catch (RemoteException e) {
|
||||
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,6 +105,7 @@ public class RcsSubscribeResponseAidlWrapper implements SubscribeResponseCallbac
|
||||
try {
|
||||
mResponseBinder.onTerminated(reason, retryAfterMilliseconds);
|
||||
} catch (RemoteException e) {
|
||||
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,6 +140,9 @@ public class RcsCapabilityExchangeImplBase {
|
||||
* Provide the framework with a subsequent network response update to
|
||||
* {@link #publishCapabilities(String, PublishResponseCallback)}.
|
||||
*
|
||||
* If this network response also contains a “Reason” header, then the
|
||||
* {@link onNetworkResponse(int, String, int, String)} method should be used instead.
|
||||
*
|
||||
* @param sipCode The SIP response code sent from the network for the operation
|
||||
* token specified.
|
||||
* @param reason The optional reason response from the network. If there is a reason header
|
||||
@@ -154,6 +157,31 @@ public class RcsCapabilityExchangeImplBase {
|
||||
*/
|
||||
void onNetworkResponse(@IntRange(from = 100, to = 699) int sipCode,
|
||||
@NonNull String reason) throws ImsException;
|
||||
|
||||
/**
|
||||
* Provide the framework with a subsequent network response update to
|
||||
* {@link #publishCapabilities(RcsContactUceCapability, int)} that also
|
||||
* includes a reason provided in the “reason” header. See RFC3326 for more
|
||||
* information.
|
||||
*
|
||||
* @param sipCode The SIP response code sent from the network.
|
||||
* @param reasonPhrase The optional reason response from the network. If the
|
||||
* network provided no reason with the sip code, the string should be empty.
|
||||
* @param reasonHeaderCause The “cause” parameter of the “reason” header
|
||||
* included in the SIP message.
|
||||
* @param reasonHeaderText The “text” parameter of the “reason” header
|
||||
* included in the SIP message.
|
||||
* @throws ImsException If this {@link RcsCapabilityExchangeImplBase} instance is
|
||||
* not currently connected to the framework. This can happen if the
|
||||
* {@link RcsFeature} is not
|
||||
* {@link ImsFeature#STATE_READY} and the {@link RcsFeature} has not received
|
||||
* the {@link ImsFeature#onFeatureReady()} callback. This may also happen in
|
||||
* rare cases when the Telephony stack has crashed.
|
||||
*/
|
||||
void onNetworkResponse(@IntRange(from = 100, to = 699) int sipCode,
|
||||
@NonNull String reasonPhrase,
|
||||
@IntRange(from = 100, to = 699) int reasonHeaderCause,
|
||||
@NonNull String reasonHeaderText) throws ImsException;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -222,6 +250,9 @@ public class RcsCapabilityExchangeImplBase {
|
||||
* {@link #onResourceTerminated}, and {@link #onTerminated} as required for the
|
||||
* subsequent NOTIFY responses to the subscription.
|
||||
*
|
||||
* If this network response also contains a “Reason” header, then the
|
||||
* {@link onNetworkResponse(int, String, int, String)} method should be used instead.
|
||||
*
|
||||
* @param sipCode The SIP response code sent from the network for the operation
|
||||
* token specified.
|
||||
* @param reason The optional reason response from the network. If the network
|
||||
@@ -235,6 +266,31 @@ public class RcsCapabilityExchangeImplBase {
|
||||
void onNetworkResponse(@IntRange(from = 100, to = 699) int sipCode,
|
||||
@NonNull String reason) throws ImsException;
|
||||
|
||||
/**
|
||||
* Notify the framework of the response to the SUBSCRIBE request from
|
||||
* {@link #subscribeForCapabilities(RcsContactUceCapability, int)} that also
|
||||
* includes a reason provided in the “reason” header. See RFC3326 for more
|
||||
* information.
|
||||
*
|
||||
* @param sipCode The SIP response code sent from the network,
|
||||
* @param reasonPhrase The optional reason response from the network. If the
|
||||
* network provided no reason with the sip code, the string should be empty.
|
||||
* @param reasonHeaderCause The “cause” parameter of the “reason” header
|
||||
* included in the SIP message.
|
||||
* @param reasonHeaderText The “text” parameter of the “reason” header
|
||||
* included in the SIP message.
|
||||
* @throws ImsException If this {@link RcsCapabilityExchangeImplBase} instance is
|
||||
* not currently connected to the framework. This can happen if the
|
||||
* {@link RcsFeature} is not
|
||||
* {@link ImsFeature#STATE_READY} and the {@link RcsFeature} has not received
|
||||
* the {@link ImsFeature#onFeatureReady()} callback. This may also happen in
|
||||
* rare cases when the Telephony stack has crashed.
|
||||
*/
|
||||
void onNetworkResponse(@IntRange(from = 100, to = 699) int sipCode,
|
||||
@NonNull String reasonPhrase,
|
||||
@IntRange(from = 100, to = 699) int reasonHeaderCause,
|
||||
@NonNull String reasonHeaderText) throws ImsException;
|
||||
|
||||
/**
|
||||
* Notify the framework of the latest XML PIDF documents included in the network response
|
||||
* for the requested contacts' capabilities requested by the Framework using
|
||||
|
||||
Reference in New Issue
Block a user