Merge "Move sendVisualVoicemailSms and setSmsFilterSettings to Telephony" into oc-dev

This commit is contained in:
TreeHugger Robot
2017-04-25 02:55:14 +00:00
committed by Android (Google) Code Review
6 changed files with 67 additions and 8 deletions

View File

@@ -40237,10 +40237,12 @@ package android.telephony {
method public void sendDialerSpecialCode(java.lang.String); method public void sendDialerSpecialCode(java.lang.String);
method public java.lang.String sendEnvelopeWithStatus(java.lang.String); method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler); method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
method public void sendVisualVoicemailSms(java.lang.String, int, java.lang.String, android.app.PendingIntent);
method public void setDataEnabled(boolean); method public void setDataEnabled(boolean);
method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String); method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
method public boolean setOperatorBrandOverride(java.lang.String); method public boolean setOperatorBrandOverride(java.lang.String);
method public boolean setPreferredNetworkTypeToGlobal(); method public boolean setPreferredNetworkTypeToGlobal();
method public void setVisualVoicemailSmsFilterSettings(android.telephony.VisualVoicemailSmsFilterSettings);
method public boolean setVoiceMailNumber(java.lang.String, java.lang.String); method public boolean setVoiceMailNumber(java.lang.String, java.lang.String);
method public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri); method public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri);
method public void setVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle, boolean); method public void setVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle, boolean);
@@ -40331,8 +40333,6 @@ package android.telephony {
method public abstract void onSimRemoved(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 onSmsReceived(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telephony.VisualVoicemailSms);
method public abstract void onStopped(android.telephony.VisualVoicemailService.VisualVoicemailTask); 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"; field public static final java.lang.String SERVICE_INTERFACE = "android.telephony.VisualVoicemailService";
} }

View File

@@ -43767,6 +43767,7 @@ package android.telephony {
method public void sendDialerSpecialCode(java.lang.String); method public void sendDialerSpecialCode(java.lang.String);
method public java.lang.String sendEnvelopeWithStatus(java.lang.String); method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler); method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
method public void sendVisualVoicemailSms(java.lang.String, int, java.lang.String, android.app.PendingIntent);
method public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>); method public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
method public void setDataEnabled(boolean); method public void setDataEnabled(boolean);
method public void setDataEnabled(int, boolean); method public void setDataEnabled(int, boolean);
@@ -43776,6 +43777,7 @@ package android.telephony {
method public boolean setRadio(boolean); method public boolean setRadio(boolean);
method public boolean setRadioPower(boolean); method public boolean setRadioPower(boolean);
method public deprecated void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean); method public deprecated void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
method public void setVisualVoicemailSmsFilterSettings(android.telephony.VisualVoicemailSmsFilterSettings);
method public boolean setVoiceMailNumber(java.lang.String, java.lang.String); method public boolean setVoiceMailNumber(java.lang.String, java.lang.String);
method public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri); method public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri);
method public void setVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle, boolean); method public void setVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle, boolean);

View File

@@ -40432,10 +40432,12 @@ package android.telephony {
method public void sendDialerSpecialCode(java.lang.String); method public void sendDialerSpecialCode(java.lang.String);
method public java.lang.String sendEnvelopeWithStatus(java.lang.String); method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler); method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
method public void sendVisualVoicemailSms(java.lang.String, int, java.lang.String, android.app.PendingIntent);
method public void setDataEnabled(boolean); method public void setDataEnabled(boolean);
method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String); method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
method public boolean setOperatorBrandOverride(java.lang.String); method public boolean setOperatorBrandOverride(java.lang.String);
method public boolean setPreferredNetworkTypeToGlobal(); method public boolean setPreferredNetworkTypeToGlobal();
method public void setVisualVoicemailSmsFilterSettings(android.telephony.VisualVoicemailSmsFilterSettings);
method public boolean setVoiceMailNumber(java.lang.String, java.lang.String); method public boolean setVoiceMailNumber(java.lang.String, java.lang.String);
method public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri); method public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri);
method public void setVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle, boolean); method public void setVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle, boolean);
@@ -40526,8 +40528,6 @@ package android.telephony {
method public abstract void onSimRemoved(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 onSmsReceived(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telephony.VisualVoicemailSms);
method public abstract void onStopped(android.telephony.VisualVoicemailService.VisualVoicemailTask); 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"; field public static final java.lang.String SERVICE_INTERFACE = "android.telephony.VisualVoicemailService";
} }

View File

