Loading api/current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -38226,6 +38226,7 @@ package android.telephony { method public boolean isWorldPhone(); method public void listen(android.telephony.PhoneStateListener, int); 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 setDataEnabled(boolean); method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String); method public boolean setOperatorBrandOverride(java.lang.String); Loading Loading @@ -38300,6 +38301,12 @@ package android.telephony { 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); } } package android.telephony.cdma { api/system-current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -41451,6 +41451,7 @@ package android.telephony { method public void listen(android.telephony.PhoneStateListener, int); method public boolean needsOtaServiceProvisioning(); 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 int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>); method public void setDataEnabled(boolean); method public void setDataEnabled(int, boolean); Loading Loading @@ -41546,6 +41547,12 @@ package android.telephony { 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); } } package android.telephony.cdma { api/test-current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -38325,6 +38325,7 @@ package android.telephony { method public boolean isWorldPhone(); method public void listen(android.telephony.PhoneStateListener, int); 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 setDataEnabled(boolean); method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String); method public boolean setOperatorBrandOverride(java.lang.String); Loading Loading @@ -38399,6 +38400,12 @@ package android.telephony { 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); } } package android.telephony.cdma { telephony/java/android/telephony/TelephonyManager.java +78 −1 Original line number Diff line number Diff line Loading @@ -16,8 +16,11 @@ package android.telephony; import static com.android.internal.util.Preconditions.checkNotNull; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; Loading @@ -28,12 +31,13 @@ import android.content.Intent; import android.net.ConnectivityManager; import android.net.Uri; import android.os.BatteryStats; import android.os.ResultReceiver; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.os.Bundle; import android.os.Handler; import android.os.PersistableBundle; import android.os.RemoteException; import android.os.ResultReceiver; import android.os.ServiceManager; import android.os.SystemProperties; import android.service.carrier.CarrierIdentifier; Loading Loading @@ -838,6 +842,29 @@ public class TelephonyManager { */ public static final String VVM_TYPE_CVVM = "vvm_type_cvvm"; /** * @hide */ public static final String USSD_RESPONSE = "USSD_RESPONSE"; /** * 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; // // // Device Info Loading Loading @@ -4965,6 +4992,56 @@ public class TelephonyManager { return new int[0]; } public static abstract class OnReceiveUssdResponseCallback { /** ** Called when USSD has succeeded. **/ public void onReceiveUssdResponse(String request, CharSequence response) {}; /** ** Called when USSD has failed. **/ public void onReceiveUssdResponseFailed(String request, int failureCode) {}; } /* <p>Requires permission: * @link android.Manifest.permission#CALL_PHONE} */ @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String ussdRequest, final OnReceiveUssdResponseCallback callback, Handler handler) { checkNotNull(callback, "OnReceiveUssdResponseCallback cannot be null."); ResultReceiver wrappedCallback = new ResultReceiver(handler) { @Override protected void onReceiveResult(int resultCode, Bundle ussdResponse) { Rlog.d(TAG, "USSD:" + resultCode); checkNotNull(ussdResponse, "ussdResponse cannot be null."); UssdResponse response = ussdResponse.getParcelable(USSD_RESPONSE); if (resultCode == USSD_RETURN_SUCCESS) { callback.onReceiveUssdResponse(response.getUssdRequest(), response.getReturnMessage()); } else { callback.onReceiveUssdResponseFailed(response.getUssdRequest(), resultCode); } } }; try { ITelephony telephony = getITelephony(); if (telephony != null) { telephony.handleUssdRequest(ussdRequest, wrappedCallback); } } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#sendUSSDCode", e); UssdResponse response = new UssdResponse(ussdRequest, ""); Bundle returnData = new Bundle(); returnData.putParcelable(USSD_RESPONSE, response); wrappedCallback.send(USSD_ERROR_SERVICE_UNAVAIL, returnData); } } /** @hide */ @SystemApi public boolean handlePinMmi(String dialString) { Loading telephony/java/android/telephony/UssdResponse.aidl 0 → 100644 +20 −0 Original line number Diff line number Diff line /* ** ** Copyright 2007, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ package android.telephony; parcelable UssdResponse; Loading
api/current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -38226,6 +38226,7 @@ package android.telephony { method public boolean isWorldPhone(); method public void listen(android.telephony.PhoneStateListener, int); 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 setDataEnabled(boolean); method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String); method public boolean setOperatorBrandOverride(java.lang.String); Loading Loading @@ -38300,6 +38301,12 @@ package android.telephony { 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); } } package android.telephony.cdma {
api/system-current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -41451,6 +41451,7 @@ package android.telephony { method public void listen(android.telephony.PhoneStateListener, int); method public boolean needsOtaServiceProvisioning(); 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 int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>); method public void setDataEnabled(boolean); method public void setDataEnabled(int, boolean); Loading Loading @@ -41546,6 +41547,12 @@ package android.telephony { 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); } } package android.telephony.cdma {
api/test-current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -38325,6 +38325,7 @@ package android.telephony { method public boolean isWorldPhone(); method public void listen(android.telephony.PhoneStateListener, int); 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 setDataEnabled(boolean); method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String); method public boolean setOperatorBrandOverride(java.lang.String); Loading Loading @@ -38399,6 +38400,12 @@ package android.telephony { 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); } } package android.telephony.cdma {
telephony/java/android/telephony/TelephonyManager.java +78 −1 Original line number Diff line number Diff line Loading @@ -16,8 +16,11 @@ package android.telephony; import static com.android.internal.util.Preconditions.checkNotNull; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; Loading @@ -28,12 +31,13 @@ import android.content.Intent; import android.net.ConnectivityManager; import android.net.Uri; import android.os.BatteryStats; import android.os.ResultReceiver; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.os.Bundle; import android.os.Handler; import android.os.PersistableBundle; import android.os.RemoteException; import android.os.ResultReceiver; import android.os.ServiceManager; import android.os.SystemProperties; import android.service.carrier.CarrierIdentifier; Loading Loading @@ -838,6 +842,29 @@ public class TelephonyManager { */ public static final String VVM_TYPE_CVVM = "vvm_type_cvvm"; /** * @hide */ public static final String USSD_RESPONSE = "USSD_RESPONSE"; /** * 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; // // // Device Info Loading Loading @@ -4965,6 +4992,56 @@ public class TelephonyManager { return new int[0]; } public static abstract class OnReceiveUssdResponseCallback { /** ** Called when USSD has succeeded. **/ public void onReceiveUssdResponse(String request, CharSequence response) {}; /** ** Called when USSD has failed. **/ public void onReceiveUssdResponseFailed(String request, int failureCode) {}; } /* <p>Requires permission: * @link android.Manifest.permission#CALL_PHONE} */ @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String ussdRequest, final OnReceiveUssdResponseCallback callback, Handler handler) { checkNotNull(callback, "OnReceiveUssdResponseCallback cannot be null."); ResultReceiver wrappedCallback = new ResultReceiver(handler) { @Override protected void onReceiveResult(int resultCode, Bundle ussdResponse) { Rlog.d(TAG, "USSD:" + resultCode); checkNotNull(ussdResponse, "ussdResponse cannot be null."); UssdResponse response = ussdResponse.getParcelable(USSD_RESPONSE); if (resultCode == USSD_RETURN_SUCCESS) { callback.onReceiveUssdResponse(response.getUssdRequest(), response.getReturnMessage()); } else { callback.onReceiveUssdResponseFailed(response.getUssdRequest(), resultCode); } } }; try { ITelephony telephony = getITelephony(); if (telephony != null) { telephony.handleUssdRequest(ussdRequest, wrappedCallback); } } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#sendUSSDCode", e); UssdResponse response = new UssdResponse(ussdRequest, ""); Bundle returnData = new Bundle(); returnData.putParcelable(USSD_RESPONSE, response); wrappedCallback.send(USSD_ERROR_SERVICE_UNAVAIL, returnData); } } /** @hide */ @SystemApi public boolean handlePinMmi(String dialString) { Loading
telephony/java/android/telephony/UssdResponse.aidl 0 → 100644 +20 −0 Original line number Diff line number Diff line /* ** ** Copyright 2007, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ package android.telephony; parcelable UssdResponse;