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

Commit c26dc202 authored by Sarah Chin's avatar Sarah Chin Committed by Android (Google) Code Review
Browse files

Merge "Make MmsManager public"

parents b2ec442f 0339a82c
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -9998,6 +9998,7 @@ package android.content {
    field public static final String MEDIA_ROUTER_SERVICE = "media_router";
    field public static final String MEDIA_SESSION_SERVICE = "media_session";
    field public static final String MIDI_SERVICE = "midi";
    field public static final String MMS_SERVICE = "mms";
    field public static final int MODE_APPEND = 32768; // 0x8000
    field public static final int MODE_ENABLE_WRITE_AHEAD_LOGGING = 8; // 0x8
    field @Deprecated public static final int MODE_MULTI_PROCESS = 4; // 0x4
@@ -45501,6 +45502,11 @@ package android.telephony {
    method @Nullable public android.telephony.mbms.StreamingService startStreaming(android.telephony.mbms.StreamingServiceInfo, @NonNull java.util.concurrent.Executor, android.telephony.mbms.StreamingServiceCallback);
  }
  public final class MmsManager {
    method public void downloadMultimediaMessage(int, @NonNull String, @NonNull android.net.Uri, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent);
    method public void sendMultimediaMessage(int, @NonNull android.net.Uri, @Nullable String, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent);
  }
  @Deprecated public class NeighboringCellInfo implements android.os.Parcelable {
    ctor @Deprecated public NeighboringCellInfo();
    ctor @Deprecated public NeighboringCellInfo(int, int);
@@ -45737,8 +45743,8 @@ package android.telephony {
    method public String createAppSpecificSmsToken(android.app.PendingIntent);
    method @Nullable public String createAppSpecificSmsTokenWithPackageInfo(@Nullable String, @NonNull android.app.PendingIntent);
    method public java.util.ArrayList<java.lang.String> divideMessage(String);
    method public void downloadMultimediaMessage(android.content.Context, String, android.net.Uri, android.os.Bundle, android.app.PendingIntent);
    method @Nullable public android.os.Bundle getCarrierConfigValues();
    method @Deprecated public void downloadMultimediaMessage(android.content.Context, String, android.net.Uri, android.os.Bundle, android.app.PendingIntent);
    method @NonNull public android.os.Bundle getCarrierConfigValues();
    method public static android.telephony.SmsManager getDefault();
    method public static int getDefaultSmsSubscriptionId();
    method public static android.telephony.SmsManager getSmsManagerForSubscriptionId(int);
@@ -45747,7 +45753,7 @@ package android.telephony {
    method public int getSubscriptionId();
    method public void injectSmsPdu(byte[], String, android.app.PendingIntent);
    method public void sendDataMessage(String, String, short, byte[], android.app.PendingIntent, android.app.PendingIntent);
    method public void sendMultimediaMessage(android.content.Context, android.net.Uri, String, android.os.Bundle, android.app.PendingIntent);
    method @Deprecated public void sendMultimediaMessage(android.content.Context, android.net.Uri, String, android.os.Bundle, android.app.PendingIntent);
    method public void sendMultipartTextMessage(String, String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>);
    method public void sendTextMessage(String, String, String, android.app.PendingIntent, android.app.PendingIntent);
    method @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.SEND_SMS}) public void sendTextMessageWithoutPersisting(String, String, String, android.app.PendingIntent, android.app.PendingIntent);
+12 −0
Original line number Diff line number Diff line
@@ -3391,6 +3391,7 @@ public abstract class Context {
            TELEPHONY_SUBSCRIPTION_SERVICE,
            CARRIER_CONFIG_SERVICE,
            EUICC_SERVICE,
            MMS_SERVICE,
            TELECOM_SERVICE,
            CLIPBOARD_SERVICE,
            INPUT_METHOD_SERVICE,
@@ -3587,6 +3588,8 @@ public abstract class Context {
     * @see android.telephony.CarrierConfigManager
     * @see #EUICC_SERVICE
     * @see android.telephony.euicc.EuiccManager
     * @see #MMS_SERVICE
     * @see android.telephony.MmsManager
     * @see #INPUT_METHOD_SERVICE
     * @see android.view.inputmethod.InputMethodManager
     * @see #UI_MODE_SERVICE
@@ -4261,6 +4264,15 @@ public abstract class Context {
    @SystemApi
    public static final String EUICC_CARD_SERVICE = "euicc_card";

    /**
     * Use with {@link #getSystemService(String)} to retrieve a
     * {@link android.telephony.MmsManager} to send/receive MMS messages.
     *
     * @see #getSystemService(String)
     * @see android.telephony.MmsManager
     */
    public static final String MMS_SERVICE = "mms";

    /**
     * Use with {@link #getSystemService(String)} to retrieve a
     * {@link android.content.ClipboardManager} for accessing and modifying
+14 −15
Original line number Diff line number Diff line
@@ -16,8 +16,11 @@

package android.telephony;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityThread;
import android.app.PendingIntent;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.os.RemoteException;
@@ -27,22 +30,16 @@ import com.android.internal.telephony.IMms;

/**
 * Manages MMS operations such as sending multimedia messages.
 * Get this object by calling the static method {@link #getInstance()}.
 * @hide
 */
public class MmsManager {
public final class MmsManager {
    private static final String TAG = "MmsManager";

    /** Singleton object constructed during class initialization. */
    private static final MmsManager sInstance = new MmsManager();
    private final Context mContext;

    /**
     * Get the MmsManager singleton instance.
     *
     * @return the {@link MmsManager} singleton instance.
     * @hide
     */
    public static MmsManager getInstance() {
        return sInstance;
    public MmsManager(@NonNull Context context) {
        mContext = context;
    }

    /**
@@ -56,8 +53,9 @@ public class MmsManager {
     * @param sentIntent if not NULL this <code>PendingIntent</code> is broadcast when the message
     *                   is successfully sent, or failed
     */
    public void sendMultimediaMessage(int subId, Uri contentUri, String locationUrl,
            Bundle configOverrides, PendingIntent sentIntent) {
    public void sendMultimediaMessage(int subId, @NonNull Uri contentUri,
            @Nullable String locationUrl, @Nullable Bundle configOverrides,
            @Nullable PendingIntent sentIntent) {
        try {
            final IMms iMms = IMms.Stub.asInterface(ServiceManager.getService("imms"));
            if (iMms == null) {
@@ -84,8 +82,9 @@ public class MmsManager {
     *  broadcast when the message is downloaded, or the download is failed
     * @throws IllegalArgumentException if locationUrl or contentUri is empty
     */
    public void downloadMultimediaMessage(int subId, String locationUrl, Uri contentUri,
            Bundle configOverrides, PendingIntent downloadedIntent) {
    public void downloadMultimediaMessage(int subId, @NonNull String locationUrl,
            @NonNull Uri contentUri, @Nullable Bundle configOverrides,
            @Nullable PendingIntent downloadedIntent) {
        try {
            final IMms iMms = IMms.Stub.asInterface(ServiceManager.getService("imms"));
            if (iMms == null) {
+15 −7
Original line number Diff line number Diff line
@@ -2448,14 +2448,18 @@ public final class SmsManager {
     * @param sentIntent if not NULL this <code>PendingIntent</code> is
     *  broadcast when the message is successfully sent, or failed
     * @throws IllegalArgumentException if contentUri is empty
     * @deprecated use {@link MmsManager#sendMultimediaMessage} instead.
     */
    public void sendMultimediaMessage(Context context, Uri contentUri, String locationUrl,
            Bundle configOverrides, PendingIntent sentIntent) {
        if (contentUri == null) {
            throw new IllegalArgumentException("Uri contentUri null");
        }
        MmsManager.getInstance().sendMultimediaMessage(getSubscriptionId(), contentUri,
                    locationUrl, configOverrides, sentIntent);
        MmsManager m = (MmsManager) context.getSystemService(Context.MMS_SERVICE);
        if (m != null) {
            m.sendMultimediaMessage(getSubscriptionId(), contentUri, locationUrl, configOverrides,
                    sentIntent);
        }
    }

    /**
@@ -2479,6 +2483,7 @@ public final class SmsManager {
     * @param downloadedIntent if not NULL this <code>PendingIntent</code> is
     *  broadcast when the message is downloaded, or the download is failed
     * @throws IllegalArgumentException if locationUrl or contentUri is empty
     * @deprecated use {@link MmsManager#downloadMultimediaMessage} instead.
     */
    public void downloadMultimediaMessage(Context context, String locationUrl, Uri contentUri,
            Bundle configOverrides, PendingIntent downloadedIntent) {
@@ -2488,8 +2493,11 @@ public final class SmsManager {
        if (contentUri == null) {
            throw new IllegalArgumentException("Uri contentUri null");
        }
        MmsManager.getInstance().downloadMultimediaMessage(getSubscriptionId(), locationUrl,
                contentUri, configOverrides, downloadedIntent);
        MmsManager m = (MmsManager) context.getSystemService(Context.MMS_SERVICE);
        if (m != null) {
            m.downloadMultimediaMessage(getSubscriptionId(), locationUrl, contentUri,
                    configOverrides, downloadedIntent);
        }
    }

    // MMS send/download failure result codes
@@ -2531,9 +2539,9 @@ public final class SmsManager {
     * </p>
     *
     * @return the bundle key/values pairs that contains MMS configuration values
     *  or an empty bundle if they cannot be found.
     */
    @Nullable
    public Bundle getCarrierConfigValues() {
    @NonNull public Bundle getCarrierConfigValues() {
        try {
            ISms iSms = getISmsService();
            if (iSms != null) {
@@ -2542,7 +2550,7 @@ public final class SmsManager {
        } catch (RemoteException ex) {
            // ignore it
        }
        return null;
        return new Bundle();
    }

    /**