diff options
Diffstat (limited to 'telephony/java')
11 files changed, 208 insertions, 19 deletions
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index e9c41a1..3054422 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -259,6 +259,14 @@ public class CarrierConfigManager { = "carrier_allow_turnoff_ims_bool"; /** + * Flag specifying whether IMS instant lettering is available for the carrier. {@code True} if + * instant lettering is available for the carrier, {@code false} otherwise. + * @hide + */ + public static final String KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL = + "carrier_instant_lettering_available_bool"; + + /** * If Voice Radio Technology is RIL_RADIO_TECHNOLOGY_LTE:14 or RIL_RADIO_TECHNOLOGY_UNKNOWN:0 * this is the value that should be used instead. A configuration value of * RIL_RADIO_TECHNOLOGY_UNKNOWN:0 means there is no replacement value and that the default @@ -334,6 +342,14 @@ public class CarrierConfigManager { "ci_action_on_sys_update_extra_val_string"; /** + * Specifies the amount of gap to be added in millis between DTMF tones. When a non-zero value + * is specified, the UE shall wait for the specified amount of time before it sends out + * successive DTMF tones on the network. + * @hide + */ + public static final String KEY_IMS_DTMF_TONE_DELAY_INT = "ims_dtmf_tone_delay_int"; + + /** * If this is true, the SIM card (through Customer Service Profile EF file) will be able to * prevent manual operator selection. If false, this SIM setting will be ignored and manual * operator selection will always be available. See CPHS4_2.WW6, CPHS B.4.7.1 for more @@ -393,6 +409,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, false); sDefaults.putBoolean(KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL, true); sDefaults.putBoolean(KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL, true); + sDefaults.putBoolean(KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL, false); sDefaults.putBoolean(KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL, false); sDefaults.putBoolean(KEY_DTMF_TYPE_ENABLED_BOOL, false); sDefaults.putBoolean(KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL, true); @@ -430,6 +447,7 @@ public class CarrierConfigManager { sDefaults.putStringArray(KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY, null); sDefaults.putStringArray(KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY, null); sDefaults.putBoolean(KEY_FORCE_HOME_NETWORK_BOOL, false); + sDefaults.putInt(KEY_IMS_DTMF_TONE_DELAY_INT, 0); // MMS defaults sDefaults.putBoolean(KEY_MMS_ALIAS_ENABLED_BOOL, false); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 2415165..88612e9 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -4352,13 +4352,13 @@ public class TelephonyManager { } } - /** - * Returns the Status of Volte - *@hide - */ - public boolean isVolteEnabled() { + /** + * Returns the Status of Volte + * @hide + */ + public boolean isVolteAvailable() { try { - return getITelephony().isVolteEnabled(); + return getITelephony().isVolteAvailable(); } catch (RemoteException ex) { return false; } catch (NullPointerException ex) { @@ -4366,13 +4366,27 @@ public class TelephonyManager { } } - /** - * Returns the Status of Wi-Fi Calling - *@hide - */ - public boolean isWifiCallingEnabled() { + /** + * Returns the Status of video telephony (VT) + * @hide + */ + public boolean isVideoTelephonyAvailable() { + try { + return getITelephony().isVideoTelephonyAvailable(); + } catch (RemoteException ex) { + return false; + } catch (NullPointerException ex) { + return false; + } + } + + /** + * Returns the Status of Wi-Fi Calling + * @hide + */ + public boolean isWifiCallingAvailable() { try { - return getITelephony().isWifiCallingEnabled(); + return getITelephony().isWifiCallingAvailable(); } catch (RemoteException ex) { return false; } catch (NullPointerException ex) { diff --git a/telephony/java/com/android/ims/ImsCallProfile.java b/telephony/java/com/android/ims/ImsCallProfile.java index 2c4354b..f263b4d 100644 --- a/telephony/java/com/android/ims/ImsCallProfile.java +++ b/telephony/java/com/android/ims/ImsCallProfile.java @@ -174,11 +174,19 @@ public class ImsCallProfile implements Parcelable { * cna : Calling name * ussd : For network-initiated USSD, MT only * remote_uri : Connected user identity (it can be used for the conference) + * ChildNum: Child number info. + * Codec: Codec info. + * DisplayText: Display text for the call. + * AdditionalCallInfo: Additional call info. */ public static final String EXTRA_OI = "oi"; public static final String EXTRA_CNA = "cna"; public static final String EXTRA_USSD = "ussd"; public static final String EXTRA_REMOTE_URI = "remote_uri"; + public static final String EXTRA_CHILD_NUMBER = "ChildNum"; + public static final String EXTRA_CODEC = "Codec"; + public static final String EXTRA_DISPLAY_TEXT = "DisplayText"; + public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo"; public int mServiceType; public int mCallType; diff --git a/telephony/java/com/android/ims/ImsReasonInfo.java b/telephony/java/com/android/ims/ImsReasonInfo.java index 9628915..2769a2b 100644 --- a/telephony/java/com/android/ims/ImsReasonInfo.java +++ b/telephony/java/com/android/ims/ImsReasonInfo.java @@ -99,6 +99,9 @@ public class ImsReasonInfo implements Parcelable { // MT : No action from user after alerting the call public static final int CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE = 203; + //Call failures for FDN + public static final int CODE_FDN_BLOCKED = 241; + /** * STATUSCODE (SIP response code) (IMS -> Telephony) */ @@ -227,6 +230,12 @@ public class ImsReasonInfo implements Parcelable { public static final int CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE = 1100; /** + * MT call has ended due to a release from the network + * because the call was answered elsewhere + */ + public static final int CODE_ANSWERED_ELSEWHERE = 1014; + + /** * Network string error messages. * mExtraMessage may have these values. */ diff --git a/telephony/java/com/android/ims/ImsSsInfo.java b/telephony/java/com/android/ims/ImsSsInfo.java index dbde1c6..7acc3bf 100644 --- a/telephony/java/com/android/ims/ImsSsInfo.java +++ b/telephony/java/com/android/ims/ImsSsInfo.java @@ -34,6 +34,7 @@ public class ImsSsInfo implements Parcelable { // 0: disabled, 1: enabled public int mStatus; + public String mIcbNum; public ImsSsInfo() { } @@ -50,6 +51,7 @@ public class ImsSsInfo implements Parcelable { @Override public void writeToParcel(Parcel out, int flags) { out.writeInt(mStatus); + out.writeString(mIcbNum); } @Override @@ -59,6 +61,7 @@ public class ImsSsInfo implements Parcelable { private void readFromParcel(Parcel in) { mStatus = in.readInt(); + mIcbNum = in.readString(); } public static final Creator<ImsSsInfo> CREATOR = diff --git a/telephony/java/com/android/ims/ImsSuppServiceNotification.aidl b/telephony/java/com/android/ims/ImsSuppServiceNotification.aidl new file mode 100644 index 0000000..6b4479f --- /dev/null +++ b/telephony/java/com/android/ims/ImsSuppServiceNotification.aidl @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2015 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 com.android.ims; + +parcelable ImsSuppServiceNotification; diff --git a/telephony/java/com/android/ims/ImsSuppServiceNotification.java b/telephony/java/com/android/ims/ImsSuppServiceNotification.java new file mode 100644 index 0000000..faf7499 --- /dev/null +++ b/telephony/java/com/android/ims/ImsSuppServiceNotification.java @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2015 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 com.android.ims; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.util.Arrays; + + +/** + * Parcelable object to handle IMS supplementary service notifications. + * + * @hide + */ +public class ImsSuppServiceNotification implements Parcelable { + private static final String TAG = "ImsSuppServiceNotification"; + + /** Type of notification: 0 = MO; 1 = MT */ + public int notificationType; + /** TS 27.007 7.17 "code1" or "code2" */ + public int code; + /** TS 27.007 7.17 "index" - Not used currently*/ + public int index; + /** TS 27.007 7.17 "type" (MT only) - Not used currently */ + public int type; + /** TS 27.007 7.17 "number" (MT only) */ + public String number; + /** List of forwarded numbers, if any */ + public String[] history; + + public ImsSuppServiceNotification() { + } + + public ImsSuppServiceNotification(Parcel in) { + readFromParcel(in); + } + + @Override + public String toString() { + return "{ notificationType=" + notificationType + + ", code=" + code + + ", index=" + index + + ", type=" + type + + ", number=" + number + + ", history=" + Arrays.toString(history) + + " }"; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + out.writeInt(notificationType); + out.writeInt(code); + out.writeInt(index); + out.writeInt(type); + out.writeString(number); + out.writeStringArray(history); + } + + private void readFromParcel(Parcel in) { + notificationType = in.readInt(); + code = in.readInt(); + index = in.readInt(); + type = in.readInt(); + number = in.readString(); + history = in.createStringArray(); + } + + public static final Creator<ImsSuppServiceNotification> CREATOR = + new Creator<ImsSuppServiceNotification>() { + @Override + public ImsSuppServiceNotification createFromParcel(Parcel in) { + return new ImsSuppServiceNotification(in); + } + + @Override + public ImsSuppServiceNotification[] newArray(int size) { + return new ImsSuppServiceNotification[size]; + } + }; +} diff --git a/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl b/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl index 0443c3e..d562ecc 100644 --- a/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl +++ b/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl @@ -21,6 +21,7 @@ import com.android.ims.ImsCallProfile; import com.android.ims.ImsReasonInfo; import com.android.ims.ImsConferenceState; import com.android.ims.internal.IImsCallSession; +import com.android.ims.ImsSuppServiceNotification; /** * A listener type for receiving notification on IMS call session events. @@ -123,4 +124,10 @@ interface IImsCallSessionListener { * @param isMultiParty {@code true} if the session became multiparty, {@code false} otherwise. */ void callSessionMultipartyStateChanged(in IImsCallSession session, in boolean isMultiParty); + + /** + * Notifies the supplementary service information for the current session. + */ + void callSessionSuppServiceReceived(in IImsCallSession session, + in ImsSuppServiceNotification suppSrvNotification); } diff --git a/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl b/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl index c910600..a6a2658 100644 --- a/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl +++ b/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl @@ -72,4 +72,10 @@ interface IImsRegistrationListener { */ void registrationFeatureCapabilityChanged(int serviceClass, out int[] enabledFeatures, out int[] disabledFeatures); + + /** + * Updates the application with the waiting voice message count. + * @param count The number of waiting voice messages. + */ + void voiceMessageCountUpdate(int count); } diff --git a/telephony/java/com/android/ims/internal/IImsUt.aidl b/telephony/java/com/android/ims/internal/IImsUt.aidl index c531ea5..4ab5ee3 100644 --- a/telephony/java/com/android/ims/internal/IImsUt.aidl +++ b/telephony/java/com/android/ims/internal/IImsUt.aidl @@ -74,7 +74,7 @@ interface IImsUt { /** * Updates the configuration of the call barring. */ - int updateCallBarring(int cbType, boolean enable, in String[] barrList); + int updateCallBarring(int cbType, int action, in String[] barrList); /** * Updates the configuration of the call forward. diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index a93e465..661f12d 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -951,6 +951,7 @@ interface ITelephony { * @return {@code true} if the device supports hearing aid compatibility. */ boolean isHearingAidCompatibilitySupported(); + /** * Get IMS Registration Status */ @@ -958,15 +959,18 @@ interface ITelephony { /** * Returns the Status of Wi-Fi Calling - *@hide */ - boolean isWifiCallingEnabled(); + boolean isWifiCallingAvailable(); + + /** + * Returns the Status of Volte + */ + boolean isVolteAvailable(); /** - * Returns the Status of Volte - *@hide + * Returns the Status of VT (video telephony) */ - boolean isVolteEnabled(); + boolean isVideoTelephonyAvailable(); /** * Returns the unique device ID of phone, for example, the IMEI for @@ -995,7 +999,6 @@ interface ITelephony { /** * Return the modem activity info. - *@hide */ ModemActivityInfo getModemActivityInfo(); } |