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

Commit e6758b9e authored by Hall Liu's avatar Hall Liu Committed by Android (Google) Code Review
Browse files

Merge "Address API review on CarrierMessagingServiceWrapper"

parents b074f7a0 d973ac08
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -9546,10 +9546,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}.
     */