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

Commit 37bbb789 authored by Pankaj Kanwar's avatar Pankaj Kanwar Committed by Android (Google) Code Review
Browse files

Merge "Address API concerns for isConcurrentVoiceAndDataAllowed and...

Merge "Address API concerns for isConcurrentVoiceAndDataAllowed and OnReceiveUssdResponseCallback." into oc-dev
parents 78e8ac9c 95941f7c
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -40007,7 +40007,7 @@ package android.telephony {
    method public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(java.lang.String);
    method public java.lang.String iccTransmitApduBasicChannel(int, int, int, int, int, java.lang.String);
    method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, java.lang.String);
    method public boolean isConcurrentVoiceAndDataAllowed();
    method public boolean isConcurrentVoiceAndDataSupported();
    method public boolean isDataEnabled();
    method public boolean isHearingAidCompatibilitySupported();
    method public boolean isNetworkRoaming();
@@ -40020,7 +40020,7 @@ package android.telephony {
    method public deprecated boolean sendDialerCode(java.lang.String);
    method public void sendDialerSpecialCode(java.lang.String);
    method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
    method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.OnReceiveUssdResponseCallback, android.os.Handler);
    method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
    method public void setDataEnabled(boolean);
    method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
    method public boolean setOperatorBrandOverride(java.lang.String);
