script-astra/Android/Sdk/sources/android-35/android/telephony/ims/aidl/RcsPublishResponseAidlWrapper.java
localadmin 4380f00a78 init
2025-01-20 18:15:20 +03:00

85 lines
3.0 KiB
Java

/*
* Copyright (c) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.telephony.ims.aidl;
import android.annotation.NonNull;
import android.os.RemoteException;
import android.telephony.ims.ImsException;
import android.telephony.ims.SipDetails;
import android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback;
/**
* Implementation of the callback PublishResponseCallback by wrapping the internal AIDL from
* telephony.
* @hide
*/
public class RcsPublishResponseAidlWrapper implements PublishResponseCallback {
private final IPublishResponseCallback mResponseBinder;
public RcsPublishResponseAidlWrapper(IPublishResponseCallback responseBinder) {
mResponseBinder = responseBinder;
}
@Override
public void onCommandError(int code) throws ImsException {
try {
mResponseBinder.onCommandError(code);
} catch (RemoteException e) {
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
}
}
@Override
@Deprecated
public void onNetworkResponse(int code, String reasonPhrase) throws ImsException {
SipDetails details = new SipDetails.Builder(SipDetails.METHOD_PUBLISH)
.setSipResponseCode(code, reasonPhrase)
.build();
try {
mResponseBinder.onNetworkResponse(details);
} catch (RemoteException e) {
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
}
}
@Override
@Deprecated
public void onNetworkResponse(int code, String reasonPhrase, int reasonHeaderCause,
String reasonHeaderText) throws ImsException {
SipDetails details = new SipDetails.Builder(SipDetails.METHOD_PUBLISH)
.setSipResponseCode(code, reasonPhrase)
.setSipResponseReasonHeader(reasonHeaderCause, reasonHeaderText)
.build();
try {
mResponseBinder.onNetworkResponse(details);
} catch (RemoteException e) {
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
}
}
@Override
public void onNetworkResponse(@NonNull SipDetails details)
throws ImsException {
try {
mResponseBinder.onNetworkResponse(details);
} catch (RemoteException e) {
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
}
}
}