Merge "remove CallControl#close()"

This commit is contained in:
Thomas Stuart
2023-01-18 22:02:30 +00:00
committed by Android (Google) Code Review
2 changed files with 4 additions and 14 deletions

View File

@@ -41370,8 +41370,7 @@ package android.telecom {
field public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
}
public final class CallControl implements java.lang.AutoCloseable {
method public void close();
public final class CallControl {
method public void disconnect(@NonNull android.telecom.DisconnectCause, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>);
method @NonNull public android.os.ParcelUuid getCallId();
method public void rejectCall(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>);

View File

@@ -21,6 +21,7 @@ import static android.telecom.CallException.TRANSACTION_EXCEPTION_KEY;
import android.annotation.CallbackExecutor;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SuppressLint;
import android.os.Binder;
import android.os.Bundle;
import android.os.OutcomeReceiver;
@@ -45,7 +46,8 @@ import java.util.concurrent.Executor;
* {@link OutcomeReceiver#onError} is called and provides a {@link CallException} that details why
* the operation failed.
*/
public final class CallControl implements AutoCloseable {
@SuppressLint("NotCloseable")
public final class CallControl {
private static final String TAG = CallControl.class.getSimpleName();
private static final String INTERFACE_ERROR_MSG = "Call Control is not available";
private final String mCallId;
@@ -260,17 +262,6 @@ public final class CallControl implements AutoCloseable {
}
}
/**
* This method should be called after
* {@link CallControl#disconnect(DisconnectCause, Executor, OutcomeReceiver)} or
* {@link CallControl#rejectCall(Executor, OutcomeReceiver)}
* to destroy all references of this object and avoid memory leaks.
*/
@Override
public void close() {
mRepository.removeCallFromServiceWrapper(mPhoneAccountHandle, mCallId);
}
/**
* Since {@link OutcomeReceiver}s cannot be passed via AIDL, a ResultReceiver (which can) must
* wrap the Clients {@link OutcomeReceiver} passed in and await for the Telecom Server side