@@ -40096,14 +40096,17 @@ package android.telephony {
    field public static final int SIM_STATE_PUK_REQUIRED = 3; // 0x3
    field public static final int SIM_STATE_READY = 5; // 0x5
    field public static final int SIM_STATE_UNKNOWN = 0; // 0x0
    field public static final int USSD_ERROR_SERVICE_UNAVAIL = -2; // 0xfffffffe
    field public static final int USSD_RETURN_FAILURE = -1; // 0xffffffff
    field public static final int USSD_RETURN_SUCCESS = 100; // 0x64
    field public static final java.lang.String VVM_TYPE_CVVM = "vvm_type_cvvm";
    field public static final java.lang.String VVM_TYPE_OMTP = "vvm_type_omtp";
  }
  public static abstract class TelephonyManager.OnReceiveUssdResponseCallback {
    ctor public TelephonyManager.OnReceiveUssdResponseCallback();
    method public void onReceiveUssdResponse(java.lang.String, java.lang.CharSequence);
    method public void onReceiveUssdResponseFailed(java.lang.String, int);
  public static abstract class TelephonyManager.UssdResponseCallback {
    ctor public TelephonyManager.UssdResponseCallback();
    method public void onReceiveUssdResponse(android.telephony.TelephonyManager, java.lang.String, java.lang.CharSequence);
    method public void onReceiveUssdResponseFailed(android.telephony.TelephonyManager, java.lang.String, int);
  }
  public abstract class VisualVoicemailService extends android.app.Service {
+9 −6
Original line number Diff line number Diff line
@@ -43409,7 +43409,7 @@ package android.telephony {
    method public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(java.lang.String);
    method public java.lang.String iccTransmitApduBasicChannel(int, int, int, int, int, java.lang.String);
    method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, java.lang.String);
    method public boolean isConcurrentVoiceAndDataAllowed();
    method public boolean isConcurrentVoiceAndDataSupported();
    method public boolean isDataConnectivityPossible();
    method public boolean isDataEnabled();
    method public boolean isHearingAidCompatibilitySupported();
@@ -43430,7 +43430,7 @@ package android.telephony {
    method public deprecated boolean sendDialerCode(java.lang.String);
    method public void sendDialerSpecialCode(java.lang.String);
    method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
    method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.OnReceiveUssdResponseCallback, android.os.Handler);
    method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
    method public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
    method public void setDataEnabled(boolean);
    method public void setDataEnabled(int, boolean);
@@ -43522,14 +43522,17 @@ package android.telephony {
    field public static final int SIM_STATE_PUK_REQUIRED = 3; // 0x3
    field public static final int SIM_STATE_READY = 5; // 0x5
    field public static final int SIM_STATE_UNKNOWN = 0; // 0x0
    field public static final int USSD_ERROR_SERVICE_UNAVAIL = -2; // 0xfffffffe
    field public static final int USSD_RETURN_FAILURE = -1; // 0xffffffff
    field public static final int USSD_RETURN_SUCCESS = 100; // 0x64
    field public static final java.lang.String VVM_TYPE_CVVM = "vvm_type_cvvm";
    field public static final java.lang.String VVM_TYPE_OMTP = "vvm_type_omtp";
  }
  public static abstract class TelephonyManager.OnReceiveUssdResponseCallback {
    ctor public TelephonyManager.OnReceiveUssdResponseCallback();
    method public void onReceiveUssdResponse(java.lang.String, java.lang.CharSequence);
    method public void onReceiveUssdResponseFailed(java.lang.String, int);
  public static abstract class TelephonyManager.UssdResponseCallback {
    ctor public TelephonyManager.UssdResponseCallback();
    method public void onReceiveUssdResponse(android.telephony.TelephonyManager, java.lang.String, java.lang.CharSequence);
    method public void onReceiveUssdResponseFailed(android.telephony.TelephonyManager, java.lang.String, int);
  }
  public abstract class VisualVoicemailService extends android.app.Service {
+9 −6
Original line number Diff line number Diff line
@@ -40211,7 +40211,7 @@ package android.telephony {
    method public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(java.lang.String);
    method public java.lang.String iccTransmitApduBasicChannel(int, int, int, int, int, java.lang.String);
    method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, java.lang.String);
    method public boolean isConcurrentVoiceAndDataAllowed();
    method public boolean isConcurrentVoiceAndDataSupported();
    method public boolean isDataEnabled();
    method public boolean isHearingAidCompatibilitySupported();
    method public boolean isNetworkRoaming();
@@ -40224,7 +40224,7 @@ package android.telephony {
    method public deprecated boolean sendDialerCode(java.lang.String);
    method public void sendDialerSpecialCode(java.lang.String);
    method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
    method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.OnReceiveUssdResponseCallback, android.os.Handler);
    method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
    method public void setDataEnabled(boolean);
    method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
    method public boolean setOperatorBrandOverride(java.lang.String);
@@ -40300,14 +40300,17 @@ package android.telephony {
    field public static final int SIM_STATE_PUK_REQUIRED = 3; // 0x3
    field public static final int SIM_STATE_READY = 5; // 0x5
    field public static final int SIM_STATE_UNKNOWN = 0; // 0x0
    field public static final int USSD_ERROR_SERVICE_UNAVAIL = -2; // 0xfffffffe
    field public static final int USSD_RETURN_FAILURE = -1; // 0xffffffff
    field public static final int USSD_RETURN_SUCCESS = 100; // 0x64
    field public static final java.lang.String VVM_TYPE_CVVM = "vvm_type_cvvm";
    field public static final java.lang.String VVM_TYPE_OMTP = "vvm_type_omtp";
  }
  public static abstract class TelephonyManager.OnReceiveUssdResponseCallback {
    ctor public TelephonyManager.OnReceiveUssdResponseCallback();
    method public void onReceiveUssdResponse(java.lang.String, java.lang.CharSequence);
    method public void onReceiveUssdResponseFailed(java.lang.String, int);
  public static abstract class TelephonyManager.UssdResponseCallback {
    ctor public TelephonyManager.UssdResponseCallback();
    method public void onReceiveUssdResponse(android.telephony.TelephonyManager, java.lang.String, java.lang.CharSequence);
    method public void onReceiveUssdResponseFailed(android.telephony.TelephonyManager, java.lang.String, int);
  }
  public abstract class VisualVoicemailService extends android.app.Service {
+35 −18
Original line number Diff line number Diff line
@@ -877,19 +877,16 @@ public class TelephonyManager {

    /**
     * USSD return code success.
     * @hide
     */
    public static final int USSD_RETURN_SUCCESS = 100;

    /**
     * USSD return code for failure case.
     * @hide
     */
    public static final int USSD_RETURN_FAILURE = -1;

    /**
     * USSD return code for failure case.
     * @hide
     */
    public static final int USSD_ERROR_SERVICE_UNAVAIL = -2;

@@ -5113,16 +5110,32 @@ public class TelephonyManager {
        return new int[0];
    }

    public static abstract class OnReceiveUssdResponseCallback {
    /* The caller of {@link #sendUssdRequest(String, UssdResponseCallback, Handler} provides
     * once the network returns a USSD message or if there is failure.
     * Either {@link #onReceiveUssdResponse(TelephonyManager, String, CharSequence} or
     * {@link #onReceiveUssdResponseFailed(TelephonyManager, String, int} will be called.
     */
    public static abstract class UssdResponseCallback {
       /**
        ** Called when USSD has succeeded.
        * Called when USSD has succeeded. The calling app can choose to either display the message
        * or interpret the message.
        * @param telephonyManager the TelephonyManager the callback is registered to.
        * @param request the ussd code sent to the network.
        * @param response the response from the network.
        **/
       public void onReceiveUssdResponse(String request, CharSequence response) {};
       public void onReceiveUssdResponse(final TelephonyManager telephonyManager,
                                         String request, CharSequence response) {};

       /**
        ** Called when USSD has failed.
        * Called when USSD has failed.
        * @param telephonyManager the TelephonyManager the callback is registered to
        * @param request the ussd code.
        * @param failureCode failure code, should be either of
        *        {@link TelephonyManager#USSD_RETURN_FAILURE} or
        *        {@link TelephonyManager#USSD_ERROR_SERVICE_UNAVAIL}.
        **/
       public void onReceiveUssdResponseFailed(String request, int failureCode) {};
       public void onReceiveUssdResponseFailed(final TelephonyManager telephonyManager,
                                               String request, int failureCode) {};
    }

    /**
@@ -5134,13 +5147,14 @@ public class TelephonyManager {
     * {@link android.Manifest.permission#CALL_PHONE}
     * @param ussdRequest the USSD command to be executed.
     * @param callback called by the framework to inform the caller of the result of executing the
     *                 USSD request (see {@link OnReceiveUssdResponseCallback}).
     *                 USSD request (see {@link UssdResponseCallback}).
     * @param handler the {@link Handler} to run the request on.
     */
    @RequiresPermission(android.Manifest.permission.CALL_PHONE)
    public void sendUssdRequest(String ussdRequest,
                                final OnReceiveUssdResponseCallback callback, Handler handler) {
        checkNotNull(callback, "OnReceiveUssdResponseCallback cannot be null.");
                                final UssdResponseCallback callback, Handler handler) {
        checkNotNull(callback, "UssdResponseCallback cannot be null.");
        final TelephonyManager telephonyManager = this;

        ResultReceiver wrappedCallback = new ResultReceiver(handler) {
            @Override
@@ -5150,10 +5164,11 @@ public class TelephonyManager {
                UssdResponse response = ussdResponse.getParcelable(USSD_RESPONSE);

                if (resultCode == USSD_RETURN_SUCCESS) {
                    callback.onReceiveUssdResponse(response.getUssdRequest(),
                    callback.onReceiveUssdResponse(telephonyManager, response.getUssdRequest(),
                            response.getReturnMessage());
                } else {
                    callback.onReceiveUssdResponseFailed(response.getUssdRequest(), resultCode);
                    callback.onReceiveUssdResponseFailed(telephonyManager,
                            response.getUssdRequest(), resultCode);
                }
            }
        };
@@ -5172,11 +5187,13 @@ public class TelephonyManager {
        }
    }

   /*
    * @return true, if the device is currently on a technology (e.g. UMTS or LTE) which can support
    /**
     * Whether the device is currently on a technology (e.g. UMTS or LTE) which can support
     * voice and data simultaneously. This can change based on location or network condition.
     *
     * @return {@code true} if simultaneous voice and data supported, and {@code false} otherwise.
     */
    public boolean isConcurrentVoiceAndDataAllowed() {
    public boolean isConcurrentVoiceAndDataSupported() {
        try {
            ITelephony telephony = getITelephony();
            return (telephony == null ? false : telephony.isConcurrentVoiceAndDataAllowed(mSubId));