@@ -45,6 +45,7 @@ import android.provider.Settings.SettingNotFoundException;
import android.service.carrier.CarrierIdentifier; import android.service.carrier.CarrierIdentifier;
import android.telecom.PhoneAccount; import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle; import android.telecom.PhoneAccountHandle;
import android.telephony.VisualVoicemailService.VisualVoicemailTask;
import android.telephony.ims.feature.ImsFeature; import android.telephony.ims.feature.ImsFeature;
import android.util.Log; import android.util.Log;
@@ -2773,6 +2774,54 @@ public class TelephonyManager {
return null; return null;
} }
/**
* Set the visual voicemail SMS filter settings for the subscription ID pinned
* to the TelephonyManager.
* When the filter is enabled, {@link
* VisualVoicemailService#onSmsReceived(VisualVoicemailTask, VisualVoicemailSms)} will be
* called when a SMS matching the settings is received. The caller should have
* {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} and implement a
* VisualVoicemailService.
*
* <p>Requires Permission:
* {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*
* @param settings The settings for the filter, or {@code null} to disable the filter.
*/
public void setVisualVoicemailSmsFilterSettings(VisualVoicemailSmsFilterSettings settings) {
if (settings == null) {
disableVisualVoicemailSmsFilter(mSubId);
} else {
enableVisualVoicemailSmsFilter(mSubId, settings);
}
}
/**
* Send a visual voicemail SMS. The caller must be the current default dialer.
* A {@link VisualVoicemailService} uses this method to send a command via SMS to the carrier's
* visual voicemail server. Some examples for carriers using the OMTP standard include
* activating and deactivating visual voicemail, or requesting the current visual voicemail
* provisioning status. See the OMTP Visual Voicemail specification for more information on the
* format of these SMS messages.
*
* <p>Requires Permission:
* {@link android.Manifest.permission#SEND_SMS SEND_SMS}
*
* @param number The destination number.
* @param port The destination port for data SMS, or 0 for text SMS.
* @param text The message content. For data sms, it will be encoded as a UTF-8 byte stream.
* @param sentIntent The sent intent passed to the {@link SmsManager}
*
* @throws SecurityException if the caller is not the current default dialer
*
* @see SmsManager#sendDataMessage(String, String, short, byte[], PendingIntent, PendingIntent)
* @see SmsManager#sendTextMessage(String, String, String, PendingIntent, PendingIntent)
*/
public void sendVisualVoicemailSms(String number, int port, String text,
PendingIntent sentIntent) {
sendVisualVoicemailSmsForSubscriber(mSubId, number, port, text, sentIntent);
}
/** /**
* Enables the visual voicemail SMS filter for a phone account. When the filter is * Enables the visual voicemail SMS filter for a phone account. When the filter is
* enabled, Incoming SMS messages matching the OMTP VVM SMS interface will be redirected to the * enabled, Incoming SMS messages matching the OMTP VVM SMS interface will be redirected to the

View File

@@ -18,6 +18,7 @@ package android.telephony;
import android.annotation.MainThread; import android.annotation.MainThread;
import android.annotation.SdkConstant; import android.annotation.SdkConstant;
import android.annotation.SystemApi;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.app.Service; import android.app.Service;
import android.content.Context; import android.content.Context;
@@ -199,7 +200,8 @@ public abstract class VisualVoicemailService extends Service {
/** /**
* Called when a SMS matching the {@link VisualVoicemailSmsFilterSettings} set by * Called when a SMS matching the {@link VisualVoicemailSmsFilterSettings} set by
* {@link #setSmsFilterSettings(Context, PhoneAccountHandle, VisualVoicemailSmsFilterSettings)} * {@link TelephonyManager#setVisualVoicemailSmsFilterSettings(VisualVoicemailSmsFilterSettings)
* }
* is received. * is received.
* *
* @param task The task representing this event. {@link VisualVoicemailTask#finish()} must be * @param task The task representing this event. {@link VisualVoicemailTask#finish()} must be
@@ -240,8 +242,11 @@ public abstract class VisualVoicemailService extends Service {
* *
* @param phoneAccountHandle The account to apply the settings to. * @param phoneAccountHandle The account to apply the settings to.
* @param settings The settings for the filter, or {@code null} to disable the filter. * @param settings The settings for the filter, or {@code null} to disable the filter.
*
* @hide
*/ */
public final static void setSmsFilterSettings(Context context, @SystemApi
public static final void setSmsFilterSettings(Context context,
PhoneAccountHandle phoneAccountHandle, PhoneAccountHandle phoneAccountHandle,
VisualVoicemailSmsFilterSettings settings) { VisualVoicemailSmsFilterSettings settings) {
TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class); TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
@@ -269,8 +274,11 @@ public abstract class VisualVoicemailService extends Service {
* *
* @see SmsManager#sendDataMessage(String, String, short, byte[], PendingIntent, PendingIntent) * @see SmsManager#sendDataMessage(String, String, short, byte[], PendingIntent, PendingIntent)
* @see SmsManager#sendTextMessage(String, String, String, PendingIntent, PendingIntent) * @see SmsManager#sendTextMessage(String, String, String, PendingIntent, PendingIntent)
*
* @hide
*/ */
public final static void sendVisualVoicemailSms(Context context, @SystemApi
public static final void sendVisualVoicemailSms(Context context,
PhoneAccountHandle phoneAccountHandle, String number, PhoneAccountHandle phoneAccountHandle, String number,
short port, String text, PendingIntent sentIntent) { short port, String text, PendingIntent sentIntent) {
TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class); TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);

View File

@@ -38,7 +38,7 @@ import java.util.List;
* <p>Use {@link android.telephony.VisualVoicemailSmsFilterSettings.Builder} to construct this * <p>Use {@link android.telephony.VisualVoicemailSmsFilterSettings.Builder} to construct this
* class. * class.
* *
* @see VisualVoicemailService#setSmsFilterSettings(Context, PhoneAccountHandle, VisualVoicemailSmsFilterSettings) * @see TelephonyManager#setVisualVoicemailSmsFilterSettings(VisualVoicemailSmsFilterSettings)
*/ */
public final class VisualVoicemailSmsFilterSettings implements Parcelable { public final class VisualVoicemailSmsFilterSettings implements Parcelable {