Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d973ac08 authored by Hall Liu's avatar Hall Liu
Browse files

Address API review on CarrierMessagingServiceWrapper

* Rename disposeConnection to disconnect
* Save the instance of Context used to bind the service

Fixes: 176822560
Test: atest CarrierMessagingServiceWrapperTest
Change-Id: I9d9f76033076f7a1261dddbe81429f81b0603bf4
parent 7cdfcd8a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -9464,10 +9464,10 @@ package android.service.carrier {
    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
  }
  public final class CarrierMessagingServiceWrapper {
  public final class CarrierMessagingServiceWrapper implements java.lang.AutoCloseable {
    ctor public CarrierMessagingServiceWrapper();
    method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
    method public void disposeConnection(@NonNull android.content.Context);
    method public void disconnect();
    method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
    method public void receiveSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
    method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+12 −5
Original line number Diff line number Diff line
@@ -48,12 +48,12 @@ import java.util.concurrent.Executor;
 *   // Unable to bind: handle error.
 * }
 * </code>
 * <p> Upon completion {@link #disposeConnection} should be called to unbind the
 * <p> Upon completion {@link #disconnect} should be called to unbind the
 * CarrierMessagingService.
 * @hide
 */
@SystemApi
public final class CarrierMessagingServiceWrapper {
public final class CarrierMessagingServiceWrapper implements AutoCloseable {
    // Populated by bindToCarrierMessagingService. bindToCarrierMessagingService must complete
    // prior to calling disposeConnection so that mCarrierMessagingServiceConnection is initialized.
    private volatile CarrierMessagingServiceConnection mCarrierMessagingServiceConnection;
@@ -61,6 +61,7 @@ public final class CarrierMessagingServiceWrapper {
    private volatile ICarrierMessagingService mICarrierMessagingService;
    private Runnable mOnServiceReadyCallback;
    private Executor mServiceReadyCallbackExecutor;
    private Context mContext;

    /**
     * Binds to the carrier messaging service under package {@code carrierPackageName}. This method
@@ -89,6 +90,7 @@ public final class CarrierMessagingServiceWrapper {
        mCarrierMessagingServiceConnection = new CarrierMessagingServiceConnection();
        mOnServiceReadyCallback = onServiceReadyCallback;
        mServiceReadyCallbackExecutor = executor;
        mContext = context;
        return context.bindService(intent, mCarrierMessagingServiceConnection,
                Context.BIND_AUTO_CREATE);
    }
@@ -96,13 +98,12 @@ public final class CarrierMessagingServiceWrapper {
    /**
     * Unbinds the carrier messaging service. This method should be called exactly once.
     *
     * @param context the context
     * @hide
     */
    @SystemApi
    public void disposeConnection(@NonNull Context context) {
    public void disconnect() {
        Preconditions.checkNotNull(mCarrierMessagingServiceConnection);
        context.unbindService(mCarrierMessagingServiceConnection);
        mContext.unbindService(mCarrierMessagingServiceConnection);
        mCarrierMessagingServiceConnection = null;
        mOnServiceReadyCallback = null;
        mServiceReadyCallbackExecutor = null;
@@ -291,6 +292,12 @@ public final class CarrierMessagingServiceWrapper {
        }
    }

    /** @hide */
    @Override
    public void close() {
        disconnect();
    }

    /**
     * A basic {@link ServiceConnection}.
     */