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

Commit ca9eed43 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add VisualVoicemailService"

parents f963b74e 485d6dec
Loading
Loading
Loading
Loading
+49 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ package android {
    field public static final java.lang.String BIND_TELECOM_CONNECTION_SERVICE = "android.permission.BIND_TELECOM_CONNECTION_SERVICE";
    field public static final java.lang.String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
    field public static final java.lang.String BIND_TV_INPUT = "android.permission.BIND_TV_INPUT";
    field public static final java.lang.String BIND_VISUAL_VOICEMAIL_SERVICE = "android.permission.BIND_VISUAL_VOICEMAIL_SERVICE";
    field public static final java.lang.String BIND_VOICE_INTERACTION = "android.permission.BIND_VOICE_INTERACTION";
    field public static final java.lang.String BIND_VPN_SERVICE = "android.permission.BIND_VPN_SERVICE";
    field public static final java.lang.String BIND_VR_LISTENER_SERVICE = "android.permission.BIND_VR_LISTENER_SERVICE";
@@ -38153,6 +38154,54 @@ package android.telephony {
    method public void onReceiveUssdResponseFailed(java.lang.String, int);
  }
  public abstract class VisualVoicemailService extends android.app.Service {
    ctor public VisualVoicemailService();
    method public android.os.IBinder onBind(android.content.Intent);
    method public abstract void onCellServiceConnected(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telecom.PhoneAccountHandle);
    method public abstract void onSimRemoved(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telecom.PhoneAccountHandle);
    method public abstract void onSmsReceived(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telephony.VisualVoicemailSms);
    method public abstract void onStopped(android.telephony.VisualVoicemailService.VisualVoicemailTask);
    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, java.lang.String, short, java.lang.String, android.app.PendingIntent);
    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
    field public static final java.lang.String SERVICE_INTERFACE = "android.telephony.VisualVoicemailService";
  }
  public static class VisualVoicemailService.VisualVoicemailTask {
    method public final void finish();
  }
  public final class VisualVoicemailSms implements android.os.Parcelable {
    method public int describeContents();
    method public android.os.Bundle getFields();
    method public java.lang.String getMessageBody();
    method public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
    method public java.lang.String getPrefix();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSms> CREATOR;
  }
  public final class VisualVoicemailSmsFilterSettings implements android.os.Parcelable {
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSmsFilterSettings> CREATOR;
    field public static final java.lang.String DEFAULT_CLIENT_PREFIX = "//VVM";
    field public static final int DEFAULT_DESTINATION_PORT = -1; // 0xffffffff
    field public static final java.util.List<java.lang.String> DEFAULT_ORIGINATING_NUMBERS;
    field public static final int DESTINATION_PORT_ANY = -1; // 0xffffffff
    field public static final int DESTINATION_PORT_DATA_SMS = -2; // 0xfffffffe
    field public final java.lang.String clientPrefix;
    field public final int destinationPort;
    field public final java.util.List<java.lang.String> originatingNumbers;
  }
  public static class VisualVoicemailSmsFilterSettings.Builder {
    ctor public VisualVoicemailSmsFilterSettings.Builder();
    method public android.telephony.VisualVoicemailSmsFilterSettings build();
    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setClientPrefix(java.lang.String);
    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setDestinationPort(int);
    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setOriginatingNumbers(java.util.List<java.lang.String>);
  }
}
package android.telephony.cdma {
+49 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ package android {
    field public static final java.lang.String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
    field public static final java.lang.String BIND_TV_INPUT = "android.permission.BIND_TV_INPUT";
    field public static final java.lang.String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
    field public static final java.lang.String BIND_VISUAL_VOICEMAIL_SERVICE = "android.permission.BIND_VISUAL_VOICEMAIL_SERVICE";
    field public static final java.lang.String BIND_VOICE_INTERACTION = "android.permission.BIND_VOICE_INTERACTION";
    field public static final java.lang.String BIND_VPN_SERVICE = "android.permission.BIND_VPN_SERVICE";
    field public static final java.lang.String BIND_VR_LISTENER_SERVICE = "android.permission.BIND_VR_LISTENER_SERVICE";
@@ -41331,6 +41332,54 @@ package android.telephony {
    method public void onReceiveUssdResponseFailed(java.lang.String, int);
  }
  public abstract class VisualVoicemailService extends android.app.Service {
    ctor public VisualVoicemailService();
    method public android.os.IBinder onBind(android.content.Intent);
    method public abstract void onCellServiceConnected(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telecom.PhoneAccountHandle);
    method public abstract void onSimRemoved(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telecom.PhoneAccountHandle);
    method public abstract void onSmsReceived(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telephony.VisualVoicemailSms);
    method public abstract void onStopped(android.telephony.VisualVoicemailService.VisualVoicemailTask);
    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, java.lang.String, short, java.lang.String, android.app.PendingIntent);
    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
    field public static final java.lang.String SERVICE_INTERFACE = "android.telephony.VisualVoicemailService";
  }
  public static class VisualVoicemailService.VisualVoicemailTask {
    method public final void finish();
  }
  public final class VisualVoicemailSms implements android.os.Parcelable {
    method public int describeContents();
    method public android.os.Bundle getFields();
    method public java.lang.String getMessageBody();
    method public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
    method public java.lang.String getPrefix();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSms> CREATOR;
  }
  public final class VisualVoicemailSmsFilterSettings implements android.os.Parcelable {
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSmsFilterSettings> CREATOR;
    field public static final java.lang.String DEFAULT_CLIENT_PREFIX = "//VVM";
    field public static final int DEFAULT_DESTINATION_PORT = -1; // 0xffffffff
    field public static final java.util.List<java.lang.String> DEFAULT_ORIGINATING_NUMBERS;
    field public static final int DESTINATION_PORT_ANY = -1; // 0xffffffff
    field public static final int DESTINATION_PORT_DATA_SMS = -2; // 0xfffffffe
    field public final java.lang.String clientPrefix;
    field public final int destinationPort;
    field public final java.util.List<java.lang.String> originatingNumbers;
  }
  public static class VisualVoicemailSmsFilterSettings.Builder {
    ctor public VisualVoicemailSmsFilterSettings.Builder();
    method public android.telephony.VisualVoicemailSmsFilterSettings build();
    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setClientPrefix(java.lang.String);
    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setDestinationPort(int);
    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setOriginatingNumbers(java.util.List<java.lang.String>);
  }
}
package android.telephony.cdma {
+49 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ package android {
    field public static final java.lang.String BIND_TELECOM_CONNECTION_SERVICE = "android.permission.BIND_TELECOM_CONNECTION_SERVICE";
    field public static final java.lang.String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
    field public static final java.lang.String BIND_TV_INPUT = "android.permission.BIND_TV_INPUT";
    field public static final java.lang.String BIND_VISUAL_VOICEMAIL_SERVICE = "android.permission.BIND_VISUAL_VOICEMAIL_SERVICE";
    field public static final java.lang.String BIND_VOICE_INTERACTION = "android.permission.BIND_VOICE_INTERACTION";
    field public static final java.lang.String BIND_VPN_SERVICE = "android.permission.BIND_VPN_SERVICE";
    field public static final java.lang.String BIND_VR_LISTENER_SERVICE = "android.permission.BIND_VR_LISTENER_SERVICE";
@@ -38271,6 +38272,54 @@ package android.telephony {
    method public void onReceiveUssdResponseFailed(java.lang.String, int);
  }
  public abstract class VisualVoicemailService extends android.app.Service {
    ctor public VisualVoicemailService();
    method public android.os.IBinder onBind(android.content.Intent);
    method public abstract void onCellServiceConnected(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telecom.PhoneAccountHandle);
    method public abstract void onSimRemoved(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telecom.PhoneAccountHandle);
    method public abstract void onSmsReceived(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telephony.VisualVoicemailSms);
    method public abstract void onStopped(android.telephony.VisualVoicemailService.VisualVoicemailTask);
    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, java.lang.String, short, java.lang.String, android.app.PendingIntent);
    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
    field public static final java.lang.String SERVICE_INTERFACE = "android.telephony.VisualVoicemailService";
  }
  public static class VisualVoicemailService.VisualVoicemailTask {
    method public final void finish();
  }
  public final class VisualVoicemailSms implements android.os.Parcelable {
    method public int describeContents();
    method public android.os.Bundle getFields();
    method public java.lang.String getMessageBody();
    method public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
    method public java.lang.String getPrefix();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSms> CREATOR;
  }
  public final class VisualVoicemailSmsFilterSettings implements android.os.Parcelable {
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSmsFilterSettings> CREATOR;
    field public static final java.lang.String DEFAULT_CLIENT_PREFIX = "//VVM";
    field public static final int DEFAULT_DESTINATION_PORT = -1; // 0xffffffff
    field public static final java.util.List<java.lang.String> DEFAULT_ORIGINATING_NUMBERS;
    field public static final int DESTINATION_PORT_ANY = -1; // 0xffffffff
    field public static final int DESTINATION_PORT_DATA_SMS = -2; // 0xfffffffe
    field public final java.lang.String clientPrefix;
    field public final int destinationPort;
    field public final java.util.List<java.lang.String> originatingNumbers;
  }
  public static class VisualVoicemailSmsFilterSettings.Builder {
    ctor public VisualVoicemailSmsFilterSettings.Builder();
    method public android.telephony.VisualVoicemailSmsFilterSettings build();
    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setClientPrefix(java.lang.String);
    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setDestinationPort(int);
    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setOriginatingNumbers(java.util.List<java.lang.String>);
  }
}
package android.telephony.cdma {
+4 −43
Original line number Diff line number Diff line
@@ -106,15 +106,7 @@ public class VoicemailContract {

    /**
     * Broadcast intent to inform a new visual voicemail SMS has been received. This intent will
     * only be delivered to the voicemail client. The intent will have the following extra values:
     *
     * <ul>
     *   <li><em>{@link #EXTRA_VOICEMAIL_SMS_TYPE}</em> - (String) The event type of the SMS. Common
     *   values are "SYNC" or "STATUS"</li>
     *   <li><em>{@link #EXTRA_VOICEMAIL_SMS_DATA}</em> - (Bundle) The fields sent by the SMS</li>
     *   <li><em>{@link #EXTRA_VOICEMAIL_SMS_SUBID}</em> - (Integer) The subscription ID of the
     *   phone account that received the SMS</li>
     * </ul>
     * only be delivered to the telephony service. {@link #EXTRA_VOICEMAIL_SMS} will be included.
     */
    /** @hide */
    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
@@ -122,42 +114,11 @@ public class VoicemailContract {
            "android.intent.action.VOICEMAIL_SMS_RECEIVED";

    /**
     * Optional extra included in {@link #ACTION_VOICEMAIL_SMS_RECEIVED} broadcast intents to
     * indicate the event type of the SMS. Common values are "SYNC" or "STATUS". The extra will not
     * exist if the framework cannot parse the SMS as voicemail but the carrier pattern indicates
     * it is.
     */
    /** @hide */
    public static final String EXTRA_VOICEMAIL_SMS_PREFIX =
            "com.android.voicemail.extra.VOICEMAIL_SMS_PREFIX";

    /**
     * Optional extra included in {@link #ACTION_VOICEMAIL_SMS_RECEIVED} broadcast intents to
     * indicate the fields sent by the SMS. The extra will not exist if the framework cannot
     * parse the SMS as voicemail but the carrier pattern indicates it is.
     */
    /** @hide */
    public static final String EXTRA_VOICEMAIL_SMS_FIELDS =
            "com.android.voicemail.extra.VOICEMAIL_SMS_FIELDS";

    /**
     * Extra included in {@link #ACTION_VOICEMAIL_SMS_RECEIVED} broadcast intents to indicate the
     * message body of the SMS. This extra is included if the framework cannot
     * parse the SMS as voicemail but the carrier pattern indicates it is.
     */
    /**
     * Extra in {@link #ACTION_VOICEMAIL_SMS_RECEIVED} indicating the content of the SMS.
     *
     * @hide
     */
    public static final String EXTRA_VOICEMAIL_SMS_MESSAGE_BODY =
        "com.android.voicemail.extra.VOICEMAIL_SMS_MESSAGE_BODY";

    /**
     * Extra included in {@link #ACTION_VOICEMAIL_SMS_RECEIVED} broadcast intents to indicate he
     * subscription ID of the phone account that received the SMS.
     */
    /** @hide */
    public static final String EXTRA_VOICEMAIL_SMS_SUBID =
            "com.android.voicemail.extra.VOICEMAIL_SMS_SUBID";
    public static final String EXTRA_VOICEMAIL_SMS = "android.provider.extra.VOICEMAIL_SMS";

    /**
     * Extra included in {@link Intent#ACTION_PROVIDER_CHANGED} broadcast intents to indicate if the
+8 −0
Original line number Diff line number Diff line
@@ -1546,6 +1546,14 @@
    <permission android:name="android.permission.BIND_INCALL_SERVICE"
        android:protectionLevel="signature|privileged" />

    <!-- Must be required by a link {@link android.telephony.VisualVoicemailService} to ensure that
         only the system can bind to it.
         <p>Protection level: signature|privileged
    -->
    <permission
      android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
      android:protectionLevel="signature|privileged"/>

    <!-- Must be required by a {@link android.telecom.CallScreeningService},
         to ensure that only the system can bind to it.
         <p>Protection level: signature|privileged
Loading